mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 21:48:21 +01:00
The road to Initialize() stability - Enforcing parent call on New(), Initialize() and Destroy() (#14719)
* The road to Initialize() stability * Fixes sanity, for now
This commit is contained in:
@@ -11645,7 +11645,7 @@
|
||||
pixel_x = -26;
|
||||
pixel_y = 3
|
||||
},
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/item/clothing/suit/suspenders,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "redbluefull"
|
||||
@@ -12844,7 +12844,7 @@
|
||||
"aBr" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/clothing/shoes/jackboots,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/effect/spawner/lootdrop/maintenance,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "cafeteria";
|
||||
@@ -33813,7 +33813,7 @@
|
||||
/area/security/main)
|
||||
"bmP" = (
|
||||
/obj/structure/rack,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/effect/spawner/lootdrop/maintenance{
|
||||
lootcount = 2;
|
||||
name = "2maintenance loot spawner"
|
||||
@@ -99471,8 +99471,8 @@
|
||||
"dya" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/obj/structure/rack,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 8;
|
||||
icon_state = "neutral"
|
||||
@@ -100052,8 +100052,8 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/obj/structure/rack,
|
||||
/obj/effect/spawner/lootdrop/maintenance,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 8;
|
||||
icon_state = "neutral"
|
||||
@@ -100762,7 +100762,7 @@
|
||||
"dAu" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/obj/structure/closet/crate,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/effect/spawner/lootdrop/maintenance,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
|
||||
@@ -12230,7 +12230,7 @@
|
||||
/area/maintenance/starboard)
|
||||
"avz" = (
|
||||
/obj/structure/rack,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/effect/spawner/lootdrop/maintenance,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
@@ -27346,8 +27346,8 @@
|
||||
/area/crew_quarters/locker)
|
||||
"aVX" = (
|
||||
/obj/structure/rack,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/item/clothing/mask/balaclava,
|
||||
/obj/machinery/alarm{
|
||||
dir = 8;
|
||||
@@ -55965,8 +55965,8 @@
|
||||
dir = 8;
|
||||
layer = 2.9
|
||||
},
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/fpmaint2{
|
||||
name = "Port Maintenance"
|
||||
@@ -55977,8 +55977,8 @@
|
||||
dir = 8;
|
||||
layer = 2.9
|
||||
},
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/fpmaint2{
|
||||
name = "Port Maintenance"
|
||||
@@ -86060,7 +86060,7 @@
|
||||
/area/medical/virology)
|
||||
"cQH" = (
|
||||
/obj/structure/rack,
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/effect/spawner/lootdrop/maintenance{
|
||||
lootcount = 2;
|
||||
name = "2maintenance loot spawner"
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
/turf/unsimulated/floor/snow,
|
||||
/area/syndicate_mothership)
|
||||
"an" = (
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/structure/rack,
|
||||
/turf/simulated/floor/holofloor{
|
||||
tag = "icon-cult";
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
},
|
||||
/area/space)
|
||||
"al" = (
|
||||
/obj/effect/landmark/costume,
|
||||
/obj/effect/landmark/costume/random,
|
||||
/obj/structure/rack/holorack,
|
||||
/turf/simulated/floor/holofloor{
|
||||
tag = "icon-cult";
|
||||
|
||||
@@ -1400,8 +1400,10 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
|
||||
see_in_dark = 1e6
|
||||
|
||||
/mob/dview/New() //For whatever reason, if this isn't called, then BYOND will throw a type mismatch runtime when attempting to add this to the mobs list. -Fox
|
||||
SHOULD_CALL_PARENT(FALSE)
|
||||
|
||||
/mob/dview/Destroy()
|
||||
SHOULD_CALL_PARENT(FALSE)
|
||||
// should never be deleted
|
||||
return QDEL_HINT_LETMELIVE
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
// This should be overridden to remove all references pointing to the object being destroyed.
|
||||
// Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE.
|
||||
/datum/proc/Destroy(force = FALSE, ...)
|
||||
SHOULD_CALL_PARENT(TRUE)
|
||||
tag = null
|
||||
|
||||
var/list/timers = active_timers
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
var/chat_color
|
||||
|
||||
/atom/New(loc, ...)
|
||||
SHOULD_CALL_PARENT(TRUE)
|
||||
if(GLOB.use_preloader && (src.type == GLOB._preloader.target_path))//in case the instanciated atom is creating other atoms in New()
|
||||
GLOB._preloader.load(src)
|
||||
. = ..()
|
||||
@@ -81,6 +82,7 @@
|
||||
// /turf/open/space/Initialize
|
||||
|
||||
/atom/proc/Initialize(mapload, ...)
|
||||
SHOULD_CALL_PARENT(TRUE)
|
||||
if(initialized)
|
||||
stack_trace("Warning: [src]([type]) initialized multiple times!")
|
||||
initialized = TRUE
|
||||
|
||||
@@ -428,6 +428,7 @@
|
||||
simulated = FALSE
|
||||
|
||||
/atom/movable/overlay/New()
|
||||
. = ..()
|
||||
verbs.Cut()
|
||||
return
|
||||
|
||||
|
||||
@@ -195,6 +195,7 @@
|
||||
//layer = 15
|
||||
|
||||
/obj/effect/self_deleting/New(atom/location, icon/I, duration = 20, oname = "something")
|
||||
. = ..()
|
||||
name = oname
|
||||
loc=location
|
||||
icon = I
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
|
||||
|
||||
/obj/machinery/computer/salvage_ship/New()
|
||||
curr_location= locate(/area/shuttle/salvage/start)
|
||||
. = ..()
|
||||
curr_location = locate(/area/shuttle/salvage/start)
|
||||
|
||||
|
||||
/obj/machinery/computer/salvage_ship/proc/salvage_move_to(area/destination as area)
|
||||
|
||||
@@ -474,6 +474,7 @@ GLOBAL_LIST_EMPTY(tcomms_machines)
|
||||
* Otherwise shit breaks BADLY
|
||||
*/
|
||||
/obj/item/paper/tcommskey/Initialize(mapload)
|
||||
..()
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/**
|
||||
|
||||
@@ -214,6 +214,7 @@
|
||||
var/emote
|
||||
|
||||
/obj/effect/dummy/mecha_emote_step/New(e)
|
||||
. = ..()
|
||||
emote = e
|
||||
|
||||
/obj/item/mecha_parts/chassis/reticence/hear_message(mob/living/M, msg)
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
var/obj/item/assembly/signaler/anomaly/aSignal = null
|
||||
|
||||
/obj/effect/anomaly/New()
|
||||
. = ..()
|
||||
set_light(initial(luminosity))
|
||||
aSignal = new(src)
|
||||
aSignal.code = rand(1,100)
|
||||
|
||||
@@ -123,26 +123,29 @@
|
||||
|
||||
//Costume spawner landmarks
|
||||
|
||||
/obj/effect/landmark/costume/New() //costume spawner, selects a random subclass and disappears
|
||||
|
||||
var/list/options = typesof(/obj/effect/landmark/costume)
|
||||
/obj/effect/landmark/costume/random/New() //costume spawner, selects a random subclass and disappears
|
||||
. = ..()
|
||||
var/list/options = (typesof(/obj/effect/landmark/costume) - /obj/effect/landmark/costume/random)
|
||||
var/PICK= options[rand(1,options.len)]
|
||||
new PICK(src.loc)
|
||||
qdel(src)
|
||||
|
||||
//SUBCLASSES. Spawn a bunch of items and disappear likewise
|
||||
/obj/effect/landmark/costume/chicken/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/suit/chickensuit(src.loc)
|
||||
new /obj/item/clothing/head/chicken(src.loc)
|
||||
new /obj/item/reagent_containers/food/snacks/egg(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/gladiator/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/gladiator(src.loc)
|
||||
new /obj/item/clothing/head/helmet/gladiator(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/madscientist/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc)
|
||||
new /obj/item/clothing/head/flatcap(src.loc)
|
||||
new /obj/item/clothing/suit/storage/labcoat/mad(src.loc)
|
||||
@@ -150,6 +153,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/elpresidente/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc)
|
||||
new /obj/item/clothing/head/flatcap(src.loc)
|
||||
new /obj/item/clothing/mask/cigarette/cigar/havana(src.loc)
|
||||
@@ -157,11 +161,13 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/nyangirl/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/schoolgirl(src.loc)
|
||||
new /obj/item/clothing/head/kitty(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/maid/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/blackskirt(src.loc)
|
||||
var/CHOICE = pick( /obj/item/clothing/head/beret , /obj/item/clothing/head/rabbitears )
|
||||
new CHOICE(src.loc)
|
||||
@@ -169,12 +175,14 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/butler/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/suit/wcoat(src.loc)
|
||||
new /obj/item/clothing/under/suit_jacket(src.loc)
|
||||
new /obj/item/clothing/head/that(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/scratch/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/gloves/color/white(src.loc)
|
||||
new /obj/item/clothing/shoes/white(src.loc)
|
||||
new /obj/item/clothing/under/scratch(src.loc)
|
||||
@@ -183,11 +191,13 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/highlander/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/kilt(src.loc)
|
||||
new /obj/item/clothing/head/beret(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/prig/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/suit/wcoat(src.loc)
|
||||
new /obj/item/clothing/glasses/monocle(src.loc)
|
||||
var/CHOICE= pick( /obj/item/clothing/head/bowlerhat, /obj/item/clothing/head/that)
|
||||
@@ -199,16 +209,19 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/plaguedoctor/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/suit/bio_suit/plaguedoctorsuit(src.loc)
|
||||
new /obj/item/clothing/head/plaguedoctorhat(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/nightowl/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/owl(src.loc)
|
||||
new /obj/item/clothing/mask/gas/owl_mask(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/waiter/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/waiter(src.loc)
|
||||
var/CHOICE= pick( /obj/item/clothing/head/kitty, /obj/item/clothing/head/rabbitears)
|
||||
new CHOICE(src.loc)
|
||||
@@ -216,6 +229,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/pirate/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/pirate(src.loc)
|
||||
new /obj/item/clothing/suit/pirate_black(src.loc)
|
||||
var/CHOICE = pick( /obj/item/clothing/head/pirate , /obj/item/clothing/head/bandana )
|
||||
@@ -224,44 +238,52 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/commie/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/soviet(src.loc)
|
||||
new /obj/item/clothing/head/ushanka(src.loc)
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/effect/landmark/costume/imperium_monk/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/suit/imperium_monk(src.loc)
|
||||
if(prob(25))
|
||||
new /obj/item/clothing/mask/gas/cyborg(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/holiday_priest/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/suit/holidaypriest(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/marisawizard/fake/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/head/wizard/marisa/fake(src.loc)
|
||||
new/obj/item/clothing/suit/wizrobe/marisa/fake(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/cutewitch/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/sundress(src.loc)
|
||||
new /obj/item/clothing/head/witchwig(src.loc)
|
||||
new /obj/item/twohanded/staff/broom(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/fakewizard/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/suit/wizrobe/fake(src.loc)
|
||||
new /obj/item/clothing/head/wizard/fake(src.loc)
|
||||
new /obj/item/twohanded/staff/(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/sexyclown/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/mask/gas/clown_hat/sexy(loc)
|
||||
new /obj/item/clothing/under/rank/clown/sexy(loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/landmark/costume/sexymime/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/mask/gas/sexymime(src.loc)
|
||||
new /obj/item/clothing/under/sexymime(src.loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
/obj/effect/manifest
|
||||
name = "manifest"
|
||||
icon = 'icons/mob/screen_gen.dmi'
|
||||
icon_state = "x"
|
||||
|
||||
/obj/effect/manifest/New()
|
||||
|
||||
src.invisibility = 101
|
||||
return
|
||||
|
||||
/obj/effect/manifest/proc/manifest()
|
||||
var/dat = "<B>Crew Manifest</B>:<BR>"
|
||||
for(var/thing in GLOB.human_list)
|
||||
var/mob/living/carbon/human/M = thing
|
||||
dat += text(" <B>[]</B> - []<BR>", M.name, M.get_assignment())
|
||||
var/obj/item/paper/P = new /obj/item/paper( src.loc )
|
||||
P.info = dat
|
||||
P.name = "paper- 'Crew Manifest'"
|
||||
//SN src = null
|
||||
qdel(src)
|
||||
return
|
||||
@@ -220,6 +220,7 @@
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/trade_sol/minerals/New()
|
||||
. = ..()
|
||||
if(loot && loot.len)
|
||||
for(var/i = lootcount, i > 0, i--)
|
||||
if(!loot.len)
|
||||
@@ -345,6 +346,7 @@
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/trade_sol/vehicle/New()
|
||||
. = ..()
|
||||
if(!loot.len)
|
||||
return
|
||||
var/lootspawn = pickweight(loot)
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
var/minY = 2
|
||||
|
||||
/obj/effect/vaultspawner/New(turf/location as turf,lX = minX,uX = maxX,lY = minY,uY = maxY,var/type = null)
|
||||
. = ..()
|
||||
if(!type)
|
||||
type = pick("sandstone","rock","alien")
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
//The payload spawner effect
|
||||
/////////////////////////////////
|
||||
/obj/effect/payload_spawner/New(var/turf/newloc,var/type, var/numspawned as num)
|
||||
|
||||
. = ..()
|
||||
for(var/loop = numspawned ,loop > 0, loop--)
|
||||
var/obj/item/grenade/P = new type(loc)
|
||||
if(istype(P, /obj/item/grenade))
|
||||
|
||||
@@ -232,6 +232,7 @@
|
||||
var/nanofrost_cooldown = 0
|
||||
|
||||
/obj/item/extinguisher/mini/nozzle/New(parent_tank)
|
||||
. = ..()
|
||||
if(check_tank_exists(parent_tank, src))
|
||||
tank = parent_tank
|
||||
reagents = tank.reagents
|
||||
|
||||
@@ -128,6 +128,7 @@
|
||||
|
||||
|
||||
/obj/structure/closet/paramedic/New()
|
||||
. = ..()
|
||||
new /obj/item/clothing/under/rank/medical/paramedic(src)
|
||||
new /obj/item/clothing/under/rank/medical/paramedic(src)
|
||||
new /obj/item/radio/headset/headset_med(src)
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
qdel(src)*/
|
||||
|
||||
/obj/structure/closet/emcloset/legacy/New()
|
||||
. = ..()
|
||||
new /obj/item/tank/oxygen(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
|
||||
|
||||
@@ -306,6 +306,7 @@
|
||||
var/stump = 0
|
||||
|
||||
/obj/structure/bush/New()
|
||||
. = ..()
|
||||
if(prob(20))
|
||||
opacity = 1
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
var/width = 3
|
||||
|
||||
/obj/structure/grille/fence/New()
|
||||
. = ..()
|
||||
if(width > 1)
|
||||
if(dir in list(EAST, WEST))
|
||||
bound_width = width * world.icon_size
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
plane = PLANE_SPACE
|
||||
|
||||
/turf/space/Initialize(mapload)
|
||||
SHOULD_CALL_PARENT(FALSE)
|
||||
if(!istype(src, /turf/space/transit))
|
||||
icon_state = SPACE_ICON_STATE
|
||||
vis_contents.Cut() //removes inherited overlays
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
var/shoe_walking_volume = 20
|
||||
|
||||
/turf/Initialize(mapload)
|
||||
SHOULD_CALL_PARENT(FALSE)
|
||||
if(initialized)
|
||||
stack_trace("Warning: [src]([type]) initialized multiple times!")
|
||||
initialized = TRUE
|
||||
|
||||
@@ -27,6 +27,7 @@ GLOBAL_VAR_INIT(intercom_range_display_status, 0)
|
||||
icon_state = "25percent"
|
||||
|
||||
/obj/effect/debugging/camera_range/New()
|
||||
. = ..()
|
||||
src.pixel_x = -224
|
||||
src.pixel_y = -224
|
||||
|
||||
|
||||
@@ -133,6 +133,7 @@
|
||||
var/obj/machinery/computer/mob_battle_terminal/my_terminal
|
||||
|
||||
/obj/effect/nanomob/battle/New(loc, datum/mob_hunt/new_info)
|
||||
. = ..()
|
||||
if(new_info)
|
||||
mob_info = new_info
|
||||
update_self()
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
var/water_timer = 0
|
||||
|
||||
/obj/effect/waterfall/New()
|
||||
. = ..()
|
||||
water_timer = addtimer(CALLBACK(src, .proc/drip), water_frequency, TIMER_STOPPABLE)
|
||||
|
||||
/obj/effect/waterfall/Destroy()
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
name = "Safecode hint spawner"
|
||||
|
||||
/obj/effect/landmark/sc_bible_spawner/New()
|
||||
. = ..()
|
||||
var/obj/item/storage/bible/B = new /obj/item/storage/bible/booze(src.loc)
|
||||
B.name = "The Holy book of the Geometer"
|
||||
B.deity_name = "Narsie"
|
||||
|
||||
@@ -135,9 +135,6 @@
|
||||
var/triggerproc = "triggerrad1" //name of the proc thats called when the mine is triggered
|
||||
var/triggered = 0
|
||||
|
||||
/obj/effect/meatgrinder/New()
|
||||
icon_state = "blobpod"
|
||||
|
||||
/obj/effect/meatgrinder/Crossed(AM as mob|obj, oldloc)
|
||||
Bumped(AM)
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
var/client/cl
|
||||
|
||||
/obj/effect/buildmode_line/New(client/C, atom/atom_a, atom/atom_b, linename)
|
||||
. = ..()
|
||||
name = linename
|
||||
loc = get_turf(atom_a)
|
||||
I = image('icons/misc/mark.dmi', src, "line", 19.0)
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
slot_flags = SLOT_EARS | SLOT_TWOEARS
|
||||
|
||||
/obj/item/clothing/ears/offear/New(var/obj/O)
|
||||
. = ..()
|
||||
name = O.name
|
||||
desc = O.desc
|
||||
icon = O.icon
|
||||
|
||||
@@ -95,6 +95,7 @@
|
||||
var/suits = list("red", "green", "ntblue", "purple", "yellow", "ltblue")
|
||||
|
||||
/obj/effect/nasavoidsuitspawner/New()
|
||||
. = ..()
|
||||
var/obj/item/clothing/head/helmet/space/nasavoid/H
|
||||
var/obj/item/clothing/suit/space/nasavoid/S
|
||||
switch(pick(suits))
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
life = 40
|
||||
|
||||
/obj/effect/space_dust/New()
|
||||
. = ..()
|
||||
var/startx = 0
|
||||
var/starty = 0
|
||||
var/endy = 0
|
||||
|
||||
@@ -33,6 +33,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
|
||||
var/move_delay = 1
|
||||
|
||||
/obj/effect/immovablerod/New(atom/start, atom/end, delay)
|
||||
. = ..()
|
||||
loc = start
|
||||
z_original = z
|
||||
destination = end
|
||||
|
||||
@@ -200,6 +200,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
|
||||
var/obj/effect/hallucination/simple/xeno/xeno = null
|
||||
|
||||
/obj/effect/hallucination/xeno_attack/New(loc, mob/living/carbon/T)
|
||||
. = ..()
|
||||
target = T
|
||||
for(var/obj/machinery/atmospherics/unary/vent_pump/U in orange(7,target))
|
||||
if(!U.welded)
|
||||
@@ -340,6 +341,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
|
||||
var/obj/effect/hallucination/simple/singularity/s = null
|
||||
|
||||
/obj/effect/hallucination/singularity_scare/New(loc, mob/living/carbon/T)
|
||||
. = ..()
|
||||
target = T
|
||||
var/turf/start = get_turf(T)
|
||||
var/screen_border = pick(GLOB.cardinal)
|
||||
@@ -370,6 +372,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
|
||||
/obj/effect/hallucination/battle
|
||||
|
||||
/obj/effect/hallucination/battle/New(loc, mob/living/carbon/T)
|
||||
. = ..()
|
||||
target = T
|
||||
var/hits = rand(2,5)
|
||||
switch(rand(1,5))
|
||||
@@ -459,6 +462,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
|
||||
var/list/image/delusions = list()
|
||||
|
||||
/obj/effect/hallucination/delusion/New(loc, mob/living/carbon/T, force_kind = null, duration = 300,skip_nearby = 1, custom_icon = null, custom_icon_file = null)
|
||||
. = ..()
|
||||
target = T
|
||||
var/image/A = null
|
||||
var/kind = force_kind ? force_kind : pick("clown", "corgi", "carp", "skeleton", "demon","zombie")
|
||||
@@ -707,6 +711,7 @@ GLOBAL_LIST_INIT(non_fakeattack_weapons, list(/obj/item/gun/projectile, /obj/ite
|
||||
var/list/doors = list()
|
||||
|
||||
/obj/effect/hallucination/bolts/New(loc, mob/living/carbon/T, door_number = -1) //-1 for sever 1-2 for subtle
|
||||
. = ..()
|
||||
target = T
|
||||
var/image/I = null
|
||||
var/count = 0
|
||||
@@ -731,6 +736,7 @@ GLOBAL_LIST_INIT(non_fakeattack_weapons, list(/obj/item/gun/projectile, /obj/ite
|
||||
/obj/effect/hallucination/whispers
|
||||
|
||||
/obj/effect/hallucination/whispers/New(loc,var/mob/living/carbon/T)
|
||||
. = ..()
|
||||
target = T
|
||||
var/speak_messages = list("I'm watching you...","[target.name]!","Get out!","Kchck-Chkck? Kchchck!","Did you hear that?","What did you do ?","Why?","Give me that!","Honk!","HELP!!", "EI NATH!!", "RUN!!", "Kill me!","O bidai nabora se'sma!")
|
||||
var/radio_messages = list("Xenos!","Singularity loose!","Comms down!","They are arming the nuke!","They butchered Ian!","H-help!","[pick("Cult", "Wizard", "Ling", "Ops", "Revenant", "Murderer", "Harm", "I hear flashing", "Help")] in [pick(GLOB.teleportlocs)][prob(50)?"!":"!!"]","Where's [target.name]?","Call the shuttle!","AI rogue!!")
|
||||
@@ -766,6 +772,7 @@ GLOBAL_LIST_INIT(non_fakeattack_weapons, list(/obj/item/gun/projectile, /obj/ite
|
||||
/obj/effect/hallucination/message
|
||||
|
||||
/obj/effect/hallucination/message/New(loc,var/mob/living/carbon/T)
|
||||
. = ..()
|
||||
target = T
|
||||
var/chosen = pick("<span class='userdanger'>The light burns you!</span>",
|
||||
"<span class='danger'>You don't feel like yourself.</span>",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
var/bottling = 0
|
||||
|
||||
/obj/machinery/bottler/New()
|
||||
. = ..()
|
||||
if(!available_recipes)
|
||||
available_recipes = list()
|
||||
acceptable_items = list()
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
)
|
||||
|
||||
/obj/machinery/juicer/New()
|
||||
. = ..()
|
||||
beaker = new /obj/item/reagent_containers/glass/beaker/large(src)
|
||||
|
||||
/obj/machinery/juicer/update_icon()
|
||||
|
||||
@@ -8,5 +8,6 @@
|
||||
|
||||
|
||||
/obj/item/honey_frame/New()
|
||||
. = ..()
|
||||
pixel_x = rand(8,-8)
|
||||
pixel_y = rand(8,-8)
|
||||
|
||||
@@ -77,7 +77,8 @@
|
||||
/obj/machinery/anomalous_crystal/ex_act()
|
||||
ActivationReaction(null,"bomb")
|
||||
|
||||
/obj/machinery/anomalous_crystal/random/New()//Just a random crysal spawner for loot
|
||||
/obj/machinery/anomalous_crystal/random/New() //Just a random crysal spawner for loot
|
||||
. = ..()
|
||||
var/random_crystal = pick(typesof(/obj/machinery/anomalous_crystal) - /obj/machinery/anomalous_crystal/random - /obj/machinery/anomalous_crystal)
|
||||
new random_crystal(loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -6,12 +6,6 @@
|
||||
canmove = 0
|
||||
a_intent = INTENT_HARM // This is apparently the only thing that stops other mobs walking through them as if they were thin air.
|
||||
|
||||
/mob/living/silicon/decoy/New()
|
||||
src.icon = 'icons/mob/ai.dmi'
|
||||
src.icon_state = "ai"
|
||||
src.anchored = 1
|
||||
src.canmove = 0
|
||||
|
||||
/mob/living/silicon/decoy/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/aicard))
|
||||
to_chat(user, "<span class='warning'>You cannot find an intellicard slot on [src].</span>")
|
||||
|
||||
@@ -39,15 +39,18 @@
|
||||
/mob/living/silicon/New()
|
||||
GLOB.silicon_mob_list |= src
|
||||
..()
|
||||
var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC]
|
||||
diag_hud.add_to_hud(src)
|
||||
diag_hud_set_status()
|
||||
diag_hud_set_health()
|
||||
add_language("Galactic Common")
|
||||
init_subsystems()
|
||||
RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, .proc/alarm_triggered)
|
||||
RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, .proc/alarm_cancelled)
|
||||
|
||||
/mob/living/silicon/Initialize()
|
||||
. = ..()
|
||||
var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC]
|
||||
diag_hud.add_to_hud(src)
|
||||
diag_hud_set_status()
|
||||
diag_hud_set_health()
|
||||
|
||||
/mob/living/silicon/med_hud_set_health()
|
||||
return //we use a different hud
|
||||
|
||||
|
||||
@@ -121,6 +121,7 @@
|
||||
/datum/feed_channel/Destroy()
|
||||
for(var/m in messages)
|
||||
GLOB.news_network.stories -= m
|
||||
return ..()
|
||||
|
||||
/**
|
||||
* Returns whether the given user can publish new stories to this channel.
|
||||
|
||||
@@ -16,10 +16,12 @@
|
||||
var/screen = 0
|
||||
|
||||
/obj/item/paper_bundle/New(default_papers = TRUE)
|
||||
. = ..()
|
||||
if(default_papers) // This is to avoid runtime occuring from a paper bundle being created without a paper in it.
|
||||
new /obj/item/paper(src)
|
||||
new /obj/item/paper(src)
|
||||
amount += 1
|
||||
|
||||
/obj/item/paper_bundle/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
..()
|
||||
var/obj/item/paper/P
|
||||
|
||||
@@ -195,6 +195,7 @@
|
||||
harmful = FALSE
|
||||
|
||||
/obj/item/ammo_casing/energy/wormhole/New(var/obj/item/gun/energy/wormhole_projector/wh)
|
||||
. = ..()
|
||||
gun = wh
|
||||
|
||||
/obj/item/ammo_casing/energy/wormhole/orange
|
||||
|
||||
@@ -294,4 +294,5 @@
|
||||
density = 0
|
||||
|
||||
/obj/effect/syringe_gun_dummy/New()
|
||||
. = ..()
|
||||
create_reagents(15)
|
||||
|
||||
@@ -214,6 +214,7 @@
|
||||
color = "#FF6600"
|
||||
|
||||
/obj/item/projectile/beam/wormhole/New(var/obj/item/ammo_casing/energy/wormhole/casing)
|
||||
. = ..()
|
||||
if(casing)
|
||||
gun = casing.gun
|
||||
|
||||
|
||||
@@ -223,6 +223,7 @@ GLOBAL_DATUM(blackbox, /obj/machinery/blackbox_recorder)
|
||||
|
||||
//Only one can exsist in the world!
|
||||
/obj/machinery/blackbox_recorder/New()
|
||||
SHOULD_CALL_PARENT(FALSE) // TODO: I still need to shoot this
|
||||
if(GLOB.blackbox)
|
||||
if(istype(GLOB.blackbox,/obj/machinery/blackbox_recorder))
|
||||
qdel(src)
|
||||
|
||||
@@ -203,6 +203,7 @@
|
||||
log_debug("Multiple nodes left behind after SW grid qdel: [available_nodes.len]")
|
||||
for(var/datum/point/P in available_nodes)
|
||||
log_debug("([P.x],[P.y])")
|
||||
return ..()
|
||||
|
||||
/datum/spacewalk_grid/proc/add_available_node(datum/point/P)
|
||||
var/hash = P.hash()
|
||||
|
||||
@@ -816,7 +816,6 @@
|
||||
#include "code\game\objects\effects\gibs.dm"
|
||||
#include "code\game\objects\effects\glowshroom.dm"
|
||||
#include "code\game\objects\effects\landmarks.dm"
|
||||
#include "code\game\objects\effects\manifest.dm"
|
||||
#include "code\game\objects\effects\mapping_helpers.dm"
|
||||
#include "code\game\objects\effects\mines.dm"
|
||||
#include "code\game\objects\effects\misc.dm"
|
||||
|
||||
Reference in New Issue
Block a user