[MDB Ignore] Refactors spawners, adds unique icons to spawner effects (#17238)

Co-authored-by: dearmochi <1496804+dearmochi@users.noreply.github.com>
This commit is contained in:
S34N
2022-01-09 22:10:00 +01:00
committed by GitHub
co-authored by dearmochi
parent bc4651a716
commit 0cc1ebd46c
25 changed files with 4629 additions and 6371 deletions
+454 -138
View File
@@ -3,98 +3,258 @@
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x2"
anchored = 1.0
layer = MOB_LAYER
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
/obj/effect/landmark/New()
..()
/obj/effect/landmark/Initialize(mapload)
. = ..()
set_tag()
invisibility = 101
switch(name) //some of these are probably obsolete
if("start")
GLOB.newplayer_start += loc
qdel(src)
if("wizard")
GLOB.wizardstart += loc
qdel(src)
if("JoinLate")
GLOB.latejoin += loc
qdel(src)
if("JoinLateGateway")
GLOB.latejoin_gateway += loc
qdel(src)
if("JoinLateCryo")
GLOB.latejoin_cryo += loc
qdel(src)
if("JoinLateCyborg")
GLOB.latejoin_cyborg += loc
qdel(src)
if("prisonwarp")
GLOB.prisonwarp += loc
qdel(src)
if("syndieprisonwarp")
GLOB.syndieprisonwarp += loc
qdel(src)
if("prisonsecuritywarp")
GLOB.prisonsecuritywarp += loc
qdel(src)
if("tdome1")
GLOB.tdome1 += loc
if("tdome2")
GLOB.tdome2 += loc
if("tdomeadmin")
GLOB.tdomeadmin += loc
if("tdomeobserve")
GLOB.tdomeobserve += loc
if("aroomwarp")
GLOB.aroomwarp += loc
if("blobstart")
GLOB.blobstart += loc
qdel(src)
if("xeno_spawn")
GLOB.xeno_spawn += loc
qdel(src)
if("ninjastart")
GLOB.ninjastart += loc
qdel(src)
if("carpspawn")
GLOB.carplist += loc
if("voxstart")
GLOB.raider_spawn += loc
if("ERT Director")
GLOB.ertdirector += loc
qdel(src)
if("Response Team")
GLOB.emergencyresponseteamspawn += loc
qdel(src)
if("Syndicate Officer")
GLOB.syndicateofficer += loc
qdel(src)
GLOB.landmarks_list += src
return 1
/obj/effect/landmark/newplayer_start //There should only be one of these, in the lobby art area
name = "start"
INITIALIZE_IMMEDIATE(/obj/effect/landmark/newplayer_start) //Without this you spawn in the corner of the map and things break horribly
/obj/effect/landmark/newplayer_start/Initialize(mapload)
. = ..()
GLOB.newplayer_start += loc
qdel(src)
/obj/effect/landmark/lightsout
name = "Electrical Storm Epicentre"
/obj/effect/landmark/mechlaunch
name = "CC mech exit point"
/obj/effect/landmark/awaystart
name = "awaystart"
icon = 'icons/effects/spawner_icons.dmi'
icon_state = "Assistant"
INITIALIZE_IMMEDIATE(/obj/effect/landmark/awaystart) //Without this away missions break
/obj/effect/landmark/awaystart/Initialize(mapload)
GLOB.awaydestinations.Add(src)
return ..()
/obj/effect/landmark/spawner
icon = 'icons/effects/spawner_icons.dmi'
icon_state = "questionmark"
var/spawner_list
/obj/effect/landmark/spawner/Initialize(mapload)
. = ..()
if(spawner_list)
spawner_list += loc
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/spawner/soltrader
name = "traderstart_sol"
icon_state = "Trader"
/obj/effect/landmark/spawner/ert
name = "Response Team"
icon_state = "ERT"
/obj/effect/landmark/spawner/ert/Initialize(mapload)
spawner_list = GLOB.emergencyresponseteamspawn
return ..()
/obj/effect/landmark/spawner/ds
name = "Commando"
icon_state = "ERT"
/obj/effect/landmark/spawner/wiz
name = "wizard"
icon_state = "Wiz"
/obj/effect/landmark/spawner/wiz/Initialize(mapload)
spawner_list = GLOB.wizardstart
return ..()
/obj/effect/landmark/spawner/xeno
name = "xeno_spawn"
icon_state = "Xeno"
/obj/effect/landmark/spawner/xeno/Initialize(mapload)
spawner_list = GLOB.xeno_spawn
return ..()
/obj/effect/landmark/spawner/blob
name = "blobstart"
icon_state = "Blob"
/obj/effect/landmark/spawner/blob/Initialize(mapload)
spawner_list = GLOB.blobstart
return ..()
/obj/effect/landmark/spawner/late
icon_state = "Assistant"
/obj/effect/landmark/spawner/late/crew
name = "Late Join Crew"
/obj/effect/landmark/spawner/late/crew/Initialize(mapload)
spawner_list = GLOB.latejoin
return ..()
/obj/effect/landmark/spawner/late/cryo
name = "Late Join Cryo"
/obj/effect/landmark/spawner/late/cryo/Initialize(mapload)
spawner_list = GLOB.latejoin_cryo
..()
/obj/effect/landmark/spawner/late/cyborg
name = "Late Join Cyborg"
icon_state = "Borg"
/obj/effect/landmark/spawner/late/cyborg/Initialize(mapload)
spawner_list = GLOB.latejoin_cyborg
..()
/obj/effect/landmark/spawner/late/gateway
name = "Late Join Gateway"
/obj/effect/landmark/spawner/late/gateway/Initialize(mapload)
spawner_list = GLOB.latejoin_gateway
..()
/obj/effect/landmark/spawner/carp
name = "carpspawn"
icon_state = "Carp"
/obj/effect/landmark/spawner/carp/Initialize(mapload)
spawner_list = GLOB.carplist
return ..()
/obj/effect/landmark/spawner/rev
name = "revenantspawn"
icon_state = "Rev"
/obj/effect/landmark/spawner/syndie
name = "Syndicate-Spawn"
icon_state = "Syndie"
/obj/effect/landmark/spawner/syndicateofficer
name = "Syndicate Officer"
/obj/effect/landmark/spawner/syndicateofficer/Initialize(mapload)
spawner_list = GLOB.syndicateofficer
return ..()
/obj/effect/landmark/spawner/ertdirector
name = "ERT Director"
/obj/effect/landmark/spawner/ertdirector/Initialize(mapload)
spawner_list = GLOB.ertdirector
return ..()
/obj/effect/landmark/spawner/raider_spawn
name = "voxstart"
/obj/effect/landmark/spawner/raider_spawn/Initialize(mapload)
spawner_list = GLOB.raider_spawn
return ..()
/obj/effect/landmark/spawner/ninjastart
name = "ninjastart"
/obj/effect/landmark/spawner/ninjastart/Initialize(mapload)
spawner_list = GLOB.ninjastart
return ..()
/obj/effect/landmark/spawner/aroomwarp
name = "aroomwarp"
/obj/effect/landmark/spawner/aroomwarp/Initialize(mapload)
spawner_list = GLOB.aroomwarp
return ..()
/obj/effect/landmark/spawner/tdomeobserve
name = "tdomeobserve"
/obj/effect/landmark/spawner/tdomeobserve/Initialize(mapload)
spawner_list = GLOB.tdomeobserve
return ..()
/obj/effect/landmark/spawner/tdomeadmin
name = "tdomeadmin"
/obj/effect/landmark/spawner/tdomeadmin/Initialize(mapload)
spawner_list = GLOB.tdomeadmin
return ..()
/obj/effect/landmark/spawner/tdome2
name = "tdome2"
/obj/effect/landmark/spawner/tdome2/Initialize(mapload)
spawner_list = GLOB.tdome2
return ..()
/obj/effect/landmark/spawner/tdome1
name = "tdome1"
/obj/effect/landmark/spawner/tdome1/Initialize(mapload)
spawner_list = GLOB.tdome1
return ..()
/obj/effect/landmark/spawner/prisonsecuritywarp
name = "prisonsecuritywarp"
/obj/effect/landmark/spawner/prisonsecuritywarp/Initialize(mapload)
spawner_list = GLOB.prisonsecuritywarp
return ..()
/obj/effect/landmark/spawner/syndieprisonwarp
name = "syndieprisonwarp"
/obj/effect/landmark/spawner/syndieprisonwarp/Initialize(mapload)
spawner_list = GLOB.syndieprisonwarp
return ..()
/obj/effect/landmark/spawner/prisonwarp
name = "prisonwarp"
/obj/effect/landmark/spawner/prisonwarp/Initialize(mapload)
spawner_list = GLOB.prisonwarp
return ..()
/obj/effect/landmark/spawner/syndicate_commando
name = "Syndicate-Commando"
icon_state = "Syndie"
/obj/effect/landmark/spawner/syndicate_infiltrator
name = "Syndicate-Infiltrator"
icon_state = "Syndie"
/obj/effect/landmark/spawner/syndicate_infiltrator_leader
name = "Syndicate-Infiltrator-Leader"
icon_state = "Syndie"
/obj/effect/landmark/spawner/atmos_test
name = "Atmospheric Test Start"
/obj/effect/landmark/spawner/commando_manual
name = "Commando_Manual"
/obj/effect/landmark/spawner/holding_facility
name = "Holding Facility"
/obj/effect/landmark/spawner/holocarp
name = "Holocarp Spawn"
/obj/effect/landmark/spawner/nuclear_bomb
name = "Nuclear-Bomb"
/obj/effect/landmark/spawner/teleport_scroll
name = "Teleport-Scroll"
/obj/effect/landmark/spawner/nuke_code
name = "nukecode"
/obj/effect/landmark/Destroy()
GLOB.landmarks_list -= src
@@ -117,89 +277,246 @@
/obj/effect/landmark/start
name = "start"
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x"
icon = 'icons/effects/spawner_icons.dmi'
icon_state = "Assistant"
anchored = 1.0
/obj/effect/landmark/start/ai
name = "AI"
icon_state = "AI"
/obj/effect/landmark/start/assistant
name = "Assistant"
icon_state = "Assistant"
/obj/effect/landmark/start/atmospheric
name = "Life Support Specialist"
icon_state = "Atmos"
/obj/effect/landmark/start/blueshield
name = "Blueshield"
icon_state = "BS"
/obj/effect/landmark/start/barber
name = "Barber"
icon_state = "Barber"
/obj/effect/landmark/start/bartender
name = "Bartender"
icon_state = "Bartender"
/obj/effect/landmark/start/cyborg
name = "Cyborg"
icon_state = "Borg"
/obj/effect/landmark/start/botanist
name = "Botanist"
icon_state = "Botanist"
/obj/effect/landmark/start/chief_engineer
name = "Chief Engineer"
icon_state = "CE"
/obj/effect/landmark/start/chief_medical_officer
name = "Chief Medical Officer"
icon_state = "CMO"
/obj/effect/landmark/start/captain
name = "Captain"
icon_state = "Cap"
/obj/effect/landmark/start/cargo_technician
name = "Cargo Technician"
icon_state = "CargoTech"
/obj/effect/landmark/start/chaplain
name = "Chaplain"
icon_state = "Chap"
/obj/effect/landmark/start/chef
name = "Chef"
icon_state = "Chef"
/obj/effect/landmark/start/chemist
name = "Chemist"
icon_state = "Chemist"
/obj/effect/landmark/start/clown
name = "Clown"
icon_state = "Clown"
/obj/effect/landmark/start/coroner
name = "Coroner"
icon_state = "Coroner"
/obj/effect/landmark/start/detective
name = "Detective"
icon_state = "Det"
/obj/effect/landmark/start/engineer
name = "Station Engineer"
icon_state = "Engi"
/obj/effect/landmark/start/geneticist
name = "Geneticist"
icon_state = "Genetics"
/obj/effect/landmark/start/head_of_personnel
name = "Head of Personnel"
icon_state = "HoP"
/obj/effect/landmark/start/head_of_security
name = "Head of Security"
icon_state = "HoS"
/obj/effect/landmark/start/internal_affairs
name = "Internal Affairs Agent"
icon_state = "IAA"
/obj/effect/landmark/start/janitor
name = "Janitor"
icon_state = "Jani"
/obj/effect/landmark/start/librarian
name = "Librarian"
icon_state = "Librarian"
/obj/effect/landmark/start/doctor
name = "Medical Doctor"
icon_state = "MD"
/obj/effect/landmark/start/magistrate
name = "Magistrate"
icon_state = "Magi"
/obj/effect/landmark/start/mime
name = "Mime"
icon_state = "Mime"
/obj/effect/landmark/start/shaft_miner
name = "Shaft Miner"
icon_state = "Miner"
/obj/effect/landmark/start/nanotrasen_rep
name = "Nanotrasen Representative"
icon_state = "NTR"
/obj/effect/landmark/start/paramedic
name = "Paramedic"
icon_state = "Paramed"
/obj/effect/landmark/start/psychiatrist
name = "Psychiatrist"
icon_state = "Psych"
/obj/effect/landmark/start/quartermaster
name = "Quartermaster"
icon_state = "QM"
/obj/effect/landmark/start/research_director
name = "Research Director"
icon_state = "RD"
/obj/effect/landmark/start/roboticist
name = "Roboticist"
icon_state = "Robo"
/obj/effect/landmark/start/scientist
name = "Scientist"
icon_state = "Sci"
/obj/effect/landmark/start/security_officer
name = "Security Officer"
icon_state = "Sec"
/obj/effect/landmark/start/virologist
name = "Virologist"
icon_state = "Viro"
/obj/effect/landmark/start/warden
name = "Warden"
icon_state = "Warden"
/obj/effect/landmark/start/set_tag()
tag = "start*[name]"
//Costume spawner landmarks
/obj/effect/landmark/costume/random/New() //costume spawner, selects a random subclass and disappears
/obj/effect/landmark/costume/random/Initialize(mapload) //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)
return INITIALIZE_HINT_QDEL
//SUBCLASSES. Spawn a bunch of items and disappear likewise
/obj/effect/landmark/costume/chicken/New()
/obj/effect/landmark/costume/chicken/Initialize(mapload)
. = ..()
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)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/gladiator/New()
/obj/effect/landmark/costume/gladiator/Initialize(mapload)
. = ..()
new /obj/item/clothing/under/gladiator(src.loc)
new /obj/item/clothing/head/helmet/gladiator(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/madscientist/New()
/obj/effect/landmark/costume/madscientist/Initialize(mapload)
. = ..()
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)
new /obj/item/clothing/glasses/gglasses(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/elpresidente/New()
/obj/effect/landmark/costume/elpresidente/Initialize(mapload)
. = ..()
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)
new /obj/item/clothing/shoes/jackboots(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/schoolgirl/New()
/obj/effect/landmark/costume/schoolgirl/Initialize(mapload)
. = ..()
new /obj/item/clothing/under/schoolgirl(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/maid/New()
/obj/effect/landmark/costume/maid/Initialize(mapload)
. = ..()
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)
new /obj/item/clothing/glasses/sunglasses/blindfold(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/butler/New()
/obj/effect/landmark/costume/butler/Initialize(mapload)
. = ..()
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)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/scratch/New()
/obj/effect/landmark/costume/scratch/Initialize(mapload)
. = ..()
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)
if(prob(30))
new /obj/item/clothing/head/cueball(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/highlander/New()
/obj/effect/landmark/costume/highlander/Initialize(mapload)
. = ..()
new /obj/item/clothing/under/kilt(src.loc)
new /obj/item/clothing/head/beret(src.loc)
qdel(src)
/obj/effect/landmark/costume/prig/New()
/obj/effect/landmark/costume/prig/Initialize(mapload)
. = ..()
new /obj/item/clothing/suit/wcoat(src.loc)
new /obj/item/clothing/glasses/monocle(src.loc)
@@ -209,83 +526,83 @@
new /obj/item/cane(src.loc)
new /obj/item/clothing/under/sl_suit(src.loc)
new /obj/item/clothing/mask/fakemoustache(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/plaguedoctor/New()
/obj/effect/landmark/costume/plaguedoctor/Initialize(mapload)
. = ..()
new /obj/item/clothing/suit/bio_suit/plaguedoctorsuit(src.loc)
new /obj/item/clothing/head/plaguedoctorhat(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/nightowl/New()
/obj/effect/landmark/costume/nightowl/Initialize(mapload)
. = ..()
new /obj/item/clothing/under/owl(src.loc)
new /obj/item/clothing/mask/gas/owl_mask(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/waiter/New()
/obj/effect/landmark/costume/waiter/Initialize(mapload)
. = ..()
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)
new /obj/item/clothing/suit/apron(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/pirate/New()
/obj/effect/landmark/costume/pirate/Initialize(mapload)
. = ..()
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 )
new CHOICE(src.loc)
new /obj/item/clothing/glasses/eyepatch(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/commie/New()
/obj/effect/landmark/costume/commie/Initialize(mapload)
. = ..()
new /obj/item/clothing/under/soviet(src.loc)
new /obj/item/clothing/head/ushanka(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/imperium_monk/New()
/obj/effect/landmark/costume/imperium_monk/Initialize(mapload)
. = ..()
new /obj/item/clothing/suit/imperium_monk(src.loc)
if(prob(25))
new /obj/item/clothing/mask/gas/cyborg(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/holiday_priest/New()
/obj/effect/landmark/costume/holiday_priest/Initialize(mapload)
. = ..()
new /obj/item/clothing/suit/holidaypriest(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/marisawizard/fake/New()
/obj/effect/landmark/costume/marisawizard/fake/Initialize(mapload)
. = ..()
new /obj/item/clothing/head/wizard/marisa/fake(src.loc)
new/obj/item/clothing/suit/wizrobe/marisa/fake(src.loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/cutewitch/New()
/obj/effect/landmark/costume/cutewitch/Initialize(mapload)
. = ..()
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)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/fakewizard/New()
/obj/effect/landmark/costume/fakewizard/Initialize(mapload)
. = ..()
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)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/sexyclown/New()
/obj/effect/landmark/costume/sexyclown/Initialize(mapload)
. = ..()
new /obj/item/clothing/mask/gas/clown_hat/sexy(loc)
new /obj/item/clothing/under/rank/clown/sexy(loc)
qdel(src)
return INITIALIZE_HINT_QDEL
/obj/effect/landmark/costume/sexymime/New()
/obj/effect/landmark/costume/sexymime/Initialize(mapload)
. = ..()
new /obj/item/clothing/mask/gas/sexymime(src.loc)
new /obj/item/clothing/under/sexymime(src.loc)
@@ -309,8 +626,8 @@
/obj/effect/landmark/damageturf
icon_state = "damaged"
/obj/effect/landmark/damageturf/New()
..()
/obj/effect/landmark/damageturf/Initialize(mapload)
. = ..()
var/turf/simulated/T = get_turf(src)
if(istype(T))
T.break_tile()
@@ -318,12 +635,11 @@
/obj/effect/landmark/burnturf
icon_state = "burned"
/obj/effect/landmark/burnturf/New()
..()
/obj/effect/landmark/burnturf/Initialize(mapload)
. = ..()
var/turf/simulated/T = get_turf(src)
T.burn_tile()
/obj/effect/landmark/battle_mob_point
name = "Nanomob Battle Avatar Spawn Point"
+21 -3
View File
@@ -1,6 +1,6 @@
/obj/effect/spawner/lootdrop
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x2"
icon = 'icons/effects/spawner_icons.dmi'
icon_state = "questionmark"
color = "#00FF00"
var/lootcount = 1 //how many items will be spawned
var/lootdoubles = 1 //if the same item can be spawned twice
@@ -31,7 +31,9 @@
)
/obj/effect/spawner/lootdrop/maintenance
name = "maintenance loot spawner"
name = "maintenance loot spawner (1 item)"
icon_state = "loot"
color = null
//How to balance this table
//-------------------------
@@ -161,6 +163,22 @@
"" = 64 // Reduce this number if you add things above. Make sure all the numbers in the list add to 100 EXACTLY
)
/obj/effect/spawner/lootdrop/maintenance/two
name = "maintenance loot spawner (2 items)"
icon_state = "doubleloot"
lootcount = 2
/obj/effect/spawner/lootdrop/maintenance/three
name = "maintenance loot spawner (3 items)"
icon_state = "moreloot"
lootcount = 3
/obj/effect/spawner/lootdrop/maintenance/eight
name = "maintenance loot spawner (8 items)"
icon_state = "megaloot"
lootcount = 8
/obj/effect/spawner/lootdrop/crate_spawner // for ruins
name = "lootcrate spawner"
lootdoubles = 0
@@ -1,5 +1,7 @@
/obj/effect/spawner/random_barrier
name = "random tile"
icon = 'icons/effects/spawner_icons.dmi'
icon_state = "questionmark"
var/list/result = list(
/turf/simulated/floor/plasteel = 1,
/turf/simulated/wall = 1,
@@ -26,6 +28,7 @@
/obj/effect/spawner/random_barrier/wall_probably
name = "probably a wall"
icon_state = "girder"
result = list(
/turf/simulated/wall = 9,
/obj/structure/falsewall = 1)
@@ -38,6 +41,7 @@
/obj/effect/spawner/random_barrier/obstruction
name = "obstruction"
icon_state = "barrier"
result = list(
/turf/simulated/wall = 1,
/obj/structure/falsewall = 1,
@@ -46,12 +50,14 @@
/obj/effect/spawner/random_barrier/possibly_welded_airlock // these have no access restrictions, so for internal maintenance only
name = "possibly welded airlock"
icon_state = "airlock"
result = list(
/obj/machinery/door/airlock = 3,
/obj/machinery/door/airlock/welded = 1)
/obj/effect/spawner/random_spawners/grille_often
name = "grille often"
icon_state = "grille"
result = list(
/obj/structure/grille = 8,
/obj/structure/grille/broken = 4,
@@ -59,6 +65,7 @@
/obj/effect/spawner/random_spawners/grille_maybe
name = "grille maybe"
icon_state = "grille"
result = list(
/obj/structure/grille = 2,
/obj/structure/grille/broken = 2,
@@ -1,7 +1,7 @@
/obj/effect/spawner/random_spawners
name = "random spawners"
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x2"
icon = 'icons/effects/spawner_icons.dmi'
icon_state = "questionmark"
var/list/result = list(
/datum/nothing = 1,
/obj/effect/decal/cleanable/blood/splatter = 1,
@@ -35,84 +35,100 @@
/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_maybe
name = "oil often"
icon_state = "oil"
result = list(
/datum/nothing = 5,
/obj/effect/decal/cleanable/blood/oil = 1)
/obj/effect/spawner/random_spawners/wall_rusted_probably
name = "rusted wall probably"
icon_state = "rust"
result = list(
/turf/simulated/wall = 2,
/turf/simulated/wall/rust = 7)
/obj/effect/spawner/random_spawners/wall_rusted_maybe
name = "rusted wall maybe"
icon_state = "rust"
result = list(
/turf/simulated/wall = 7,
/turf/simulated/wall/rust = 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_rare
name = "dirt rare"
icon_state = "dirt"
result = list(
/datum/nothing = 10,
/obj/effect/decal/cleanable/dirt = 1)
/obj/effect/spawner/random_spawners/fungus_maybe
name = "rusted wall maybe"
name = "fungus maybe"
icon_state = "fungus"
color = "#D5820B"
result = list(
/turf/simulated/wall = 7,
/obj/effect/decal/cleanable/fungus = 1)
/obj/effect/spawner/random_spawners/fungus_probably
name = "rusted wall maybe"
name = "fungus probably"
icon_state = "fungus"
color = "#D5820B"
result = list(
/turf/simulated/wall = 1,
/obj/effect/decal/cleanable/fungus = 7)