mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 20:47:10 +01:00
refactor: Migrate more random_spawners to random/spawners and mapping helpers. (#27017)
* refactor: Migrate more random_spawners to random/spawners and mapping helpers. * set script PR number * maybe using a reserved keyword isn't a great idea * oh i guess we're done * whoops * make code actually work * gnarg * rerun updatepaths for recent changes * rerun updatepaths for recent changes * fix build
This commit is contained in:
@@ -242,7 +242,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/newplayer_start) //Without this you sp
|
||||
/obj/effect/landmark/spawner/roundstart_observer/Initialize(mapload)
|
||||
spawner_list = GLOB.roundstart_observer_start
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/effect/landmark/Destroy()
|
||||
GLOB.landmarks_list -= src
|
||||
..()
|
||||
@@ -659,24 +659,3 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/newplayer_start) //Without this you sp
|
||||
|
||||
/obj/effect/landmark/mob_spawner/abandoned_minebot
|
||||
mobtype = /mob/living/simple_animal/hostile/asteroid/abandoned_minebot
|
||||
|
||||
// Damage tiles
|
||||
/obj/effect/landmark/damageturf
|
||||
icon_state = "damaged"
|
||||
|
||||
/obj/effect/landmark/damageturf/Initialize(mapload)
|
||||
. = ..()
|
||||
var/turf/simulated/T = get_turf(src)
|
||||
if(istype(T))
|
||||
T.break_tile()
|
||||
|
||||
/obj/effect/landmark/burnturf
|
||||
icon_state = "burned"
|
||||
|
||||
/obj/effect/landmark/burnturf/Initialize(mapload)
|
||||
. = ..()
|
||||
var/turf/simulated/T = get_turf(src)
|
||||
T.burn_tile()
|
||||
|
||||
/obj/effect/landmark/free_golem_spawn
|
||||
name = "Free Golem Spawn Point"
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
/obj/effect/spawner/random_spawners
|
||||
name = "random spawners"
|
||||
icon = 'icons/effects/spawner_icons.dmi'
|
||||
icon_state = "questionmark"
|
||||
var/list/result = list(
|
||||
/datum/nothing = 1,
|
||||
/obj/effect/decal/cleanable/blood/splatter = 1,
|
||||
/obj/effect/decal/cleanable/blood/oil = 1,
|
||||
/obj/effect/decal/cleanable/fungus = 1)
|
||||
var/spawn_inside = null
|
||||
|
||||
// This needs to use New() instead of Initialize() because the thing it creates might need to be initialized too
|
||||
// AA 2022-08-11: The above comment doesnt even make sense. If extra atoms are loaded during SSatoms.Initialize(), they still get initialised!
|
||||
/obj/effect/spawner/random_spawners/New()
|
||||
. = ..()
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T)
|
||||
stack_trace("Spawner placed in nullspace!")
|
||||
return
|
||||
randspawn(T)
|
||||
|
||||
/obj/effect/spawner/random_spawners/proc/randspawn(turf/T)
|
||||
var/thing_to_place = pickweight(result)
|
||||
if(ispath(thing_to_place, /datum/nothing))
|
||||
// Nothing.
|
||||
qdel(src) // See line 13, this needs moving to /Initialize() so we can use the qdel hint already
|
||||
return
|
||||
else if(ispath(thing_to_place, /turf))
|
||||
T.ChangeTurf(thing_to_place)
|
||||
else
|
||||
if(ispath(spawn_inside, /obj))
|
||||
var/obj/O = new thing_to_place(T)
|
||||
var/obj/E = new spawn_inside(T)
|
||||
O.forceMove(E)
|
||||
else
|
||||
new thing_to_place(T)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/spawner/random_spawners/blood_maybe
|
||||
name = "blood maybe"
|
||||
icon_state = "blood"
|
||||
result = list(
|
||||
/datum/nothing = 20,
|
||||
/obj/effect/decal/cleanable/blood/splatter = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/blood_often
|
||||
name = "blood often"
|
||||
icon_state = "blood"
|
||||
result = list(
|
||||
/datum/nothing = 5,
|
||||
/obj/effect/decal/cleanable/blood/splatter = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/oil_maybe
|
||||
name = "oil maybe"
|
||||
icon_state = "oil"
|
||||
result = list(
|
||||
/datum/nothing = 20,
|
||||
/obj/effect/decal/cleanable/blood/oil = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/oil_often
|
||||
name = "oil often"
|
||||
icon_state = "oil"
|
||||
result = list(
|
||||
/datum/nothing = 5,
|
||||
/obj/effect/decal/cleanable/blood/oil = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/cobweb_left_frequent
|
||||
name = "cobweb left frequent"
|
||||
icon_state = "cobwebl"
|
||||
result = list(
|
||||
/datum/nothing = 1,
|
||||
/obj/effect/decal/cleanable/cobweb = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/cobweb_right_frequent
|
||||
name = "cobweb right frequent"
|
||||
icon_state = "cobwebr"
|
||||
result = list(
|
||||
/datum/nothing = 1,
|
||||
/obj/effect/decal/cleanable/cobweb2 = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/cobweb_left_rare
|
||||
name = "cobweb left rare"
|
||||
icon_state = "cobwebl"
|
||||
result = list(
|
||||
/datum/nothing = 10,
|
||||
/obj/effect/decal/cleanable/cobweb = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/cobweb_right_rare
|
||||
name = "cobweb right rare"
|
||||
icon_state = "cobwebr"
|
||||
result = list(
|
||||
/datum/nothing = 10,
|
||||
/obj/effect/decal/cleanable/cobweb2 = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/dirt_frequent
|
||||
name = "dirt frequent"
|
||||
icon_state = "dirt"
|
||||
result = list(
|
||||
/datum/nothing = 1,
|
||||
/obj/effect/decal/cleanable/dirt = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/dirt_often
|
||||
name = "dirt often"
|
||||
icon_state = "dirt"
|
||||
result = list(
|
||||
/datum/nothing = 5,
|
||||
/obj/effect/decal/cleanable/dirt = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/dirt_maybe
|
||||
name = "dirt maybe"
|
||||
icon_state = "dirt"
|
||||
result = list(
|
||||
/datum/nothing = 7,
|
||||
/obj/effect/decal/cleanable/dirt = 1)
|
||||
@@ -0,0 +1,93 @@
|
||||
/obj/effect/spawner/random/fungus
|
||||
name = "fungus 100% chance"
|
||||
icon = 'icons/effects/random_spawners.dmi'
|
||||
icon_state = "fungus"
|
||||
color = "#D5820B"
|
||||
loot = list(/obj/effect/decal/cleanable/fungus)
|
||||
|
||||
/obj/effect/spawner/random/fungus/maybe
|
||||
name = "fungus 15% chance"
|
||||
spawn_loot_chance = 15
|
||||
|
||||
/obj/effect/spawner/random/fungus/frequent
|
||||
name = "fungus 50% chance"
|
||||
spawn_loot_chance = 50
|
||||
|
||||
/obj/effect/spawner/random/fungus/probably
|
||||
name = "fungus 85% chance"
|
||||
spawn_loot_chance = 85
|
||||
|
||||
/obj/effect/spawner/random/blood
|
||||
name = "blood 100% chance"
|
||||
icon = 'icons/effects/random_spawners.dmi'
|
||||
icon_state = "blood"
|
||||
loot = list(/obj/effect/decal/cleanable/blood/splatter)
|
||||
|
||||
/obj/effect/spawner/random/blood/maybe
|
||||
name = "blood 4% chance"
|
||||
spawn_loot_chance = 4
|
||||
|
||||
/obj/effect/spawner/random/blood/often
|
||||
name = "blood 16% chance"
|
||||
spawn_loot_chance = 16
|
||||
|
||||
/obj/effect/spawner/random/oil
|
||||
name = "oil 100% chance"
|
||||
icon = 'icons/effects/random_spawners.dmi'
|
||||
icon_state = "oil"
|
||||
loot = list(/obj/effect/decal/cleanable/blood/oil)
|
||||
|
||||
/obj/effect/spawner/random/oil/maybe
|
||||
name = "oil 4% chance"
|
||||
spawn_loot_chance = 4
|
||||
|
||||
/obj/effect/spawner/random/oil/often
|
||||
name = "oil 16% chance"
|
||||
spawn_loot_chance = 16
|
||||
|
||||
/obj/effect/spawner/random/cobweb
|
||||
icon = 'icons/effects/random_spawners.dmi'
|
||||
|
||||
/obj/effect/spawner/random/cobweb/left
|
||||
name = "cobweb left 100% chance"
|
||||
icon_state = "cobwebl"
|
||||
loot = list(/obj/effect/decal/cleanable/cobweb)
|
||||
|
||||
/obj/effect/spawner/random/cobweb/left/frequent
|
||||
name = "cobweb left 50% chance"
|
||||
spawn_loot_chance = 50
|
||||
|
||||
/obj/effect/spawner/random/cobweb/left/rare
|
||||
name = "cobweb left 9% chance"
|
||||
spawn_loot_chance = 9
|
||||
|
||||
/obj/effect/spawner/random/cobweb/right
|
||||
name = "cobweb right 100% chance"
|
||||
icon_state = "cobwebr"
|
||||
loot = list(/obj/effect/decal/cleanable/cobweb2)
|
||||
|
||||
/obj/effect/spawner/random/cobweb/right/frequent
|
||||
name = "cobweb right 50% chance"
|
||||
spawn_loot_chance = 50
|
||||
|
||||
/obj/effect/spawner/random/cobweb/right/rare
|
||||
name = "cobweb right 9% chance"
|
||||
spawn_loot_chance = 9
|
||||
|
||||
/obj/effect/spawner/random/dirt
|
||||
name = "dirt 100% chance"
|
||||
icon = 'icons/effects/random_spawners.dmi'
|
||||
icon_state = "dirt"
|
||||
loot = list(/obj/effect/decal/cleanable/dirt)
|
||||
|
||||
/obj/effect/spawner/random/dirt/frequent
|
||||
name = "dirt 50% chance"
|
||||
spawn_loot_chance = 50
|
||||
|
||||
/obj/effect/spawner/random/dirt/often
|
||||
name = "dirt 16% chance"
|
||||
spawn_loot_chance = 16
|
||||
|
||||
/obj/effect/spawner/random/dirt/maybe
|
||||
name = "dirt 12% chance"
|
||||
spawn_loot_chance = 12
|
||||
@@ -1,13 +0,0 @@
|
||||
/obj/effect/spawner/random/fungus
|
||||
icon_state = "fungus"
|
||||
color = "#D5820B"
|
||||
loot = list(/obj/effect/decal/cleanable/fungus)
|
||||
|
||||
/obj/effect/spawner/random/fungus/maybe
|
||||
spawn_loot_chance = 15
|
||||
|
||||
/obj/effect/spawner/random/fungus/frequent
|
||||
spawn_loot_chance = 50
|
||||
|
||||
/obj/effect/spawner/random/fungus/probably
|
||||
spawn_loot_chance = 85
|
||||
@@ -1,30 +0,0 @@
|
||||
/obj/effect/spawner/random_spawners/proc/rustify(turf/T)
|
||||
var/turf/simulated/wall/W = T
|
||||
if(istype(W) && !W.rusted)
|
||||
W.rust()
|
||||
|
||||
/obj/effect/spawner/random_spawners/wall_rusted_probably
|
||||
name = "rusted wall probably"
|
||||
icon_state = "rust"
|
||||
|
||||
/obj/effect/spawner/random_spawners/wall_rusted_probably/randspawn(turf/T)
|
||||
if(prob(75))
|
||||
rustify(T)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/spawner/random_spawners/wall_rusted_maybe
|
||||
name = "rusted wall maybe"
|
||||
icon_state = "rust"
|
||||
|
||||
/obj/effect/spawner/random_spawners/wall_rusted_maybe/randspawn(turf/T)
|
||||
if(prob(25))
|
||||
rustify(T)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/spawner/random_spawners/wall_rusted_always
|
||||
name = "rusted wall always"
|
||||
icon_state = "rust"
|
||||
|
||||
/obj/effect/spawner/random_spawners/wall_rusted_always/randspawn(turf/T)
|
||||
rustify(T)
|
||||
qdel(src)
|
||||
Reference in New Issue
Block a user