New to init final (#17512)

* Initial

* some more

* next few

* only light left

* fix things up

* some rmore fixes

* guh

* Update ai_vr.dm

* comment

* lets try something

* .

* hmm

* .

* .

* hmm

* push that here

* fix layout

* grrr
This commit is contained in:
Kashargul
2025-04-14 00:07:35 +02:00
committed by GitHub
parent 53ee76ad92
commit cdfa1c853f
170 changed files with 1262 additions and 1219 deletions
@@ -13,7 +13,8 @@
var/custombasedesc = null
var/custombasecolor = null
/obj/effect/decal/cleanable/blood/reagent/New(var/spill_name, var/spill_color, var/spill_reagentid, var/new_amount, var/ckey_user, var/ckey_spawn)
/obj/effect/decal/cleanable/blood/reagent/Initialize(mapload, var/spill_name, var/spill_color, var/spill_reagentid, var/new_amount, var/ckey_user, var/ckey_spawn)
. = ..()
switch(spill_reagentid) //To ensure that if people spill some liquids, it wont cause issues with spawning, like spilling blood. Also allow for spilling of certain things to
if("blood")
return
+10 -10
View File
@@ -18,14 +18,14 @@
var/poster_type = /obj/structure/sign/poster
/obj/item/contraband/poster/New(turf/loc, var/given_serial = 0)
/obj/item/contraband/poster/Initialize(mapload, var/given_serial = 0)
if(!serial_number)
if(given_serial == 0)
serial_number = rand(1, poster_designs.len)
else
serial_number = given_serial
name += " - No. [serial_number]"
..(loc)
. = ..()
//Places the poster on a wall
/obj/item/contraband/poster/afterattack(var/atom/A, var/mob/user, var/adjacent, var/clickparams)
@@ -83,12 +83,12 @@
icon_state = "rolled_poster_nt"
poster_type = /obj/structure/sign/poster/nanotrasen
/obj/item/contraband/poster/nanotrasen/New(turf/loc, var/given_serial = 0)
/obj/item/contraband/poster/nanotrasen/Initialize(mapload, var/given_serial = 0)
if(given_serial == 0)
serial_number = rand(1, NT_poster_designs.len)
else
serial_number = given_serial
..(loc)
. = ..()
//Selectable subtype
/obj/item/contraband/poster/custom
@@ -96,12 +96,12 @@
desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. This one is made from some kind of e-paper, and could display almost anything!"
poster_type = /obj/structure/sign/poster/custom
/obj/item/contraband/poster/custom/New(turf/loc, var/given_serial = 0)
/obj/item/contraband/poster/custom/Initialize(mapload, var/given_serial = 0)
if(given_serial == 0)
serial_number = 1 //Decidedly unrandom
else
serial_number = given_serial
..(loc)
. = ..()
/obj/item/contraband/poster/custom/verb/select_poster()
set name = "Set Poster type"
@@ -137,8 +137,8 @@
var/roll_type
var/poster_set = FALSE
/obj/structure/sign/poster/New(var/newloc, var/placement_dir=null, var/serial=null, var/itemtype = /obj/item/contraband/poster)
..(newloc)
/obj/structure/sign/poster/Initialize(mapload, var/placement_dir=null, var/serial=null, var/itemtype = /obj/item/contraband/poster)
. = ..()
if(!serial)
serial = rand(1, poster_designs.len) //use a random serial if none is given
@@ -226,7 +226,7 @@
/obj/structure/sign/poster/nanotrasen
roll_type = /obj/item/contraband/poster/nanotrasen
/obj/structure/sign/poster/nanotrasen/New(var/newloc, var/placement_dir=null, var/serial=null, var/itemtype = /obj/item/contraband/poster/nanotrasen)
/obj/structure/sign/poster/nanotrasen/Initialize(mapload, var/placement_dir=null, var/serial=null, var/itemtype = /obj/item/contraband/poster/nanotrasen)
if(!serial)
serial = rand(1, NT_poster_designs.len)
@@ -234,7 +234,7 @@
var/datum/poster/design = NT_poster_designs[serial_number]
set_poster(design)
..(newloc, placement_dir, serial, itemtype)
. = ..(mapload, placement_dir, serial, itemtype)
//Non-Random Posters
+3 -3
View File
@@ -71,13 +71,13 @@
delete_me = TRUE
//VORE Station Add End
landmarks_list += src
if(delete_me)
return INITIALIZE_HINT_QDEL
else
landmarks_list += src
/obj/effect/landmark/Destroy(var/force = FALSE)
if(delete_me || force)
if(force)
landmarks_list -= src
return ..()
return QDEL_HINT_LETMELIVE
@@ -44,14 +44,14 @@
name = "TTV bomb - proximity"
assembly_type = /obj/item/assembly/prox_sensor
/obj/effect/spawner/newbomb/radio/custom/New(var/newloc, ph, ox, co)
/obj/effect/spawner/newbomb/radio/custom/Initialize(mapload, ph, ox, co)
if(ph != null) phoron_amt = ph
if(ox != null) oxygen_amt = ox
if(co != null) carbon_amt = co
..()
. = ..()
/obj/effect/spawner/newbomb/Initialize(mapload)
..()
. = ..()
var/obj/item/transfer_valve/V = new(src.loc)
var/obj/item/tank/phoron/PT = new(V)
var/obj/item/tank/oxygen/OT = new(V)
@@ -100,8 +100,8 @@
var/phoron_amt = 0
var/oxygen_amt = 0
/obj/effect/spawner/onetankbomb/New(newloc) //just needs an assembly.
..(newloc)
/obj/effect/spawner/onetankbomb/Initialize(mapload) //just needs an assembly.
. = ..()
var/type = pick(/obj/item/tank/phoron/onetankbomb, /obj/item/tank/oxygen/onetankbomb)
new type(src.loc)
@@ -116,8 +116,8 @@
// var/assembly_type = /obj/item/assembly/signaler
//Note that the maximum amount of gas you can put in a 70L air tank at 1013.25 kPa and 519K is 16.44 mol.
/obj/effect/spawner/onetankbomb/full/New(newloc) //just needs an assembly.
..(newloc)
/obj/effect/spawner/onetankbomb/full/Initialize(mapload) //just needs an assembly.
. = ..()
var/type = pick(/obj/item/tank/phoron/onetankbomb/full, /obj/item/tank/oxygen/onetankbomb/full)
new type(src.loc)
@@ -132,8 +132,8 @@
// var/assembly_type = /obj/item/assembly/signaler
//Note that the maximum amount of gas you can put in a 70L air tank at 1013.25 kPa and 519K is 16.44 mol.
/obj/effect/spawner/onetankbomb/full/New(newloc) //just needs an assembly.
..(newloc)
/obj/effect/spawner/onetankbomb/full/Initialize(mapload) //just needs an assembly.
. = ..()
var/type = pick(/obj/item/tank/phoron/onetankbomb/full, /obj/item/tank/oxygen/onetankbomb/full)
new type(src.loc)
+2 -1
View File
@@ -287,7 +287,7 @@ But for now, for what it's been used for, it works.
return
if(Mtarget)
H.forceMove(Mtarget.loc)
var/obj/locker = new /obj/structure/closet/secure_closet/mind(target.loc, mind_target = H.mind)
var/obj/locker = new /obj/structure/closet/secure_closet/mind(target.loc, H.mind)
for(var/obj/item/W in H)
if(istype(W, /obj/item/implant/backup || istype(W, /obj/item/nif)))
continue
@@ -345,5 +345,6 @@ But for now, for what it's been used for, it works.
name = "Autostrip target to send mobs to."
/obj/effect/autostriptarget/mob/Initialize(mapload)
. = ..()
if(targetid)
GLOB.mapped_autostrips_mob[targetid] = src
@@ -50,11 +50,11 @@
/obj/item/radio/headset/handle_message_mode(mob/living/M as mob, list/message_pieces, channel)
if(channel == "special")
if(translate_binary)
var/datum/language/binary = GLOB.all_languages["Robot Talk"]
var/datum/language/binary = GLOB.all_languages[LANGUAGE_ROBOT_TALK]
binary.broadcast(M, M.strip_prefixes(multilingual_to_message(message_pieces)))
return RADIO_CONNECTION_NON_SUBSPACE
if(translate_hive)
var/datum/language/hivemind = GLOB.all_languages["Hivemind"]
var/datum/language/hivemind = GLOB.all_languages[LANGUAGE_HIVEMIND]
hivemind.broadcast(M, M.strip_prefixes(multilingual_to_message(message_pieces)))
return RADIO_CONNECTION_NON_SUBSPACE
return RADIO_CONNECTION_FAIL
@@ -7,6 +7,7 @@
icon_state = "drop_marker"
/obj/effect/calldown_attack/Initialize(mapload)
. = ..()
var/delay = rand(25, 30)
addtimer(CALLBACK(src, PROC_REF(spawn_object)), delay-7)
@@ -26,7 +27,7 @@
icon = 'icons/effects/random_stuff_vr.dmi'
/obj/effect/illusionary_fall/Initialize(mapload)
.=..()
. = ..()
icon_state = "[rand(1,33)]"
/obj/effect/illusionary_fall/end_fall(var/crushing = FALSE)
+1 -1
View File
@@ -192,7 +192,7 @@
to_chat(user, span_warning("This [W] does not seem to fit."))
return
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), unfinished = 1)
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), FALSE, TRUE)
if(!O) return
user.drop_item()
+7 -3
View File
@@ -37,7 +37,8 @@
light_impact = 7
flash_range = 7
/obj/item/syndie/c4explosive/New()
/obj/item/syndie/c4explosive/Initialize(mapload)
. = ..()
var/K = rand(1,2000)
K = md5(num2text(K)+name)
K = copytext(K,1,7)
@@ -51,8 +52,11 @@
playsound(src, 'sound/weapons/armbomb.ogg', 75, 1)
for(var/mob/O in hearers(src, null))
O.show_message("[icon2html(src, O.client)] " + span_warning(" The [src.name] beeps!"))
sleep(50)
explosion(get_turf(src), devastate, heavy_impact, light_impact, flash_range)
addtimer(CALLBACK(src, PROC_REF(do_detonate)), 5 SECONDS, TIMER_DELETE_ME)
/obj/item/syndie/c4explosive/proc/do_detonate()
SHOULD_NOT_OVERRIDE(TRUE)
PRIVATE_PROC(TRUE)
for(var/dirn in cardinal) //This is to guarantee that C4 at least breaks down all immediately adjacent walls and doors.
var/turf/simulated/wall/T = get_step(src,dirn)
if(locate(/obj/machinery/door/airlock) in T)
+5 -11
View File
@@ -10,14 +10,13 @@
var/maxhealth = 100
var/datum/material/material
/obj/structure/barricade/New(var/newloc, var/material_name)
..(newloc)
/obj/structure/barricade/Initialize(mapload, var/material_name)
. = ..()
if(!material_name)
material_name = MAT_WOOD
material = get_material_by_name("[material_name]")
if(!material)
qdel(src)
return
return INITIALIZE_HINT_QDEL
name = "[material.display_name] barricade"
desc = "This space is blocked off by a barricade made of [material.display_name]."
color = material.icon_colour
@@ -116,16 +115,11 @@
icon = 'icons/obj/sandbags.dmi'
icon_state = "blank"
/obj/structure/barricade/sandbag/New(var/newloc, var/material_name)
/obj/structure/barricade/sandbag/Initialize(mapload, var/material_name)
if(!material_name)
material_name = MAT_CLOTH
..(newloc, material_name)
material = get_material_by_name("[material_name]")
if(!material)
qdel(src)
return
. = ..(mapload, material_name)
name = "[material.display_name] [initial(name)]"
desc = "This space is blocked off by a barricade made of [material.display_name]."
color = null
maxhealth = material.integrity * 2 // These things are, commonly, used to stop bullets where possible.
health = maxhealth
@@ -49,15 +49,13 @@
else
add_overlay("open")
//VOREStation Add Start
/obj/structure/closet/secure_closet/guncabinet/excursion
name = "expedition weaponry cabinet"
req_one_access = list(access_armory)
/obj/structure/closet/secure_closet/guncabinet/excursion/New()
..()
/obj/structure/closet/secure_closet/guncabinet/excursion/Initialize(mapload)
. = ..()
for(var/i = 1 to 2)
new /obj/item/gun/energy/locked/frontier(src)
for(var/i = 1 to 2)
new /obj/item/gun/energy/locked/frontier/holdout(src)
//VOREStation Add End
@@ -163,8 +163,8 @@
var/self_del = 1
anchored = 0
/obj/structure/closet/secure_closet/mind/New(var/datum/mind/mind_target, var/del_self = 1)
.=..()
/obj/structure/closet/secure_closet/mind/Initialize(mapload, var/datum/mind/mind_target, var/del_self = 1)
. = ..()
self_del = del_self
if(mind_target)
owner = mind_target
@@ -13,7 +13,8 @@
var/intialOxy = 0
var/timer = 240 //eventually the person will be freed
/obj/structure/closet/statue/New(loc, var/mob/living/L)
/obj/structure/closet/statue/Initialize(mapload, var/mob/living/L)
. = ..()
if(L && (ishuman(L) || L.isMonkey() || iscorgi(L)))
if(L.buckled)
L.buckled = 0
@@ -41,11 +42,9 @@
desc = "If it takes forever, I will wait for you..."
if(health == 0) //meaning if the statue didn't find a valid target
qdel(src)
return
return INITIALIZE_HINT_QDEL
START_PROCESSING(SSobj, src)
..()
/obj/structure/closet/statue/process()
timer--
+20 -12
View File
@@ -13,8 +13,8 @@
/obj/structure/drop_pod/polite
polite = TRUE
/obj/structure/drop_pod/New(newloc, atom/movable/A, auto_open = FALSE)
..()
/obj/structure/drop_pod/Initialize(mapload, atom/movable/A, auto_open = FALSE)
. = ..()
if(A)
A.forceMove(src) // helo
podfall(auto_open)
@@ -25,8 +25,6 @@
qdel_null(air)
/obj/structure/drop_pod/proc/podfall(auto_open)
set waitfor = FALSE // sleeping in new otherwise
var/turf/T = get_turf(src)
if(!T)
warning("Drop pod wasn't spawned on a turf")
@@ -40,9 +38,11 @@
for(var/turf/TN in turfs_nearby)
new /obj/effect/temporary_effect/shuttle_landing(TN)
// Wait a minute
sleep(4 SECONDS)
addtimer(CALLBACK(src, PROC_REF(do_fall), auto_open, T), 4 SECONDS, TIMER_DELETE_ME)
/obj/structure/drop_pod/proc/do_fall(auto_open, turf/T)
SHOULD_NOT_OVERRIDE(TRUE)
PRIVATE_PROC(TRUE)
// Wheeeeeee
plane = ABOVE_PLANE
pixel_y = 300
@@ -53,10 +53,18 @@
animate(src, alpha = 255, time = 1 SECOND, flags = ANIMATION_PARALLEL)
filters += filter(type="drop_shadow", x=-64, y=100, size=10)
animate(filters[filters.len], x=0, y=0, size=0, time=3 SECONDS, flags=ANIMATION_PARALLEL, easing=SINE_EASING|EASE_OUT)
sleep(2 SECONDS)
addtimer(CALLBACK(src, PROC_REF(after_fall), auto_open, T), 2 SECONDS, TIMER_DELETE_ME)
/obj/structure/drop_pod/proc/after_fall(auto_open, turf/T)
SHOULD_NOT_OVERRIDE(TRUE)
PRIVATE_PROC(TRUE)
new /obj/effect/effect/smoke(T)
T.hotspot_expose(900)
sleep(1 SECOND)
addtimer(CALLBACK(src, PROC_REF(on_impact), auto_open, T), 1 SECOND, TIMER_DELETE_ME)
/obj/structure/drop_pod/proc/on_impact(auto_open, turf/T)
SHOULD_NOT_OVERRIDE(TRUE)
PRIVATE_PROC(TRUE)
filters = null
// CRONCH
@@ -82,14 +90,14 @@
icon_state = "[initial(icon_state)]"
if(auto_open)
sleep(2 SECONDS)
open_pod()
visible_message("\The [src] pops open!")
addtimer(CALLBACK(src, PROC_REF(open_pod), TRUE), 2 SECONDS, TIMER_DELETE_ME)
else
for(var/mob/M in src)
to_chat(M, span_danger("You've landed! Open the hatch if you think it's safe! \The [src] has enough air to last for a while..."))
/obj/structure/drop_pod/proc/open_pod()
/obj/structure/drop_pod/proc/open_pod(dropped)
if(dropped)
visible_message("\The [src] pops open!")
if(finished)
return
icon_state = "[initial(icon_state)]_open"
+11 -8
View File
@@ -19,15 +19,18 @@
var/applies_material_colour = 1
var/wall_type = /turf/simulated/wall
/obj/structure/girder/New(var/newloc, var/material_key)
..(newloc)
/obj/structure/girder/Initialize(mapload, var/material_key)
. = ..()
if(!material_key)
material_key = default_material
set_material(material_key)
var/our_material = get_material_by_name(material_key)
if(!our_material)
return INITIALIZE_HINT_QDEL
set_material(our_material)
update_icon()
/obj/structure/girder/Destroy()
if(girder_material.products_need_process())
if(girder_material && girder_material.products_need_process())
STOP_PROCESSING(SSobj, src)
. = ..()
@@ -45,10 +48,10 @@
return total_radiation
/obj/structure/girder/proc/set_material(var/new_material)
girder_material = get_material_by_name(new_material)
/obj/structure/girder/proc/set_material(var/datum/material/new_material)
if(!girder_material)
qdel(src)
girder_material = new_material
name = "[girder_material.display_name] [initial(name)]"
max_health = round(girder_material.integrity) //Should be 150 with default integrity (steel). Weaker than ye-olden Girders now.
health = max_health
@@ -75,8 +78,8 @@
health = 50
cover = 25
/obj/structure/girder/displaced/New(var/newloc, var/material_key)
..(newloc, material_key)
/obj/structure/girder/displaced/Initialize(mapload, material_key)
. = ..()
displace()
/obj/structure/girder/proc/displace()
+3 -4
View File
@@ -19,14 +19,13 @@
var/datum/material/material
/obj/structure/gravemarker/New(var/newloc, var/material_name)
..(newloc)
/obj/structure/gravemarker/Initialize(mapload, var/material_name)
. = ..()
if(!material_name)
material_name = MAT_WOOD
material = get_material_by_name("[material_name]")
if(!material)
qdel(src)
return
return INITIALIZE_HINT_QDEL
color = material.icon_colour
/obj/structure/gravemarker/examine(mob/user)
+2 -3
View File
@@ -385,10 +385,9 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
var/callme = "pimpin' ride" //how do people refer to it?
/obj/structure/bed/chair/janicart/New()
/obj/structure/bed/chair/janicart/Initialize(mapload, new_material, new_padding_material)
. = ..()
create_reagents(300)
update_layer()
/obj/structure/bed/chair/janicart/examine(mob/user)
. = ..()
+2 -2
View File
@@ -22,8 +22,8 @@
icon_modifier = "grey_"
icon_state = "grey_railing0"
/obj/structure/railing/New(loc, constructed = 0)
..()
/obj/structure/railing/Initialize(mapload, constructed = 0)
. = ..()
// TODO - "constructed" is not passed to us. We need to find a way to do this safely.
if (constructed) // player-constructed railings
anchored = FALSE
@@ -1,5 +1,5 @@
/datum/material/flockium
name = "flockium"
name = MAT_FLOKIUM
//stack_type = /obj/item/stack/material/sandstone
icon_base = "flock"
icon_reinf = "flock"
@@ -20,5 +20,5 @@
icon = 'icons/goonstation/featherzone.dmi'
icon_state = "flockdoor"
/obj/structure/simple_door/flock/New(var/newloc, var/newmat)
..(newloc, "flockium")
/obj/structure/simple_door/flock/Initialize(mapload, var/newmat)
. = ..(mapload, MAT_FLOKIUM)
@@ -19,21 +19,20 @@ var/global/list/stool_cache = list() //haha stool
/obj/item/stool/padded
icon_state = "stool_padded_preview" //set for the map
/obj/item/stool/New(var/newloc, var/new_material, var/new_padding_material)
..(newloc)
/obj/item/stool/Initialize(mapload, var/new_material, var/new_padding_material)
. = ..()
if(!new_material)
new_material = MAT_STEEL
material = get_material_by_name(new_material)
if(new_padding_material)
padding_material = get_material_by_name(new_padding_material)
if(!istype(material))
qdel(src)
return
return INITIALIZE_HINT_QDEL
force = round(material.get_blunt_damage()*0.4)
update_icon()
/obj/item/stool/padded/New(var/newloc, var/new_material)
..(newloc, MAT_STEEL, MAT_CARPET)
/obj/item/stool/padded/Initialize(mapload, var/new_material)
. = ..(mapload, MAT_STEEL, MAT_CARPET)
/obj/item/stool/update_icon()
// Prep icon.
@@ -15,5 +15,5 @@
/obj/item/stool/baystool/padded
icon_state = "bar_stool_padded_preview" //set for the map
/obj/item/stool/baystool/padded/New(var/newloc, var/new_material)
..(newloc, MAT_STEEL, MAT_CARPET)
/obj/item/stool/baystool/padded/Initialize(mapload, var/new_material)
. = ..(mapload, MAT_STEEL, MAT_CARPET)
@@ -32,8 +32,8 @@
secure = "secure_"
icon_state = "l_secure_windoor_assembly01"
/obj/structure/windoor_assembly/New(Loc, start_dir=NORTH, constructed=0)
..()
/obj/structure/windoor_assembly/Initialize(mapload, start_dir=NORTH, constructed=0)
. = ..()
if(constructed)
state = "01"
anchored = FALSE
+2 -2
View File
@@ -386,8 +386,8 @@
update_nearby_tiles(need_rebuild=1)
return
/obj/structure/window/New(Loc, start_dir=null, constructed=0)
..()
/obj/structure/window/Initialize(mapload, start_dir=null, constructed=0)
. = ..()
if (start_dir)
set_dir(start_dir)