Merge pull request #191 from AnonymousHybi/master

Unprofessional bugfixes!
This commit is contained in:
AnonymousHybi
2018-10-23 08:37:09 +01:00
committed by GitHub
17 changed files with 218 additions and 63 deletions
+1 -1
View File
@@ -153,7 +153,7 @@
usr << browse(out, "window=edit_memory[src]")
/datum/mind/Topic(href, href_list)
if(!check_rights(R_ADMIN||R_EVENT)) return
if(!check_rights(R_ADMIN||R_EVENT||R_MOD)) return
if(href_list["add_antagonist"])
var/datum/antagonist/antag = all_antag_types[href_list["add_antagonist"]]
+1 -1
View File
@@ -6,4 +6,4 @@
cost = 35
containertype = /obj/structure/closet/crate/secure
containername = "frontier phaser crate"
access = access_explorer
access = access_explorer
+4 -1
View File
@@ -70,6 +70,8 @@
/obj/item/weapon/tank/oxygen = 3
)
// Removing due to it being for southern_cross
/*
/datum/supply_packs/voidsuits/explorer
name = "Exploration voidsuits"
contains = list(
@@ -96,4 +98,5 @@
cost = 20
containertype = "/obj/structure/closet/crate/secure"
containername = "Pilot voidsuit crate"
access = access_pilot
access = access_pilot
*/
+15 -9
View File
@@ -11,21 +11,27 @@ The "dust" will damage the hull of the station causin minor hull breaches.
var/numbers = 1
switch(strength)
if("weak")
numbers = rand(2,4)
for(var/i = 0 to numbers)
new/obj/effect/space_dust/weak()
numbers = rand(1,4)
// for(var/i = 0 to numbers)
// new/obj/effect/space_dust/weak()
if("norm")
numbers = rand(5,10)
for(var/i = 0 to numbers)
new/obj/effect/space_dust()
// for(var/i = 0 to numbers)
// new/obj/effect/space_dust()
if("strong")
numbers = rand(10,15)
for(var/i = 0 to numbers)
new/obj/effect/space_dust/strong()
// for(var/i = 0 to numbers)
// new/obj/effect/space_dust/strong()
if("super")
numbers = rand(15,25)
for(var/i = 0 to numbers)
new/obj/effect/space_dust/super()
// for(var/i = 0 to numbers)
// new/obj/effect/space_dust/super()
// Instead of calling retardedly stupidly powerful meteors,
// just bombard the ship with little pellets at a drastically huge number.
// Along with the fact that shields can BLOCK THE DUST!!! - Jon
spawn_meteors(numbers, meteors_dust)
return
+56 -2
View File
@@ -1,14 +1,30 @@
/proc/wormhole_event()
/proc/wormhole_event(var/wormholeAmount = 600, var/event_duration = 3000)
spawn()
// Begone you disgusting fucking piece of garbage - Jon
/*
var/list/pick_turfs = list()
for(var/turf/simulated/floor/T in turfs)
if(T.z in using_map.station_levels)
pick_turfs += T
*/
if(pick_turfs.len)
//All ready. Announce that bad juju is afoot.
command_announcement.Announce("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert", new_sound = 'sound/AI/spanomalies.ogg')
var/end_time = world.time + event_duration
var/list/wormholes = list()
// Unfortunately, this code is shit. I will not explain why but I'll give one reason. While(1)
// I dont want to explain why I think that that fucking line is retarded. I think it's self
// explanatory, I can write for over 2000 words explaining why no programmer should EVER do that
// unless they want to lag the game intentionally like a douchebag. Remember this proc is being
// called on WORLD. MEANING, IF YOU MAKE WORLD SLEEP. YOU MAKE THE SERVER SLEEP YOU DINGUS.
// OH MY GOD WHO THE FUCK WOULD EVEN THINK OF THIS!!!
//
// - Jon, better code below this.
/*
//prob(20) can be approximated to 1 wormhole every 5 turfs!
//admittedly less random but totally worth it >_<
var/event_duration = 3000 //~5 minutes in ticks
@@ -47,6 +63,16 @@
create_wormhole(enter,exit)
sleep(sleep_duration) //have a well deserved nap!
*/
// Now that we made the announcement, might as well get the wormholes spawning!
for(var/i in 0 to wormholeAmount) // For every 0 to wormhole amount.
var/turf/T = pick(pick_turfs) //Pick random turfs from the list we made earlier.
wormholes += new /obj/effect/portal/worm(T, null, null, 1)// Spawn the wormhole, ITS THAT EASY?!?!
while(wormholes.len > 0)
if(end_time < world.time)
wormholes.Cut() //we've run into overtime. End the event
//maybe this proc can even be used as an admin tool for teleporting players without ruining immulsions?
@@ -59,4 +85,32 @@
P.icon_state = "anom"
P.name = "wormhole"
spawn(rand(300,600))
qdel(P)
qdel(P)
/obj/effect/portal/worm
name = "wormhole"
icon_state = "anom"
icon = 'icons/obj/objects.dmi'
desc = "It looks highly unstable; It could close at any moment."
failchance = 0
/obj/effect/portal/worm/attack_hand(mob/user)
teleport(user)
/obj/effect/portal/worm/attackby(obj/item/I, mob/user, params)
teleport(user)
/obj/effect/portal/worm/teleport(atom/movable/M)
if(istype(M, /obj/effect)) //sparks don't teleport
return
if(M.anchored && istype(M, /obj/mecha))
return
if(istype(M, /atom/movable))
var/turf/target
if(portals.len)
var/obj/effect/portal/P = pick(portals)
if(P && isturf(P.loc))
target = P.loc
if(!target) return
do_teleport(M, target, 1, 1, 0, 0) ///You will appear adjacent to the beacon
+2 -1
View File
@@ -17,7 +17,7 @@
SPECIES_ZORREN_FLAT,
SPECIES_ZORREN_HIGH
)
/*
/obj/machinery/suit_cycler/explorer
name = "Explorer suit cycler"
model_text = "Exploration"
@@ -62,3 +62,4 @@
else
return ..()
*/
+44 -18
View File
@@ -1,4 +1,9 @@
GLOBAL_LIST_BOILERPLATE(all_portals, /obj/effect/portal)
//GLOBAL_LIST_BOILERPLATE(all_portals, /obj/effect/portal)
// No fucking idea what this proc does but it doesn't seem to
// help when we need to refere to the global portals list.
var/global/list/portals = list() // Just a list for portals <3
/obj/effect/portal
name = "portal"
@@ -13,28 +18,43 @@ GLOBAL_LIST_BOILERPLATE(all_portals, /obj/effect/portal)
anchored = 1.0
/obj/effect/portal/Bumped(mob/M as mob|obj)
spawn(0)
src.teleport(M)
return
return
// spawn(0)
// src.teleport(M)
// return
// return
teleport(M)
/obj/effect/portal/Crossed(AM as mob|obj)
spawn(0)
src.teleport(AM)
return
return
// spawn(0)
// src.teleport(AM)
// return
// return
teleport(AM)
/obj/effect/portal/attack_hand(mob/user as mob)
spawn(0)
src.teleport(user)
return
return
// spawn(0)
// src.teleport(user)
// return
// return
teleport(user)
/obj/effect/portal/New()
spawn(300)
qdel(src)
return
return
/obj/effect/portal/New(loc, turf/target, creator=null, lifespan=300)
//I'm actually concerned with the ammount of spaghet on my plate today. - Jon
// spawn(300)
// qdel(src)
// return
// return
portals += src
src.loc = loc
src.target = target
src.creator = creator
if(lifespan > 0)
spawn(lifespan)
qdel(src)
/obj/effect/portal/Destroy()
portals -= src
return ..()
/obj/effect/portal/proc/teleport(atom/movable/M as mob|obj)
if(istype(M, /obj/effect)) //sparks don't teleport
@@ -53,3 +73,9 @@ GLOBAL_LIST_BOILERPLATE(all_portals, /obj/effect/portal)
else
do_teleport(M, target, 1) ///You will appear adjacent to the beacon
// New addition to remove portals via multitools like on codebases like Paradise. - Jon
/obj/effect/portal/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/device/multitool))
qdel(src)
@@ -156,7 +156,7 @@ Frequency:
if ((user.get_active_hand() != src || user.stat || user.restrained()))
return
var/count = 0 //num of portals from this teleport in world
for(var/obj/effect/portal/PO in all_portals)
for(var/obj/effect/portal/PO in portals)
if(PO.creator == src) count++
if(count >= 3)
user.show_message("<span class='notice'>\The [src] is recharging!</span>")
@@ -5,6 +5,7 @@
anchored = 0
buckle_movable = 1
var/move_delay = null
var/driving = 0
var/mob/living/pulling = null
var/bloodiness
@@ -29,6 +30,14 @@
/obj/structure/bed/chair/wheelchair/relaymove(mob/user, direction)
// Redundant check?
var/calculated_move_delay
calculated_move_delay += 2 //WHEELCHAIRS ARENT FUCKING SONIC CHAIRS.
if(world.time < move_delay)
return
if(user.stat || user.stunned || user.weakened || user.paralysis || user.lying || user.restrained())
if(user==pulling)
pulling = null
@@ -57,6 +66,9 @@
user << "<span class='warning'>You cannot drive while being pushed.</span>"
return
move_delay = world.time
move_delay += calculated_move_delay
// Let's roll
driving = 1
var/turf/T = null
+2
View File
@@ -350,7 +350,9 @@ var/list/admin_verbs_mod = list(
/datum/admins/proc/quick_nif, //CHOMPStation Add,
/client/proc/allow_character_respawn, // Allows a ghost to respawn ,
/datum/admins/proc/sendFax,
/client/proc/giveruntimelog, //allows us to give access to runtime logs to somebody,
/client/proc/getserverlog, //allows us to fetch server logs (diary) for other days,
/client/proc/jumptocoord, //we ghost and jump to a coordinate,
/datum/admins/proc/view_txt_log, //shows the server log (diary) for today,
/datum/admins/proc/view_atk_log //shows the server combat-log, doesn't do anything presently,
)
+55 -1
View File
@@ -2,8 +2,62 @@
startWhen = 0
endWhen = 80
var/list/pick_turfs = list()
var/list/wormholes = list()
var/shift_frequency = 3
var/number_of_wormholes = 400
/datum/event/wormholes/setup()
endWhen = rand(40, 80)
/datum/event/wormholes/start()
wormhole_event()
for(var/turf/simulated/floor/T in turfs)
if(T.z in using_map.station_levels)
pick_turfs += T
for(var/i in 1 to number_of_wormholes)
var/turf/T = pick(pick_turfs)
wormholes += new /obj/effect/portal/worm(T, null, null, -1)
/datum/event/wormholes/tick()
if(activeFor % shift_frequency == 0)
for(var/obj/effect/portal/worm/O in wormholes)
var/turf/T = pick(pick_turfs)
if(T) O.loc = T
/datum/event/wormholes/end()
for(var/obj/effect/portal/worm/O in wormholes)
qdel(O)
command_announcement.Announce("There are no more space-time anomalies detected on the station.", "Anomaly Alert")
/obj/effect/portal/worm
name = "wormhole"
icon_state = "anom"
icon = 'icons/obj/objects.dmi'
desc = "It looks highly unstable; It could close at any moment."
failchance = 0
/obj/effect/portal/worm/attack_hand(mob/user)
teleport(user)
/obj/effect/portal/worm/attackby(obj/item/I, mob/user, params)
teleport(user)
/obj/effect/portal/worm/teleport(atom/movable/M)
if(istype(M, /obj/effect)) //sparks don't teleport
return
if(M.anchored && istype(M, /obj/mecha))
return
if(istype(M, /atom/movable))
var/turf/target
if(portals.len)
var/obj/effect/portal/P = pick(portals)
if(P && isturf(P.loc))
target = P.loc
if(!target) return
do_teleport(M, target, 1, 1, 0, 0) ///You will appear adjacent to the beacon
@@ -16,7 +16,7 @@
color_mult = 1
mob_size = MOB_MEDIUM //As of writing, original was MOB_SMALL - Allows normal swapping (good)
num_alternate_languages = 1 //Might be outdated: They currently have 3 in the other file
num_alternate_languages = 3 //Might be outdated: They currently have 3 in the other file
trashcan = 1 //They have goopy bodies. They can just dissolve things within them.
appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | RADIATION_GLOWS | HAS_UNDERWEAR
@@ -112,8 +112,6 @@ proc/get_fusion_reaction(var/p_react, var/s_react, var/m_energy)
/decl/fusion_reaction/phoron_supermatter/handle_reaction_special(var/obj/effect/fusion_em_field/holder)
wormhole_event()
var/turf/origin = get_turf(holder)
holder.Rupture()
qdel(holder)
@@ -698,7 +698,7 @@
M.make_dizzy(5)
if(prob(20))
M.hallucination = max(M.hallucination, 10)
//One of the levofloxacin side effects is 'spontaneous tendon rupture', which I'll immitate here. 1:1000 chance, so, pretty darn rare.
if(ishuman(M) && rand(1,10000) == 1) //VOREStation Edit (more rare)
var/obj/item/organ/external/eo = pick(H.organs) //Misleading variable name, 'organs' is only external organs
@@ -817,16 +817,19 @@
metabolism = 0.01
mrate_static = TRUE
data = 0
var/delay = 0
/datum/reagent/methylphenidate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(!delay)
delay = world.time
if(alien == IS_DIONA)
return
if(volume <= 0.1 && data != -1)
data = -1
if(volume <= 0.1 && data != -1 && world.time > delay + ANTIDEPRESSANT_MESSAGE_DELAY)
delay = world.time
M << "<span class='warning'>You lose focus...</span>"
else
if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY)
data = world.time
if(world.time > delay + ANTIDEPRESSANT_MESSAGE_DELAY)
delay = world.time
M << "<span class='notice'>Your mind feels focused and undivided.</span>"
/datum/reagent/citalopram
@@ -839,17 +842,20 @@
metabolism = 0.01
mrate_static = TRUE
data = 0
var/delay = 0
/datum/reagent/citalopram/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(!delay)
delay = world.time
if(alien == IS_DIONA)
return
if(volume <= 0.1 && data != -1)
data = -1
M << "<span class='warning'>Your mind feels a little less stable...</span>"
if(volume <= 0.1 && world.time > delay + ANTIDEPRESSANT_MESSAGE_DELAY)
delay = world.time
to_chat(M, "<span class='warning'>Your mind feels a little less stable...</span>")
else
if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY)
data = world.time
M << "<span class='notice'>Your mind feels stable... a little stable.</span>"
if(world.time > delay + ANTIDEPRESSANT_MESSAGE_DELAY)
delay = world.time
to_chat(M, "<span class='notice'>Your mind feels stable... a little stable.</span>")
/datum/reagent/paroxetine
name = "Paroxetine"
@@ -861,16 +867,17 @@
metabolism = 0.01
mrate_static = TRUE
data = 0
var/delay = 0
/datum/reagent/paroxetine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return
if(volume <= 0.1 && data != -1)
data = -1
if(volume <= 0.1 && world.time > delay + ANTIDEPRESSANT_MESSAGE_DELAY)
delay = world.time
M << "<span class='warning'>Your mind feels much less stable...</span>"
else
if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY)
data = world.time
if(world.time > delay + ANTIDEPRESSANT_MESSAGE_DELAY)
delay = world.time
if(prob(90))
M << "<span class='notice'>Your mind feels much more stable.</span>"
else
+1 -1
View File
@@ -11,7 +11,7 @@
full_name = "NCS Northern Star"
path = "northern_star"
lobby_icon = 'icons/misc/title.dmi'
lobby_icon = 'icons/misc/title.dmi' // Amazing title screen made by Jareix, kudos to him! <3
lobby_screens = list("mockingjay00")
zlevel_datum_type = /datum/map_z_level/northern_star
@@ -7,7 +7,7 @@
starts_with = list(
/obj/item/weapon/gun/energy/gun = 4)
/*
/obj/structure/closet/secure_closet/guncabinet/rifle
name = "rifle cabinet"
req_one_access = list(access_explorer,access_brig)
-8
View File
@@ -331,7 +331,6 @@
#include "code\datums\supplypacks\misc_ch.dm"
#include "code\datums\supplypacks\misc_vr.dm"
#include "code\datums\supplypacks\munitions.dm"
#include "code\datums\supplypacks\munitions_vr.dm"
#include "code\datums\supplypacks\recreation.dm"
#include "code\datums\supplypacks\recreation_vr.dm"
#include "code\datums\supplypacks\robotics.dm"
@@ -518,7 +517,6 @@
#include "code\game\gamemodes\events\clang.dm"
#include "code\game\gamemodes\events\dust.dm"
#include "code\game\gamemodes\events\power_failure.dm"
#include "code\game\gamemodes\events\wormholes.dm"
#include "code\game\gamemodes\events\holidays\Christmas.dm"
#include "code\game\gamemodes\events\holidays\Holidays.dm"
#include "code\game\gamemodes\events\holidays\Other.dm"
@@ -2894,8 +2892,6 @@
#include "maps\RandomZLevels\listeningpost.dm"
#include "maps\RandomZLevels\snowfield.dm"
#include "maps\RandomZLevels\zoo.dm"
#include "maps\southern_cross\southern_cross_jobs.dm"
#include "maps\southern_cross\southern_cross_jobs_vr.dm"
#include "maps\southern_cross\items\encryptionkey_sc.dm"
#include "maps\southern_cross\items\encryptionkey_vr.dm"
#include "maps\southern_cross\items\headset_sc.dm"
@@ -2903,13 +2899,9 @@
#include "maps\southern_cross\items\clothing\sc_accessory.dm"
#include "maps\southern_cross\items\clothing\sc_suit.dm"
#include "maps\southern_cross\items\clothing\sc_under.dm"
#include "maps\southern_cross\job\outfits.dm"
#include "maps\southern_cross\job\outfits_vr.dm"
#include "maps\southern_cross\loadout\loadout_head.dm"
#include "maps\southern_cross\loadout\loadout_suit.dm"
#include "maps\southern_cross\loadout\loadout_uniform.dm"
#include "maps\southern_cross\structures\closets\misc.dm"
#include "maps\southern_cross\structures\closets\misc_vr.dm"
#include "maps\submaps\_readme.dm"
#include "maps\submaps\engine_submaps\engine.dm"
#include "maps\submaps\engine_submaps\engine_areas.dm"