diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index 1f806137d50..676b7d1c25b 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -154,6 +154,12 @@ #define MAT_LOG "log" #define MAT_SIFWOOD "alien wood" #define MAT_SIFLOG "alien log" +#define MAT_STEELHULL "steel hull" +#define MAT_PLASTEEL "plasteel" +#define MAT_PLASTEELHULL "plasteel hull" +#define MAT_DURASTEEL "durasteel" +#define MAT_DURASTEELHULL "durasteel hull" +#define MAT_TITANIUMHULL "titanium hull" #define SHARD_SHARD "shard" #define SHARD_SHRAPNEL "shrapnel" diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 53707c98cd9..012677200c3 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -101,6 +101,7 @@ #define INV_ACCESSORIES_DEF_ICON 'icons/mob/ties.dmi' #define INV_TIE_DEF_ICON 'icons/mob/ties.dmi' #define INV_SUIT_DEF_ICON 'icons/mob/suit.dmi' +#define INV_SPACESUIT_DEF_ICON 'icons/mob/spacesuit.dmi' #define INV_WEAR_ID_DEF_ICON 'icons/mob/mob.dmi' #define INV_GLOVES_DEF_ICON 'icons/mob/hands.dmi' #define INV_EYES_DEF_ICON 'icons/mob/eyes.dmi' @@ -264,6 +265,7 @@ #define SPECIES_SHADOW "Shadow" #define SPECIES_SKELETON "Skeleton" #define SPECIES_GOLEM "Golem" +#define SPECIES_EVENT1 "X Occursus" // Used to seperate simple animals by ""intelligence"". #define SA_PLANT 1 diff --git a/code/__defines/species_languages.dm b/code/__defines/species_languages.dm index 87f1f9b3ca1..81a55f84d7b 100644 --- a/code/__defines/species_languages.dm +++ b/code/__defines/species_languages.dm @@ -48,6 +48,7 @@ #define LANGUAGE_TERMINUS "Terminus" #define LANGUAGE_SKRELLIANFAR "High Skrellian" #define LANGUAGE_MINBUS "Minbus" +#define LANGUAGE_EVENT1 "Occursus" #define LANGUAGE_AKHANI "Akhani" // Language flags. diff --git a/code/datums/outfits/costumes/halloween.dm b/code/datums/outfits/costumes/halloween.dm index 36659e2141a..cca80476250 100644 --- a/code/datums/outfits/costumes/halloween.dm +++ b/code/datums/outfits/costumes/halloween.dm @@ -42,7 +42,7 @@ /decl/hierarchy/outfit/costume/horrorcop/post_equip(var/mob/living/carbon/human/H) var/obj/item/clothing/under/U = H.w_uniform - if(U.accessories.len) + if(LAZYLEN(U.accessories)) for(var/obj/item/clothing/accessory/A in U.accessories) if(istype(A, /obj/item/clothing/accessory/holster)) var/obj/item/clothing/accessory/holster/O = A @@ -59,7 +59,7 @@ /decl/hierarchy/outfit/costume/cowboy/post_equip(var/mob/living/carbon/human/H) var/obj/item/clothing/under/U = H.w_uniform - if(U.accessories.len) + if(LAZYLEN(U.accessories)) for(var/obj/item/clothing/accessory/A in U.accessories) if(istype(A, /obj/item/clothing/accessory/holster)) var/obj/item/clothing/accessory/holster/O = A diff --git a/code/datums/wires/seedstorage.dm b/code/datums/wires/seedstorage.dm new file mode 100644 index 00000000000..e21bbb9fafd --- /dev/null +++ b/code/datums/wires/seedstorage.dm @@ -0,0 +1,60 @@ +#define SEED_WIRE_SMART 1 +#define SEED_WIRE_CONTRABAND 2 +#define SEED_WIRE_ELECTRIFY 4 +#define SEED_WIRE_LOCKDOWN 8 + +/datum/wires/seedstorage + holder_type = /obj/machinery/seed_storage + wire_count = 4 + random = 1 + +/datum/wires/seedstorage/CanUse(var/mob/living/L) + var/obj/machinery/seed_storage/V = holder + if(!istype(L, /mob/living/silicon)) + if(V.seconds_electrified) + if(V.shock(L, 100)) + return 0 + if(V.panel_open) + return 1 + return 0 + +/datum/wires/seedstorage/GetInteractWindow() + var/obj/machinery/seed_storage/V = holder + . += ..() + . += "
The orange light is [V.seconds_electrified ? "off" : "on"].
" + . += "The red light is [V.smart ? "off" : "blinking"].
" + . += "The green light is [(V.hacked || V.emagged) ? "on" : "off"].
" + . += "The keypad lock is [V.lockdown ? "deployed" : "retracted"].
" + +/datum/wires/seedstorage/UpdatePulsed(var/index) + var/obj/machinery/seed_storage/V = holder + switch(index) + if(SEED_WIRE_SMART) + V.smart = !V.smart + if(SEED_WIRE_CONTRABAND) + V.hacked = !V.hacked + if(SEED_WIRE_ELECTRIFY) + V.seconds_electrified = 30 + if(SEED_WIRE_LOCKDOWN) + V.lockdown = !V.lockdown + +/datum/wires/seedstorage/UpdateCut(var/index, var/mended) + var/obj/machinery/seed_storage/V = holder + switch(index) + if(SEED_WIRE_SMART) + V.smart = 0 + if(SEED_WIRE_CONTRABAND) + V.hacked = !mended + if(SEED_WIRE_ELECTRIFY) + if(mended) + V.seconds_electrified = 0 + else + V.seconds_electrified = -1 + if(SEED_WIRE_LOCKDOWN) + if(mended) + V.lockdown = 1 + V.req_access = list() + V.req_one_access = list() + else + V.req_access = initial(V.req_access) + V.req_one_access = initial(V.req_one_access) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index de1d8fcb548..ccb17a1297f 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -105,6 +105,13 @@ stat = BROKEN can_salvage = FALSE // So you need to actually kill a turret to get the alien gun. +/obj/machinery/porta_turret/poi //These are always angry + enabled = TRUE + lethal = TRUE + ailock = TRUE + check_all = TRUE + can_salvage = FALSE // So you can't just twoshot a turret and get a fancy gun + /obj/machinery/porta_turret/New() ..() req_access.Cut() diff --git a/code/game/objects/effects/item_pickup_ghost.dm b/code/game/objects/effects/item_pickup_ghost.dm new file mode 100644 index 00000000000..0944e2753ee --- /dev/null +++ b/code/game/objects/effects/item_pickup_ghost.dm @@ -0,0 +1,19 @@ +/obj/effect/temporary_effect/item_pickup_ghost + anchored = 1 + plane = MOB_PLANE + layer = ABOVE_MOB_LAYER + mouse_opacity = 0//just in case something dumb happens + time_to_die = 0.5 SECONDS + var/lifetime = 0.25 SECONDS //so it doesn't die before animation ends + +/obj/effect/temporary_effect/item_pickup_ghost/proc/assumeform(var/obj/item/picked_up) + icon = picked_up.icon + icon_state = picked_up.icon_state + pixel_x = picked_up.pixel_x + pixel_y = picked_up.pixel_y + color = picked_up.color + +/obj/effect/temporary_effect/item_pickup_ghost/proc/animate_towards(var/atom/target) + var/new_pixel_x = pixel_x + (target.x - src.x) * 32 + var/new_pixel_y = pixel_y + (target.y - src.y) * 32 + animate(src, pixel_x = new_pixel_x, pixel_y = new_pixel_y, transform = matrix()*0, time = lifetime) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index bcafc99b2f7..70ebbb3d147 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -220,6 +220,8 @@ GLOBAL_LIST_BOILERPLATE(all_items, /obj/item) if(!temp) user << "You try to use your hand, but realize it is no longer attached!" return + + var/old_loc = src.loc src.pickup(user) if (istype(src.loc, /obj/item/weapon/storage)) var/obj/item/weapon/storage/S = src.loc @@ -232,7 +234,11 @@ GLOBAL_LIST_BOILERPLATE(all_items, /obj/item) else if(isliving(src.loc)) return - user.put_in_active_hand(src) + if(user.put_in_active_hand(src)) + if(isturf(old_loc)) + var/obj/effect/temporary_effect/item_pickup_ghost/ghost = new(old_loc) + ghost.assumeform(src) + ghost.animate_towards(user) return /obj/item/attack_ai(mob/user as mob) diff --git a/code/game/objects/items/poi_items.dm b/code/game/objects/items/poi_items.dm index 64eaa2977ef..85a8b27854e 100644 --- a/code/game/objects/items/poi_items.dm +++ b/code/game/objects/items/poi_items.dm @@ -28,14 +28,8 @@ icon_closed = "poireactor" climbable = 0 -/obj/structure/closet/crate/oldreactor/New() - ..() - new /obj/item/weapon/fuel_assembly/deuterium(src) - new /obj/item/weapon/fuel_assembly/deuterium(src) - new /obj/item/weapon/fuel_assembly/deuterium(src) - new /obj/item/weapon/fuel_assembly/deuterium(src) - new /obj/item/weapon/fuel_assembly/deuterium(src) - new /obj/item/weapon/fuel_assembly/deuterium(src) + starts_with = list( + /obj/item/weapon/fuel_assembly/deuterium = 6) /obj/item/poi/brokenoldreactor icon_state = "poireactor_broken" @@ -58,8 +52,8 @@ /obj/structure/largecrate/animal/crashedshuttle name = "SCP" -/obj/structure/largecrate/animal/crashedshuttle/New() - held_type = pick(/mob/living/simple_animal/hostile/statue, /obj/item/cursed_marble) +/obj/structure/largecrate/animal/crashedshuttle/initialize() + starts_with = pick(/mob/living/simple_animal/hostile/statue, /obj/item/cursed_marble) name = pick("Spicy Crust Pizzeria", "Soap and Care Products", "Sally's Computer Parts", "Steve's Chocolate Pastries", "Smith & Christian's Plastics","Standard Containers & Packaging Co.", "Sanitary Chemical Purgation (LTD)") name += " delivery crate" - ..() + return ..() diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index e1fec4843a6..a6ea5804f6c 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -5,6 +5,7 @@ icon_state = "closed" density = 1 w_class = ITEMSIZE_HUGE + layer = UNDER_JUNK_LAYER var/icon_closed = "closed" var/icon_opened = "open" var/opened = 0 @@ -21,12 +22,13 @@ var/store_items = 1 var/store_mobs = 1 - var/list/will_contain + var/list/starts_with /obj/structure/closet/initialize() . = ..() - if(will_contain) - create_objects_in_loc(src, will_contain) + if(starts_with) + create_objects_in_loc(src, starts_with) + starts_with = null if(!opened) // if closed, any item at the crate's loc is put in the contents if(istype(loc, /mob/living)) return //VOREStation Edit - No collecting mob organs if spawned inside mob diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm index 0af7913df8f..96b0030d21e 100644 --- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm +++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm @@ -14,91 +14,65 @@ var/locked = 1 var/smashed = 0 - New() - ..() - fireaxe = new /obj/item/weapon/material/twohanded/fireaxe(src) + starts_with = list(/obj/item/weapon/material/twohanded/fireaxe) - attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri - //..() //That's very useful, Erro +/obj/structure/closet/fireaxecabinet/attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri + //..() //That's very useful, Erro - // This could stand to be put further in, made better, etc. but fuck you. Fuck whoever - // wrote this code. Fuck everything about this object. I hope you step on a Lego. - user.setClickCooldown(10) - // Seriously why the fuck is this even a closet aghasjdhasd I hate you + // This could stand to be put further in, made better, etc. but fuck you. Fuck whoever + // wrote this code. Fuck everything about this object. I hope you step on a Lego. + user.setClickCooldown(10) + // Seriously why the fuck is this even a closet aghasjdhasd I hate you - var/hasaxe = 0 //gonna come in handy later~ // FUCK YOUR TILDES. - if(fireaxe) - hasaxe = 1 + var/hasaxe = 0 //gonna come in handy later~ // FUCK YOUR TILDES. + if(fireaxe) + hasaxe = 1 - if (isrobot(usr) || src.locked) - if(istype(O, /obj/item/device/multitool)) - user << "Resetting circuitry..." - playsound(user, 'sound/machines/lockreset.ogg', 50, 1) - if(do_after(user, 20 * O.toolspeed)) - src.locked = 0 - to_chat(user, " You disable the locking modules.") - update_icon() - return - else if(istype(O, /obj/item/weapon)) - var/obj/item/weapon/W = O - if(src.smashed || src.localopened) - if(localopened) - localopened = 0 - icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed) - spawn(10) update_icon() - return - else - playsound(user, 'sound/effects/Glasshit.ogg', 100, 1) //We don't want this playing every time - if(W.force < 15) - to_chat(user, "The cabinet's protective glass glances off the hit.") - else - src.hitstaken++ - if(src.hitstaken == 4) - playsound(user, 'sound/effects/Glassbr3.ogg', 100, 1) //Break cabinet, receive goodies. Cabinet's fucked for life after that. - src.smashed = 1 - src.locked = 0 - src.localopened = 1 + if (isrobot(usr) || src.locked) + if(istype(O, /obj/item/device/multitool)) + user << "Resetting circuitry..." + playsound(user, 'sound/machines/lockreset.ogg', 50, 1) + if(do_after(user, 20 * O.toolspeed)) + src.locked = 0 + to_chat(user, " You disable the locking modules.") update_icon() return - if (istype(O, /obj/item/weapon/material/twohanded/fireaxe) && src.localopened) - if(!fireaxe) - if(O:wielded) - O:wielded = 0 - O.update_icon() - //to_chat(user, "Unwield the axe first.") - //return - fireaxe = O - user.remove_from_mob(O) - src.contents += O - to_chat(user, "You place the fire axe back in the [src.name].") - update_icon() - else - if(src.smashed) - return - else - localopened = !localopened - if(localopened) - icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed) - spawn(10) update_icon() - else - icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed) - spawn(10) update_icon() - else - if(src.smashed) - return - if(istype(O, /obj/item/device/multitool)) + else if(istype(O, /obj/item/weapon)) + var/obj/item/weapon/W = O + if(src.smashed || src.localopened) if(localopened) localopened = 0 icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed) spawn(10) update_icon() - return - else - to_chat(user, "Resetting circuitry...") - playsound(user, 'sound/machines/lockenable.ogg', 50, 1) - if(do_after(user,20 * O.toolspeed)) - src.locked = 1 - to_chat(user, " You re-enable the locking modules.") - return + return + else + playsound(user, 'sound/effects/Glasshit.ogg', 100, 1) //We don't want this playing every time + if(W.force < 15) + to_chat(user, "The cabinet's protective glass glances off the hit.") + else + src.hitstaken++ + if(src.hitstaken == 4) + playsound(user, 'sound/effects/Glassbr3.ogg', 100, 1) //Break cabinet, receive goodies. Cabinet's fucked for life after that. + src.smashed = 1 + src.locked = 0 + src.localopened = 1 + update_icon() + return + if (istype(O, /obj/item/weapon/material/twohanded/fireaxe) && src.localopened) + if(!fireaxe) + if(O:wielded) + O:wielded = 0 + O.update_icon() + //to_chat(user, "Unwield the axe first.") + //return + fireaxe = O + user.remove_from_mob(O) + src.contents += O + to_chat(user, "You place the fire axe back in the [src.name].") + update_icon() + else + if(src.smashed) + return else localopened = !localopened if(localopened) @@ -107,108 +81,129 @@ else icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed) spawn(10) update_icon() - - - - - attack_hand(mob/user as mob) - - var/hasaxe = 0 - if(fireaxe) - hasaxe = 1 - - if(src.locked) - to_chat(user, "The cabinet won't budge!") - return - if(localopened) - if(fireaxe) - user.put_in_hands(fireaxe) - fireaxe = null - to_chat (user, "You take the fire axe from the [name].") - src.add_fingerprint(user) - update_icon() - else - if(src.smashed) - return - else - localopened = !localopened - if(localopened) - src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed) - spawn(10) update_icon() - else - src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed) - spawn(10) update_icon() - - else - localopened = !localopened //I'm pretty sure we don't need an if(src.smashed) in here. In case I'm wrong and it fucks up teh cabinet, **MARKER**. -Agouri - if(localopened) - src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed) - spawn(10) update_icon() - else - src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed) - spawn(10) update_icon() - - attack_tk(mob/user as mob) - if(localopened && fireaxe) - fireaxe.forceMove(loc) - to_chat(user, "You telekinetically remove the fire axe.") - fireaxe = null - update_icon() - return - attack_hand(user) - - verb/toggle_openness() //nice name, huh? HUH?! -Erro //YEAH -Agouri - set name = "Open/Close" - set category = "Object" - - if (isrobot(usr) || src.locked || src.smashed) - if(src.locked) - to_chat(usr, "The cabinet won't budge!") - else if(src.smashed) - to_chat(usr, "The protective glass is broken!") - return - - localopened = !localopened - update_icon() - - verb/remove_fire_axe() - set name = "Remove Fire Axe" - set category = "Object" - - if (isrobot(usr)) - return - - if (localopened) - if(fireaxe) - usr.put_in_hands(fireaxe) - fireaxe = null - to_chat(usr, "You take the Fire axe from the [name].") - else - to_chat(usr, "The [src.name] is empty.") - else - to_chat(usr, "The [src.name] is closed.") - update_icon() - - attack_ai(mob/user as mob) + else if(src.smashed) - to_chat(user, "The security of the cabinet is compromised.") return - else - locked = !locked - if(locked) - to_chat(user, "Cabinet locked.") + if(istype(O, /obj/item/device/multitool)) + if(localopened) + localopened = 0 + icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed) + spawn(10) update_icon() + return else - to_chat(user, "Cabinet unlocked.") - return + to_chat(user, "Resetting circuitry...") + playsound(user, 'sound/machines/lockenable.ogg', 50, 1) + if(do_after(user,20 * O.toolspeed)) + src.locked = 1 + to_chat(user, " You re-enable the locking modules.") + return + else + localopened = !localopened + if(localopened) + icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed) + spawn(10) update_icon() + else + icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed) + spawn(10) update_icon() - update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers - var/hasaxe = 0 + +/obj/structure/closet/fireaxecabinet/attack_hand(mob/user as mob) + var/hasaxe = 0 + if(fireaxe) + hasaxe = 1 + + if(src.locked) + to_chat(user, "The cabinet won't budge!") + return + if(localopened) if(fireaxe) - hasaxe = 1 - icon_state = text("fireaxe[][][][]",hasaxe,src.localopened,src.hitstaken,src.smashed) + user.put_in_hands(fireaxe) + fireaxe = null + to_chat (user, "You take the fire axe from the [name].") + src.add_fingerprint(user) + update_icon() + else + if(src.smashed) + return + else + localopened = !localopened + if(localopened) + src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed) + spawn(10) update_icon() + else + src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed) + spawn(10) update_icon() - open() + else + localopened = !localopened //I'm pretty sure we don't need an if(src.smashed) in here. In case I'm wrong and it fucks up teh cabinet, **MARKER**. -Agouri + if(localopened) + src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed) + spawn(10) update_icon() + else + src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed) + spawn(10) update_icon() + +/obj/structure/closet/fireaxecabinet/attack_tk(mob/user as mob) + if(localopened && fireaxe) + fireaxe.forceMove(loc) + to_chat(user, "You telekinetically remove the fire axe.") + fireaxe = null + update_icon() + return + attack_hand(user) + +/obj/structure/closet/fireaxecabinet/verb/toggle_openness() //nice name, huh? HUH?! -Erro //YEAH -Agouri + set name = "Open/Close" + set category = "Object" + + if (isrobot(usr) || src.locked || src.smashed) + if(src.locked) + to_chat(usr, "The cabinet won't budge!") + else if(src.smashed) + to_chat(usr, "The protective glass is broken!") return - close() + localopened = !localopened + update_icon() + +/obj/structure/closet/fireaxecabinet/verb/remove_fire_axe() + set name = "Remove Fire Axe" + set category = "Object" + + if (isrobot(usr)) return + + if (localopened) + if(fireaxe) + usr.put_in_hands(fireaxe) + fireaxe = null + to_chat(usr, "You take the Fire axe from the [name].") + else + to_chat(usr, "The [src.name] is empty.") + else + to_chat(usr, "The [src.name] is closed.") + update_icon() + +/obj/structure/closet/fireaxecabinet/attack_ai(mob/user as mob) + if(src.smashed) + to_chat(user, "The security of the cabinet is compromised.") + return + else + locked = !locked + if(locked) + to_chat(user, "Cabinet locked.") + else + to_chat(user, "Cabinet unlocked.") + return + +/obj/structure/closet/fireaxecabinet/update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers + var/hasaxe = 0 + if(fireaxe) + hasaxe = 1 + icon_state = text("fireaxe[][][][]",hasaxe,src.localopened,src.hitstaken,src.smashed) + +/obj/structure/closet/fireaxecabinet/open() + return + +/obj/structure/closet/fireaxecabinet/close() + return diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm index 4e31b9e05c7..c261d8d2f63 100644 --- a/code/game/objects/structures/crates_lockers/closets/fitness.dm +++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm @@ -4,49 +4,41 @@ icon_state = "mixed" icon_closed = "mixed" -/obj/structure/closet/athletic_mixed/New() - ..() - new /obj/item/clothing/under/shorts/grey(src) - new /obj/item/clothing/under/shorts/black(src) - new /obj/item/clothing/under/shorts/red(src) - new /obj/item/clothing/under/shorts/blue(src) - new /obj/item/clothing/under/shorts/green(src) - new /obj/item/clothing/under/swimsuit/red(src) - new /obj/item/clothing/under/swimsuit/black(src) - new /obj/item/clothing/under/swimsuit/blue(src) - new /obj/item/clothing/under/swimsuit/green(src) - new /obj/item/clothing/under/swimsuit/purple(src) - new /obj/item/clothing/under/swimsuit/striped(src) - new /obj/item/clothing/under/swimsuit/white(src) - new /obj/item/clothing/under/swimsuit/earth(src) //Maybe at some point make it randomly choose swimsuits, so that it doesn't overflow as we add more. - new /obj/item/clothing/mask/snorkel(src) - new /obj/item/clothing/mask/snorkel(src) - new /obj/item/clothing/shoes/swimmingfins(src) - new /obj/item/clothing/shoes/swimmingfins(src) - - + starts_with = list( + /obj/item/clothing/under/shorts/grey, + /obj/item/clothing/under/shorts/black, + /obj/item/clothing/under/shorts/red, + /obj/item/clothing/under/shorts/blue, + /obj/item/clothing/under/shorts/green, + /obj/item/clothing/under/swimsuit/red, + /obj/item/clothing/under/swimsuit/black, + /obj/item/clothing/under/swimsuit/blue, + /obj/item/clothing/under/swimsuit/green, + /obj/item/clothing/under/swimsuit/purple, + /obj/item/clothing/under/swimsuit/striped, + /obj/item/clothing/under/swimsuit/white, + /obj/item/clothing/under/swimsuit/earth, + /obj/item/clothing/mask/snorkel = 2, + /obj/item/clothing/shoes/swimmingfins = 2) /obj/structure/closet/boxinggloves name = "boxing gloves" desc = "It's a storage unit for gloves for use in the boxing ring." -/obj/structure/closet/boxinggloves/New() - ..() - new /obj/item/clothing/gloves/boxing/blue(src) - new /obj/item/clothing/gloves/boxing/green(src) - new /obj/item/clothing/gloves/boxing/yellow(src) - new /obj/item/clothing/gloves/boxing(src) - + starts_with = list( + /obj/item/clothing/gloves/boxing/blue, + /obj/item/clothing/gloves/boxing/green, + /obj/item/clothing/gloves/boxing/yellow, + /obj/item/clothing/gloves/boxing) /obj/structure/closet/masks name = "mask closet" desc = "IT'S A STORAGE UNIT FOR FIGHTER MASKS OLE!" -/obj/structure/closet/masks/New() - ..() - new /obj/item/clothing/mask/luchador(src) - new /obj/item/clothing/mask/luchador/rudos(src) - new /obj/item/clothing/mask/luchador/tecnicos(src) + starts_with = list( + /obj/item/clothing/mask/luchador, + /obj/item/clothing/mask/luchador/rudos, + /obj/item/clothing/mask/luchador/tecnicos) /obj/structure/closet/lasertag/red @@ -55,18 +47,9 @@ icon_state = "red" icon_closed = "red" -/obj/structure/closet/lasertag/red/New() - ..() - new /obj/item/weapon/gun/energy/lasertag/red(src) - new /obj/item/weapon/gun/energy/lasertag/red(src) - new /obj/item/weapon/gun/energy/lasertag/red(src) - new /obj/item/weapon/gun/energy/lasertag/red(src) - new /obj/item/weapon/gun/energy/lasertag/red(src) - new /obj/item/clothing/suit/redtag(src) - new /obj/item/clothing/suit/redtag(src) - new /obj/item/clothing/suit/redtag(src) - new /obj/item/clothing/suit/redtag(src) - new /obj/item/clothing/suit/redtag(src) + starts_with = list( + /obj/item/weapon/gun/energy/lasertag/red = 5, + /obj/item/clothing/suit/redtag = 5) /obj/structure/closet/lasertag/blue @@ -75,15 +58,6 @@ icon_state = "blue" icon_closed = "blue" -/obj/structure/closet/lasertag/blue/New() - ..() - new /obj/item/weapon/gun/energy/lasertag/blue(src) - new /obj/item/weapon/gun/energy/lasertag/blue(src) - new /obj/item/weapon/gun/energy/lasertag/blue(src) - new /obj/item/weapon/gun/energy/lasertag/blue(src) - new /obj/item/weapon/gun/energy/lasertag/blue(src) - new /obj/item/clothing/suit/bluetag(src) - new /obj/item/clothing/suit/bluetag(src) - new /obj/item/clothing/suit/bluetag(src) - new /obj/item/clothing/suit/bluetag(src) - new /obj/item/clothing/suit/bluetag(src) \ No newline at end of file + starts_with = list( + /obj/item/weapon/gun/energy/lasertag/blue = 5, + /obj/item/clothing/suit/bluetag = 5) diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index 8ebd9358b5d..f567cdbd3a1 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -34,18 +34,9 @@ icon_closed = "syndicate1" icon_opened = "syndicate1open" -/obj/structure/closet/gimmick/russian/New() - ..() - new /obj/item/clothing/head/ushanka(src) - new /obj/item/clothing/head/ushanka(src) - new /obj/item/clothing/head/ushanka(src) - new /obj/item/clothing/head/ushanka(src) - new /obj/item/clothing/head/ushanka(src) - new /obj/item/clothing/under/soviet(src) - new /obj/item/clothing/under/soviet(src) - new /obj/item/clothing/under/soviet(src) - new /obj/item/clothing/under/soviet(src) - new /obj/item/clothing/under/soviet(src) + starts_with = list( + /obj/item/clothing/head/ushanka = 5, + /obj/item/clothing/under/soviet = 5) /obj/structure/closet/gimmick/tacticool @@ -55,22 +46,15 @@ icon_closed = "syndicate1" icon_opened = "syndicate1open" -/obj/structure/closet/gimmick/tacticool/New() - ..() - new /obj/item/clothing/glasses/eyepatch(src) - new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/clothing/gloves/swat(src) - new /obj/item/clothing/gloves/swat(src) - new /obj/item/clothing/head/helmet/swat(src) - new /obj/item/clothing/head/helmet/swat(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/shoes/boots/swat(src) - new /obj/item/clothing/shoes/boots/swat(src) - new /obj/item/clothing/suit/armor/swat(src) - new /obj/item/clothing/suit/armor/swat(src) - new /obj/item/clothing/under/syndicate/tacticool(src) - new /obj/item/clothing/under/syndicate/tacticool(src) + starts_with = list( + /obj/item/clothing/glasses/eyepatch, + /obj/item/clothing/glasses/sunglasses, + /obj/item/clothing/gloves/swat = 2, + /obj/item/clothing/head/helmet/swat = 2, + /obj/item/clothing/mask/gas = 2, + /obj/item/clothing/shoes/boots/swat = 2, + /obj/item/clothing/suit/armor/swat = 2, + /obj/item/clothing/under/syndicate/tacticool = 2) /obj/structure/closet/thunderdome @@ -81,32 +65,16 @@ icon_opened = "syndicateopen" anchored = 1 -/obj/structure/closet/thunderdome/New() - ..() - /obj/structure/closet/thunderdome/tdred name = "red-team Thunderdome closet" -/obj/structure/closet/thunderdome/tdred/New() - ..() - new /obj/item/clothing/suit/armor/tdome/red(src) - new /obj/item/clothing/suit/armor/tdome/red(src) - new /obj/item/clothing/suit/armor/tdome/red(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/clothing/head/helmet/thunderdome(src) - new /obj/item/clothing/head/helmet/thunderdome(src) - new /obj/item/clothing/head/helmet/thunderdome(src) + starts_with = list( + /obj/item/clothing/suit/armor/tdome/red = 3, + /obj/item/weapon/melee/energy/sword = 3, + /obj/item/weapon/gun/energy/laser = 3, + /obj/item/weapon/melee/baton = 3, + /obj/item/weapon/storage/box/flashbangs = 3, + /obj/item/clothing/head/helmet/thunderdome = 3) /obj/structure/closet/thunderdome/tdgreen name = "green-team Thunderdome closet" @@ -114,26 +82,13 @@ icon_closed = "syndicate1" icon_opened = "syndicate1open" -/obj/structure/closet/thunderdome/tdgreen/New() - ..() - new /obj/item/clothing/suit/armor/tdome/green(src) - new /obj/item/clothing/suit/armor/tdome/green(src) - new /obj/item/clothing/suit/armor/tdome/green(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/gun/energy/laser(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/clothing/head/helmet/thunderdome(src) - new /obj/item/clothing/head/helmet/thunderdome(src) - new /obj/item/clothing/head/helmet/thunderdome(src) + starts_with = list( + /obj/item/clothing/suit/armor/tdome/green = 3, + /obj/item/weapon/melee/energy/sword = 3, + /obj/item/weapon/gun/energy/laser = 3, + /obj/item/weapon/melee/baton = 3, + /obj/item/weapon/storage/box/flashbangs = 3, + /obj/item/clothing/head/helmet/thunderdome = 3) /obj/structure/closet/alien name = "alien container" @@ -142,4 +97,4 @@ icon_state = "alien_locker" icon_closed = "alien_locker" icon_opened = "alien_locker_open" - anchored = TRUE \ No newline at end of file + anchored = TRUE diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index 48f979daa1e..cfed9c545f5 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -14,29 +14,22 @@ icon_state = "black" icon_closed = "black" -/obj/structure/closet/gmcloset/New() - ..() - new /obj/item/clothing/head/that(src) - new /obj/item/clothing/head/that(src) - new /obj/item/device/radio/headset/headset_service(src) - new /obj/item/device/radio/headset/headset_service(src) - new /obj/item/clothing/head/pin/flower(src) - new /obj/item/clothing/head/pin/flower/pink(src) - new /obj/item/clothing/head/pin/flower/yellow(src) - new /obj/item/clothing/head/pin/flower/blue(src) - new /obj/item/clothing/head/pin/pink(src) - new /obj/item/clothing/head/pin/magnetic(src) - new /obj/item/clothing/under/sl_suit(src) - new /obj/item/clothing/under/sl_suit(src) - new /obj/item/clothing/under/rank/bartender(src) - new /obj/item/clothing/under/rank/bartender(src) - new /obj/item/clothing/under/rank/bartender/skirt(src) - new /obj/item/clothing/under/dress/dress_saloon(src) - new /obj/item/clothing/accessory/wcoat(src) - new /obj/item/clothing/accessory/wcoat(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/laceup(src) + starts_with = list( + /obj/item/clothing/head/that = 2, + /obj/item/device/radio/headset/headset_service = 2, + /obj/item/clothing/head/pin/flower, + /obj/item/clothing/head/pin/flower/pink, + /obj/item/clothing/head/pin/flower/yellow, + /obj/item/clothing/head/pin/flower/blue, + /obj/item/clothing/head/pin/pink, + /obj/item/clothing/head/pin/magnetic, + /obj/item/clothing/under/sl_suit = 2, + /obj/item/clothing/under/rank/bartender = 2, + /obj/item/clothing/under/rank/bartender/skirt, + /obj/item/clothing/under/dress/dress_saloon, + /obj/item/clothing/accessory/wcoat = 2, + /obj/item/clothing/shoes/black = 2, + /obj/item/clothing/shoes/laceup) /* * Chef @@ -47,19 +40,14 @@ icon_state = "black" icon_closed = "black" -/obj/structure/closet/chefcloset/New() - ..() - new /obj/item/clothing/under/sundress(src) - new /obj/item/clothing/under/waiter(src) - new /obj/item/clothing/under/waiter(src) - new /obj/item/device/radio/headset/headset_service(src) - new /obj/item/device/radio/headset/headset_service(src) - new /obj/item/weapon/storage/box/mousetraps(src) - new /obj/item/weapon/storage/box/mousetraps(src) - new /obj/item/clothing/under/rank/chef(src) - new /obj/item/clothing/head/chefhat(src) - new /obj/item/weapon/storage/bag/food(src) - new /obj/item/weapon/storage/bag/food(src) + starts_with = list( + /obj/item/clothing/under/sundress, + /obj/item/clothing/under/waiter = 2, + /obj/item/device/radio/headset/headset_service = 2, + /obj/item/weapon/storage/box/mousetraps = 2, + /obj/item/clothing/under/rank/chef, + /obj/item/clothing/head/chefhat, + /obj/item/weapon/storage/bag/food = 2) /* * Janitor @@ -70,24 +58,20 @@ icon_state = "mixed" icon_closed = "mixed" -/obj/structure/closet/jcloset/New() - ..() - new /obj/item/clothing/under/rank/janitor(src) - new /obj/item/clothing/under/dress/maid/janitor(src) - new /obj/item/device/radio/headset/headset_service(src) - new /obj/item/weapon/cartridge/janitor(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/clothing/head/soft/purple(src) - new /obj/item/clothing/head/beret/purple(src) - new /obj/item/device/flashlight(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) - new /obj/item/weapon/caution(src) - new /obj/item/device/lightreplacer(src) - new /obj/item/weapon/storage/bag/trash(src) - new /obj/item/weapon/storage/belt/janitor(src) - new /obj/item/clothing/shoes/galoshes(src) + starts_with = list( + /obj/item/clothing/under/rank/janitor, + /obj/item/clothing/under/dress/maid/janitor, + /obj/item/device/radio/headset/headset_service, + /obj/item/weapon/cartridge/janitor, + /obj/item/clothing/gloves/black, + /obj/item/clothing/head/soft/purple, + /obj/item/clothing/head/beret/purple, + /obj/item/device/flashlight, + /obj/item/weapon/caution = 4, + /obj/item/device/lightreplacer, + /obj/item/weapon/storage/bag/trash, + /obj/item/weapon/storage/belt/janitor, + /obj/item/clothing/shoes/galoshes) /* * Lawyer @@ -98,43 +82,23 @@ icon_state = "blue" icon_closed = "blue" -/obj/structure/closet/lawcloset/New() - ..() - new /obj/item/clothing/under/lawyer/female(src) - new /obj/item/clothing/under/lawyer/female(src) - new /obj/item/clothing/under/lawyer/black(src) - new /obj/item/clothing/under/lawyer/black(src) - new /obj/item/clothing/under/lawyer/black/skirt(src) - new /obj/item/clothing/under/lawyer/black/skirt(src) - new /obj/item/clothing/under/lawyer/red(src) - new /obj/item/clothing/under/lawyer/red(src) - new /obj/item/clothing/under/lawyer/red/skirt(src) - new /obj/item/clothing/under/lawyer/red/skirt(src) - new /obj/item/clothing/suit/storage/toggle/internalaffairs(src) - new /obj/item/clothing/suit/storage/toggle/internalaffairs(src) - new /obj/item/clothing/under/lawyer/bluesuit(src) - new /obj/item/clothing/under/lawyer/bluesuit(src) - new /obj/item/clothing/under/lawyer/bluesuit/skirt(src) - new /obj/item/clothing/under/lawyer/bluesuit/skirt(src) - new /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket(src) - new /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket(src) - new /obj/item/clothing/under/lawyer/purpsuit(src) - new /obj/item/clothing/under/lawyer/purpsuit(src) - new /obj/item/clothing/under/lawyer/purpsuit/skirt(src) - new /obj/item/clothing/under/lawyer/purpsuit/skirt(src) - new /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket(src) - new /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/laceup(src) - new /obj/item/clothing/shoes/laceup(src) - new /obj/item/clothing/glasses/sunglasses/big(src) - new /obj/item/clothing/glasses/sunglasses/big(src) - new /obj/item/clothing/under/lawyer/blue(src) - new /obj/item/clothing/under/lawyer/blue(src) - new /obj/item/clothing/under/lawyer/blue/skirt(src) - new /obj/item/clothing/under/lawyer/blue/skirt(src) - new /obj/item/device/tape/random(src) - new /obj/item/device/tape/random(src) \ No newline at end of file + starts_with = list( + /obj/item/clothing/under/lawyer/female = 2, + /obj/item/clothing/under/lawyer/black = 2, + /obj/item/clothing/under/lawyer/black/skirt = 2, + /obj/item/clothing/under/lawyer/red = 2, + /obj/item/clothing/under/lawyer/red/skirt = 2, + /obj/item/clothing/suit/storage/toggle/internalaffairs = 2, + /obj/item/clothing/under/lawyer/bluesuit = 2, + /obj/item/clothing/under/lawyer/bluesuit/skirt = 2, + /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 2, + /obj/item/clothing/under/lawyer/purpsuit = 2, + /obj/item/clothing/under/lawyer/purpsuit/skirt = 2, + /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 2, + /obj/item/clothing/shoes/brown = 2, + /obj/item/clothing/shoes/black = 2, + /obj/item/clothing/shoes/laceup = 2, + /obj/item/clothing/glasses/sunglasses/big = 2, + /obj/item/clothing/under/lawyer/blue = 2, + /obj/item/clothing/under/lawyer/blue/skirt = 2, + /obj/item/device/tape/random = 2) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/l3closet.dm b/code/game/objects/structures/crates_lockers/closets/l3closet.dm index c648a7c4827..695b5575d2b 100644 --- a/code/game/objects/structures/crates_lockers/closets/l3closet.dm +++ b/code/game/objects/structures/crates_lockers/closets/l3closet.dm @@ -10,10 +10,9 @@ icon_closed = "bio_general" icon_opened = "bio_generalopen" -/obj/structure/closet/l3closet/general/New() - ..() - new /obj/item/clothing/suit/bio_suit/general(src) - new /obj/item/clothing/head/bio_hood/general(src) + starts_with = list( + /obj/item/clothing/suit/bio_suit/general, + /obj/item/clothing/head/bio_hood/general) /obj/structure/closet/l3closet/virology @@ -21,12 +20,11 @@ icon_closed = "bio_virology" icon_opened = "bio_virologyopen" -/obj/structure/closet/l3closet/virology/New() - ..() - new /obj/item/clothing/suit/bio_suit/virology(src) - new /obj/item/clothing/head/bio_hood/virology(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/weapon/tank/oxygen(src) + starts_with = list( + /obj/item/clothing/suit/bio_suit/virology, + /obj/item/clothing/head/bio_hood/virology, + /obj/item/clothing/mask/gas, + /obj/item/weapon/tank/oxygen) /obj/structure/closet/l3closet/security @@ -34,27 +32,21 @@ icon_closed = "bio_security" icon_opened = "bio_securityopen" -/obj/structure/closet/l3closet/security/New() - ..() - new /obj/item/clothing/suit/bio_suit/security(src) - new /obj/item/clothing/head/bio_hood/security(src) - // new /obj/item/weapon/gun/energy/taser/xeno/sec(src) // VOREStation Edit - We don't need these + starts_with = list( + /obj/item/clothing/suit/bio_suit/security, + /obj/item/clothing/head/bio_hood/security) + ///obj/item/weapon/gun/energy/taser/xeno/sec) //VOREStation Removal /obj/structure/closet/l3closet/janitor icon_state = "bio_janitor" icon_closed = "bio_janitor" icon_opened = "bio_janitoropen" -/obj/structure/closet/l3closet/janitor/New() - ..() - new /obj/item/clothing/suit/bio_suit/janitor(src) - new /obj/item/clothing/suit/bio_suit/janitor(src) - new /obj/item/clothing/head/bio_hood/janitor(src) - new /obj/item/clothing/head/bio_hood/janitor(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) + starts_with = list( + /obj/item/clothing/suit/bio_suit/janitor = 2, + /obj/item/clothing/head/bio_hood/janitor = 2, + /obj/item/clothing/mask/gas = 2, + /obj/item/weapon/tank/emergency/oxygen/engi = 2) /obj/structure/closet/l3closet/scientist @@ -62,15 +54,14 @@ icon_closed = "bio_scientist" icon_opened = "bio_scientistopen" -/obj/structure/closet/l3closet/scientist/New() - ..() - new /obj/item/clothing/suit/bio_suit/scientist(src) - new /obj/item/clothing/head/bio_hood/scientist(src) + starts_with = list( + /obj/item/clothing/suit/bio_suit/scientist, + /obj/item/clothing/head/bio_hood/scientist) -/obj/structure/closet/l3closet/scientist/double/New() - ..() - new /obj/item/clothing/suit/bio_suit/scientist(src) - new /obj/item/clothing/head/bio_hood/scientist(src) +/obj/structure/closet/l3closet/scientist/double + starts_with = list( + /obj/item/clothing/suit/bio_suit/scientist = 2, + /obj/item/clothing/head/bio_hood/scientist = 2) /obj/structure/closet/l3closet/medical @@ -78,14 +69,7 @@ icon_closed = "bio_scientist" icon_opened = "bio_scientistopen" -/obj/structure/closet/l3closet/medical/New() - ..() - new /obj/item/clothing/suit/bio_suit/general(src) - new /obj/item/clothing/suit/bio_suit/general(src) - new /obj/item/clothing/suit/bio_suit/general(src) - new /obj/item/clothing/head/bio_hood/general(src) - new /obj/item/clothing/head/bio_hood/general(src) - new /obj/item/clothing/head/bio_hood/general(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/mask/gas(src) \ No newline at end of file + starts_with = list( + /obj/item/clothing/suit/bio_suit/general = 3, + /obj/item/clothing/head/bio_hood/general = 3, + /obj/item/clothing/mask/gas = 3) diff --git a/code/game/objects/structures/crates_lockers/closets/malfunction.dm b/code/game/objects/structures/crates_lockers/closets/malfunction.dm index bd17ba98411..90f91d1d8f3 100644 --- a/code/game/objects/structures/crates_lockers/closets/malfunction.dm +++ b/code/game/objects/structures/crates_lockers/closets/malfunction.dm @@ -4,12 +4,11 @@ icon_closed = "syndicate" icon_opened = "syndicateopen" -/obj/structure/closet/malf/suits/New() - ..() - new /obj/item/weapon/tank/jetpack/void(src) - new /obj/item/clothing/mask/breath(src) - new /obj/item/clothing/head/helmet/space/void(src) - new /obj/item/clothing/suit/space/void(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/cell(src) - new /obj/item/device/multitool(src) + starts_with = list( + /obj/item/weapon/tank/jetpack/void, + /obj/item/clothing/mask/breath, + /obj/item/clothing/head/helmet/space/void, + /obj/item/clothing/suit/space/void, + /obj/item/weapon/crowbar, + /obj/item/weapon/cell, + /obj/item/device/multitool) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm index 53606b3463b..516d2a645e6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm @@ -8,7 +8,8 @@ icon_broken = "cabinetdetective_broken" icon_off = "cabinetdetective_broken" - will_contain = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer = 10) + starts_with = list( + /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer = 10) /obj/structure/closet/secure_closet/bar/update_icon() if(broken) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index 103867ef88a..ef68d7ca608 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -8,28 +8,28 @@ icon_broken = "securecargobroken" icon_off = "securecargooff" - New() - ..() - if(prob(75)) - new /obj/item/weapon/storage/backpack(src) - else - new /obj/item/weapon/storage/backpack/satchel/norm(src) - if(prob(25)) - new /obj/item/weapon/storage/backpack/dufflebag(src) - new /obj/item/clothing/under/rank/cargotech(src) - new /obj/item/clothing/under/rank/cargotech/skirt(src) - new /obj/item/clothing/under/rank/cargotech/jeans(src) - new /obj/item/clothing/under/rank/cargotech/jeans/female(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/cargo(src) - new /obj/item/clothing/shoes/boots/winter/supply(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/device/radio/headset/headset_cargo(src) - new /obj/item/device/radio/headset/headset_cargo/alt(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/clothing/gloves/fingerless(src) - new /obj/item/clothing/head/soft(src) -// new /obj/item/weapon/cartridge/quartermaster(src) - return + starts_with = list( + /obj/item/clothing/under/rank/cargotech, + /obj/item/clothing/under/rank/cargotech/skirt, + /obj/item/clothing/under/rank/cargotech/jeans, + /obj/item/clothing/under/rank/cargotech/jeans/female, + /obj/item/clothing/suit/storage/hooded/wintercoat/cargo, + /obj/item/clothing/shoes/boots/winter/supply, + /obj/item/clothing/shoes/black, + /obj/item/device/radio/headset/headset_cargo, + /obj/item/device/radio/headset/headset_cargo/alt, + /obj/item/clothing/gloves/black, + /obj/item/clothing/gloves/fingerless, + /obj/item/clothing/head/soft) + +/obj/structure/closet/secure_closet/cargotech/initialize() + if(prob(75)) + starts_with += /obj/item/weapon/storage/backpack + else + starts_with += /obj/item/weapon/storage/backpack/satchel/norm + if(prob(25)) + starts_with += /obj/item/weapon/storage/backpack/dufflebag + return ..() /obj/structure/closet/secure_closet/quartermaster name = "quartermaster's locker" @@ -41,32 +41,32 @@ icon_broken = "secureqmbroken" icon_off = "secureqmoff" - New() - ..() - if(prob(75)) - new /obj/item/weapon/storage/backpack(src) - else - new /obj/item/weapon/storage/backpack/satchel/norm(src) - if(prob(25)) - new /obj/item/weapon/storage/backpack/dufflebag(src) - new /obj/item/clothing/under/rank/cargo(src) - new /obj/item/clothing/under/rank/cargo/skirt(src) - new /obj/item/clothing/under/rank/cargo/jeans(src) - new /obj/item/clothing/under/rank/cargo/jeans/female(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/device/radio/headset/headset_cargo(src) - new /obj/item/device/radio/headset/headset_cargo/alt(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/clothing/gloves/fingerless(src) -// new /obj/item/weapon/cartridge/quartermaster(src) - new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/weapon/tank/emergency/oxygen(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/glasses/meson(src) - new /obj/item/clothing/head/soft(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/cargo(src) - new /obj/item/clothing/shoes/boots/winter/supply(src) - return + starts_with = list( + /obj/item/clothing/under/rank/cargo, + /obj/item/clothing/under/rank/cargo/skirt, + /obj/item/clothing/under/rank/cargo/jeans, + /obj/item/clothing/under/rank/cargo/jeans/female, + /obj/item/clothing/shoes/brown, + /obj/item/device/radio/headset/headset_cargo, + /obj/item/device/radio/headset/headset_cargo/alt, + /obj/item/clothing/gloves/black, + /obj/item/clothing/gloves/fingerless, + /obj/item/clothing/suit/fire/firefighter, + /obj/item/weapon/tank/emergency/oxygen, + /obj/item/clothing/mask/gas, + /obj/item/clothing/glasses/meson, + /obj/item/clothing/head/soft, + /obj/item/clothing/suit/storage/hooded/wintercoat/cargo, + /obj/item/clothing/shoes/boots/winter/supply) + +/obj/structure/closet/secure_closet/quartermaster/initialize() + if(prob(75)) + starts_with += /obj/item/weapon/storage/backpack + else + starts_with += /obj/item/weapon/storage/backpack/satchel/norm + if(prob(25)) + starts_with += /obj/item/weapon/storage/backpack/dufflebag + return ..() /obj/structure/closet/secure_closet/miner name = "miner's equipment" @@ -78,23 +78,24 @@ icon_off = "miningsecoff" req_access = list(access_mining) -/obj/structure/closet/secure_closet/miner/New() - ..() - sleep(2) + starts_with = list( + /obj/item/device/radio/headset/headset_mine, + /obj/item/clothing/under/rank/miner, + /obj/item/clothing/gloves/black, + /obj/item/clothing/shoes/black, + /obj/item/device/analyzer, + /obj/item/weapon/storage/bag/ore, + /obj/item/device/flashlight/lantern, + /obj/item/weapon/shovel, + /obj/item/weapon/pickaxe, + /obj/item/clothing/glasses/material, + /obj/item/clothing/suit/storage/hooded/wintercoat/miner, + /obj/item/clothing/shoes/boots/winter/mining, + /obj/item/stack/marker_beacon/thirty) + +/obj/structure/closet/secure_closet/miner/initialize() if(prob(50)) - new /obj/item/weapon/storage/backpack/industrial(src) + starts_with += /obj/item/weapon/storage/backpack/industrial else - new /obj/item/weapon/storage/backpack/satchel/eng(src) - new /obj/item/device/radio/headset/headset_mine(src) - new /obj/item/clothing/under/rank/miner(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/device/analyzer(src) - new /obj/item/weapon/storage/bag/ore(src) - new /obj/item/device/flashlight/lantern(src) - new /obj/item/weapon/shovel(src) - new /obj/item/weapon/pickaxe(src) - new /obj/item/clothing/glasses/material(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/miner(src) - new /obj/item/clothing/shoes/boots/winter/mining(src) - new /obj/item/stack/marker_beacon/thirty(src) \ No newline at end of file + starts_with += /obj/item/weapon/storage/backpack/satchel/eng + return ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 951add8424f..3ed58061430 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -1,172 +1,145 @@ /obj/structure/closet/secure_closet/engineering_chief name = "chief engineer's locker" - req_access = list(access_ce) icon_state = "securece1" icon_closed = "securece" icon_locked = "securece1" icon_opened = "secureceopen" icon_broken = "securecebroken" icon_off = "secureceoff" + req_access = list(access_ce) + starts_with = list( + /obj/item/clothing/accessory/storage/brown_vest, + /obj/item/blueprints, + /obj/item/clothing/under/rank/chief_engineer, + /obj/item/clothing/under/rank/chief_engineer/skirt, + /obj/item/clothing/head/hardhat/white, + /obj/item/clothing/head/welding, + /obj/item/clothing/gloves/yellow, + /obj/item/clothing/shoes/brown, + /obj/item/weapon/cartridge/ce, + /obj/item/device/radio/headset/heads/ce, + /obj/item/device/radio/headset/heads/ce/alt, + /obj/item/weapon/storage/toolbox/mechanical, + /obj/item/clothing/suit/storage/hazardvest, + /obj/item/clothing/mask/gas, + /obj/item/device/multitool, + /obj/item/weapon/storage/belt/utility/chief/full, + /obj/item/device/flash, + /obj/item/device/t_scanner/upgraded, + /obj/item/taperoll/engineering, + /obj/item/clothing/suit/storage/hooded/wintercoat/engineering, + /obj/item/clothing/shoes/boots/winter/engineering, + /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/weapon/reagent_containers/spray/windowsealant) //VOREStation Add - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/industrial(src) - else - new /obj/item/weapon/storage/backpack/satchel/eng(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/eng(src) - new /obj/item/clothing/accessory/storage/brown_vest(src) - new /obj/item/blueprints(src) - new /obj/item/clothing/under/rank/chief_engineer(src) - new /obj/item/clothing/under/rank/chief_engineer/skirt(src) - new /obj/item/clothing/head/hardhat/white(src) - new /obj/item/clothing/head/welding(src) - new /obj/item/clothing/gloves/yellow(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/weapon/cartridge/ce(src) - new /obj/item/device/radio/headset/heads/ce(src) - new /obj/item/device/radio/headset/heads/ce/alt(src) - new /obj/item/weapon/storage/toolbox/mechanical(src) - new /obj/item/clothing/suit/storage/hazardvest(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/device/multitool(src) - new /obj/item/weapon/storage/belt/utility/chief/full(src) - new /obj/item/device/flash(src) - new /obj/item/device/t_scanner/upgraded - new /obj/item/taperoll/engineering(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) - new /obj/item/clothing/shoes/boots/winter/engineering(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/weapon/reagent_containers/spray/windowsealant(src) //vorestation addition - return - - +/obj/structure/closet/secure_closet/engineering_chief/initialize() + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/industrial + else + starts_with += /obj/item/weapon/storage/backpack/satchel/eng + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng + return ..() /obj/structure/closet/secure_closet/engineering_electrical name = "electrical supplies" - req_access = list(access_engine_equip) icon_state = "secureengelec1" icon_closed = "secureengelec" icon_locked = "secureengelec1" icon_opened = "toolclosetopen" icon_broken = "secureengelecbroken" icon_off = "secureengelecoff" + req_access = list(access_engine_equip) - - New() - ..() - new /obj/item/clothing/gloves/yellow(src) - new /obj/item/clothing/gloves/yellow(src) - new /obj/item/weapon/storage/toolbox/electrical(src) - new /obj/item/weapon/storage/toolbox/electrical(src) - new /obj/item/weapon/storage/toolbox/electrical(src) - new /obj/item/weapon/module/power_control(src) - new /obj/item/weapon/module/power_control(src) - new /obj/item/weapon/module/power_control(src) - new /obj/item/device/multitool(src) - new /obj/item/device/multitool(src) - new /obj/item/device/multitool(src) - return - + starts_with = list( + /obj/item/clothing/gloves/yellow = 2, + /obj/item/weapon/storage/toolbox/electrical = 3, + /obj/item/weapon/module/power_control = 3, + /obj/item/device/multitool = 3) /obj/structure/closet/secure_closet/engineering_welding name = "welding supplies" - req_access = list(access_construction) icon_state = "secureengweld1" icon_closed = "secureengweld" icon_locked = "secureengweld1" icon_opened = "toolclosetopen" icon_broken = "secureengweldbroken" icon_off = "secureengweldoff" + req_access = list(access_construction) - - New() - ..() - new /obj/item/clothing/head/welding(src) - new /obj/item/clothing/head/welding(src) - new /obj/item/clothing/head/welding(src) - new /obj/item/weapon/weldingtool/largetank(src) - new /obj/item/weapon/weldingtool/largetank(src) - new /obj/item/weapon/weldingtool/largetank(src) - new /obj/item/weapon/weldpack(src) - new /obj/item/weapon/weldpack(src) - new /obj/item/weapon/weldpack(src) - new /obj/item/clothing/glasses/welding(src) - new /obj/item/clothing/glasses/welding(src) - new /obj/item/clothing/glasses/welding(src) - return - - + starts_with = list( + /obj/item/clothing/head/welding = 3, + /obj/item/weapon/weldingtool/largetank = 3, + /obj/item/weapon/weldpack = 3, + /obj/item/clothing/glasses/welding = 3) /obj/structure/closet/secure_closet/engineering_personal name = "engineer's locker" - req_access = list(access_engine_equip) icon_state = "secureeng1" icon_closed = "secureeng" icon_locked = "secureeng1" icon_opened = "secureengopen" icon_broken = "secureengbroken" icon_off = "secureengoff" + req_access = list(access_engine_equip) + starts_with = list( + /obj/item/clothing/accessory/storage/brown_vest, + /obj/item/weapon/storage/toolbox/mechanical, + /obj/item/device/radio/headset/headset_eng, + /obj/item/device/radio/headset/headset_eng/alt, + /obj/item/clothing/suit/storage/hazardvest, + /obj/item/clothing/mask/gas, + /obj/item/clothing/glasses/meson, + /obj/item/weapon/cartridge/engineering, + /obj/item/taperoll/engineering, + /obj/item/clothing/suit/storage/hooded/wintercoat/engineering, + /obj/item/clothing/shoes/boots/winter/engineering, + /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/weapon/reagent_containers/spray/windowsealant) //VOREStation Add - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/industrial(src) - else - new /obj/item/weapon/storage/backpack/satchel/eng(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/eng(src) - new /obj/item/clothing/accessory/storage/brown_vest(src) - new /obj/item/weapon/storage/toolbox/mechanical(src) - new /obj/item/device/radio/headset/headset_eng(src) - new /obj/item/device/radio/headset/headset_eng/alt(src) - new /obj/item/clothing/suit/storage/hazardvest(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/glasses/meson(src) - new /obj/item/weapon/cartridge/engineering(src) - new /obj/item/taperoll/engineering(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) - new /obj/item/clothing/shoes/boots/winter/engineering(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/weapon/reagent_containers/spray/windowsealant(src) //vorestation addition - return - +/obj/structure/closet/secure_closet/engineering_personal/initialize() + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/industrial + else + starts_with += /obj/item/weapon/storage/backpack/satchel/eng + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng + return ..() /obj/structure/closet/secure_closet/atmos_personal name = "technician's locker" - req_access = list(access_atmospherics) icon_state = "secureatm1" icon_closed = "secureatm" icon_locked = "secureatm1" icon_opened = "secureatmopen" icon_broken = "secureatmbroken" icon_off = "secureatmoff" + req_access = list(access_atmospherics) + starts_with = list( + /obj/item/clothing/accessory/storage/brown_vest, + /obj/item/clothing/suit/fire/firefighter, + /obj/item/device/flashlight, + /obj/item/weapon/extinguisher, + /obj/item/device/radio/headset/headset_eng, + /obj/item/device/radio/headset/headset_eng/alt, + /obj/item/clothing/suit/storage/hazardvest, + /obj/item/clothing/mask/gas, + /obj/item/weapon/cartridge/atmos, + /obj/item/taperoll/atmos, + /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos, + /obj/item/clothing/shoes/boots/winter/atmos, + /obj/item/weapon/tank/emergency/oxygen/engi) - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/industrial(src) - else - new /obj/item/weapon/storage/backpack/satchel/eng(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/eng(src) - new /obj/item/clothing/accessory/storage/brown_vest(src) - new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/device/flashlight(src) - new /obj/item/weapon/extinguisher(src) - new /obj/item/device/radio/headset/headset_eng(src) - new /obj/item/device/radio/headset/headset_eng/alt(src) - new /obj/item/clothing/suit/storage/hazardvest(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/weapon/cartridge/atmos(src) - new /obj/item/taperoll/atmos(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src) - new /obj/item/clothing/shoes/boots/winter/atmos(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - return +/obj/structure/closet/secure_closet/atmos_personal/initialize() + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/industrial + else + starts_with += /obj/item/weapon/storage/backpack/satchel/eng + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng + return ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm index 62401902b64..c6eddffe83a 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm @@ -16,20 +16,14 @@ name = "kitchen cabinet" req_access = list(access_kitchen) - New() - ..() - for(var/i = 1 to 7) - new /obj/item/weapon/reagent_containers/food/condiment/flour(src) - for(var/i = 1 to 2) - new /obj/item/weapon/reagent_containers/food/condiment/sugar(src) - return - + starts_with = list( + /obj/item/weapon/reagent_containers/food/condiment/flour = 7, + /obj/item/weapon/reagent_containers/food/condiment/sugar = 2) /obj/structure/closet/secure_closet/freezer/kitchen/mining req_access = list() - /obj/structure/closet/secure_closet/freezer/meat name = "meat fridge" icon_state = "fridge1" @@ -39,13 +33,8 @@ icon_broken = "fridgebroken" icon_off = "fridge1" - - New() - ..() - for(var/i = 1 to 10) - new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey(src) - return - + starts_with = list( + /obj/item/weapon/reagent_containers/food/snacks/meat/monkey = 10) /obj/structure/closet/secure_closet/freezer/fridge @@ -57,17 +46,10 @@ icon_broken = "fridgebroken" icon_off = "fridge1" - - New() - ..() - for(var/i = 1 to 6) - new /obj/item/weapon/reagent_containers/food/drinks/milk(src) - for(var/i = 1 to 4) - new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src) - for(var/i = 1 to 4) - new /obj/item/weapon/storage/fancy/egg_box(src) - return - + starts_with = list( + /obj/item/weapon/reagent_containers/food/drinks/milk = 6, + /obj/item/weapon/reagent_containers/food/drinks/soymilk = 4, + /obj/item/weapon/storage/fancy/egg_box = 4) /obj/structure/closet/secure_closet/freezer/money @@ -81,12 +63,7 @@ req_access = list(access_heads_vault) - New() - ..() - for(var/i = 1 to 3) - new /obj/item/weapon/spacecash/c1000(src) - for(var/i = 1 to 4) - new /obj/item/weapon/spacecash/c500(src) - for(var/i = 1 to 5) - new /obj/item/weapon/spacecash/c200(src) - return + starts_with = list( + /obj/item/weapon/spacecash/c1000 = 3, + /obj/item/weapon/spacecash/c500 = 4, + /obj/item/weapon/spacecash/c200 = 5) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm index f4f24e8d50d..c6061515503 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm @@ -1,6 +1,5 @@ /obj/structure/closet/secure_closet/guncabinet name = "gun cabinet" - req_one_access = list(access_armory) icon = 'icons/obj/guncabinet.dmi' icon_state = "base" icon_off ="base" @@ -8,9 +7,10 @@ icon_locked ="base" icon_closed ="base" icon_opened = "base" + req_one_access = list(access_armory) -/obj/structure/closet/secure_closet/guncabinet/New() - ..() +/obj/structure/closet/secure_closet/guncabinet/initialize() + . = ..() update_icon() /obj/structure/closet/secure_closet/guncabinet/toggle() @@ -27,7 +27,7 @@ for (var/obj/item/weapon/gun/G in contents) if (istype(G, /obj/item/weapon/gun/energy)) lazors++ - if (istype(G, /obj/item/weapon/gun/projectile/)) + if (istype(G, /obj/item/weapon/gun/projectile)) shottas++ for (var/i = 0 to 2) if(lazors || shottas) // only make icons if we have one of the two types. diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm index fc5a5367302..d378c74537b 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -8,24 +8,22 @@ icon_broken = "hydrosecurebroken" icon_off = "hydrosecureoff" + starts_with = list( + /obj/item/weapon/storage/bag/plants, + /obj/item/clothing/under/rank/hydroponics, + /obj/item/device/analyzer/plant_analyzer, + /obj/item/device/radio/headset/headset_service, + /obj/item/clothing/head/greenbandana, + /obj/item/weapon/material/minihoe, + /obj/item/weapon/material/knife/machete/hatchet, + /obj/item/weapon/wirecutters/clippers, + /obj/item/weapon/reagent_containers/spray/plantbgone, + /obj/item/clothing/suit/storage/hooded/wintercoat/hydro, + /obj/item/clothing/shoes/boots/winter/hydro) - New() - ..() - switch(rand(1,2)) - if(1) - new /obj/item/clothing/suit/storage/apron(src) - if(2) - new /obj/item/clothing/suit/storage/apron/overalls(src) - new /obj/item/weapon/storage/bag/plants(src) - new /obj/item/clothing/under/rank/hydroponics(src) - new /obj/item/device/analyzer/plant_analyzer(src) - new /obj/item/device/radio/headset/headset_service(src) - new /obj/item/clothing/head/greenbandana(src) - new /obj/item/weapon/material/minihoe(src) - new /obj/item/weapon/material/knife/machete/hatchet(src) - new /obj/item/weapon/wirecutters/clippers(src) - new /obj/item/weapon/reagent_containers/spray/plantbgone(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/hydro(src) - new /obj/item/clothing/shoes/boots/winter/hydro(src) -// new /obj/item/weapon/bee_net(src) //No more bees, March 2014 - return +/obj/structure/closet/secure_closet/hydroponics/initialize() + if(prob(50)) + starts_with += /obj/item/clothing/suit/storage/apron + else + starts_with += /obj/item/clothing/suit/storage/apron/overalls + return ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 66732a8209a..7b1d7e47d9a 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -9,21 +9,13 @@ icon_off = "medicaloff" req_access = list(access_medical) - -/obj/structure/closet/secure_closet/medical1/New() - ..() - new /obj/item/weapon/storage/box/autoinjectors(src) - new /obj/item/weapon/storage/box/syringes(src) - new /obj/item/weapon/reagent_containers/dropper(src) - new /obj/item/weapon/reagent_containers/dropper(src) - new /obj/item/weapon/reagent_containers/glass/beaker(src) - new /obj/item/weapon/reagent_containers/glass/beaker(src) - new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src) - new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src) - new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src) - new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src) - return - + starts_with = list( + /obj/item/weapon/storage/box/autoinjectors, + /obj/item/weapon/storage/box/syringes, + /obj/item/weapon/reagent_containers/dropper = 2, + /obj/item/weapon/reagent_containers/glass/beaker = 2, + /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 2, + /obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 2) /obj/structure/closet/secure_closet/medical2 @@ -37,17 +29,9 @@ icon_off = "medicaloff" req_access = list(access_surgery) - -/obj/structure/closet/secure_closet/medical2/New() - ..() - new /obj/item/weapon/tank/anesthetic(src) - new /obj/item/weapon/tank/anesthetic(src) - new /obj/item/weapon/tank/anesthetic(src) - new /obj/item/clothing/mask/breath/medical(src) - new /obj/item/clothing/mask/breath/medical(src) - new /obj/item/clothing/mask/breath/medical(src) - return - + starts_with = list( + /obj/item/weapon/tank/anesthetic = 3, + /obj/item/clothing/mask/breath/medical = 3) /obj/structure/closet/secure_closet/medical3 @@ -60,63 +44,63 @@ icon_broken = "securemedbroken" icon_off = "securemedoff" -/obj/structure/closet/secure_closet/medical3/New() - ..() + starts_with = list( + /obj/item/clothing/under/rank/medical, + /obj/item/clothing/under/rank/nurse, + /obj/item/clothing/under/rank/orderly, + /obj/item/clothing/suit/storage/toggle/labcoat, + /obj/item/clothing/suit/storage/toggle/fr_jacket, + /obj/item/clothing/shoes/white, + /obj/item/weapon/cartridge/medical, + /obj/item/device/radio/headset/headset_med, + /obj/item/device/radio/headset/headset_med/alt, + /obj/item/clothing/suit/storage/hooded/wintercoat/medical, + /obj/item/clothing/shoes/boots/winter/medical, + /obj/item/clothing/under/rank/nursesuit, + /obj/item/clothing/head/nursehat, + /obj/item/weapon/storage/box/freezer = 3) + +/obj/structure/closet/secure_closet/medical3/initialize() if(prob(50)) - new /obj/item/weapon/storage/backpack/medic(src) + starts_with += /obj/item/weapon/storage/backpack/medic else - new /obj/item/weapon/storage/backpack/satchel/med(src) + starts_with += /obj/item/weapon/storage/backpack/satchel/med if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/med(src) - new /obj/item/clothing/under/rank/nursesuit (src) - new /obj/item/clothing/head/nursehat (src) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/med switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") - new /obj/item/clothing/under/rank/medical/scrubs(src) - new /obj/item/clothing/head/surgery/blue(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs + starts_with += /obj/item/clothing/head/surgery/blue if ("green") - new /obj/item/clothing/under/rank/medical/scrubs/green(src) - new /obj/item/clothing/head/surgery/green(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/green + starts_with += /obj/item/clothing/head/surgery/green if ("purple") - new /obj/item/clothing/under/rank/medical/scrubs/purple(src) - new /obj/item/clothing/head/surgery/purple(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple + starts_with += /obj/item/clothing/head/surgery/purple if ("black") - new /obj/item/clothing/under/rank/medical/scrubs/black(src) - new /obj/item/clothing/head/surgery/black(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/black + starts_with += /obj/item/clothing/head/surgery/black if ("navyblue") - new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) - new /obj/item/clothing/head/surgery/navyblue(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue + starts_with += /obj/item/clothing/head/surgery/navyblue switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") - new /obj/item/clothing/under/rank/medical/scrubs(src) - new /obj/item/clothing/head/surgery/blue(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs + starts_with += /obj/item/clothing/head/surgery/blue if ("green") - new /obj/item/clothing/under/rank/medical/scrubs/green(src) - new /obj/item/clothing/head/surgery/green(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/green + starts_with += /obj/item/clothing/head/surgery/green if ("purple") - new /obj/item/clothing/under/rank/medical/scrubs/purple(src) - new /obj/item/clothing/head/surgery/purple(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple + starts_with += /obj/item/clothing/head/surgery/purple if ("black") - new /obj/item/clothing/under/rank/medical/scrubs/black(src) - new /obj/item/clothing/head/surgery/black(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/black + starts_with += /obj/item/clothing/head/surgery/black if ("navyblue") - new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) - new /obj/item/clothing/head/surgery/navyblue(src) - new /obj/item/clothing/under/rank/medical(src) - new /obj/item/clothing/under/rank/nurse(src) - new /obj/item/clothing/under/rank/orderly(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/suit/storage/toggle/fr_jacket(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/weapon/cartridge/medical(src) - new /obj/item/device/radio/headset/headset_med(src) - new /obj/item/device/radio/headset/headset_med/alt(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) - new /obj/item/clothing/shoes/boots/winter/medical(src) - new /obj/item/weapon/storage/box/freezer(src) - new /obj/item/weapon/storage/box/freezer(src) - new /obj/item/weapon/storage/box/freezer(src) - return + starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue + starts_with += /obj/item/clothing/head/surgery/navyblue + return ..() + /obj/structure/closet/secure_closet/paramedic name = "paramedic locker" @@ -129,33 +113,30 @@ icon_off = "medicaloff" req_access = list(access_medical_equip) - -/obj/structure/closet/secure_closet/paramedic/New() - ..() - new /obj/item/weapon/storage/backpack/dufflebag/emt(src) - new /obj/item/weapon/storage/box/autoinjectors(src) - new /obj/item/weapon/storage/box/syringes(src) - new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src) - new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src) - new /obj/item/weapon/storage/belt/medical/emt(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/suit/storage/toggle/fr_jacket(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/emt(src) - new /obj/item/device/radio/headset/headset_med/alt(src) - new /obj/item/weapon/cartridge/medical(src) - new /obj/item/weapon/storage/briefcase/inflatable(src) - new /obj/item/device/flashlight(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/clothing/glasses/hud/health(src) - new /obj/item/device/healthanalyzer(src) - new /obj/item/device/radio/off(src) - new /obj/random/medical(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/extinguisher/mini(src) - new /obj/item/weapon/storage/box/freezer(src) - new /obj/item/clothing/accessory/storage/white_vest(src) - new /obj/item/taperoll/medical(src) - return + starts_with = list( + /obj/item/weapon/storage/backpack/dufflebag/emt, + /obj/item/weapon/storage/box/autoinjectors, + /obj/item/weapon/storage/box/syringes, + /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, + /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, + /obj/item/weapon/storage/belt/medical/emt, + /obj/item/clothing/mask/gas, + /obj/item/clothing/suit/storage/toggle/fr_jacket, + /obj/item/clothing/suit/storage/toggle/labcoat/emt, + /obj/item/device/radio/headset/headset_med/alt, + /obj/item/weapon/cartridge/medical, + /obj/item/weapon/storage/briefcase/inflatable, + /obj/item/device/flashlight, + /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/clothing/glasses/hud/health, + /obj/item/device/healthanalyzer, + /obj/item/device/radio/off, + /obj/random/medical, + /obj/item/weapon/crowbar, + /obj/item/weapon/extinguisher/mini, + /obj/item/weapon/storage/box/freezer, + /obj/item/clothing/accessory/storage/white_vest, + /obj/item/taperoll/medical) /obj/structure/closet/secure_closet/CMO name = "chief medical officer's locker" @@ -167,67 +148,61 @@ icon_broken = "cmosecurebroken" icon_off = "cmosecureoff" -/obj/structure/closet/secure_closet/CMO/New() - ..() + starts_with = list( + /obj/item/clothing/under/rank/chief_medical_officer, + /obj/item/clothing/under/rank/chief_medical_officer/skirt, + /obj/item/clothing/suit/storage/toggle/labcoat/cmo, + /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt, + /obj/item/weapon/cartridge/cmo, + /obj/item/clothing/gloves/sterile/latex, + /obj/item/clothing/shoes/brown , + /obj/item/device/radio/headset/heads/cmo, + /obj/item/device/radio/headset/heads/cmo/alt, + /obj/item/device/flash, + /obj/item/weapon/reagent_containers/hypospray/vial, + /obj/item/clothing/suit/storage/hooded/wintercoat/medical, + /obj/item/clothing/shoes/boots/winter/medical, + /obj/item/weapon/storage/box/freezer, + /obj/item/clothing/mask/gas, + /obj/item/taperoll/medical, + /obj/item/clothing/suit/bio_suit/cmo, + /obj/item/clothing/head/bio_hood/cmo, + /obj/item/clothing/shoes/white, + /obj/item/weapon/reagent_containers/glass/beaker/vial) //VOREStation Add + +/obj/structure/closet/secure_closet/CMO/initialize() if(prob(50)) - new /obj/item/weapon/storage/backpack/medic(src) + starts_with += /obj/item/weapon/storage/backpack/medic else - new /obj/item/weapon/storage/backpack/satchel/med(src) + starts_with += /obj/item/weapon/storage/backpack/satchel/med if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/med(src) - new /obj/item/clothing/suit/bio_suit/cmo(src) - new /obj/item/clothing/head/bio_hood/cmo(src) - new /obj/item/clothing/shoes/white(src) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/med switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") - new /obj/item/clothing/under/rank/medical/scrubs(src) - new /obj/item/clothing/head/surgery/blue(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs + starts_with += /obj/item/clothing/head/surgery/blue if ("green") - new /obj/item/clothing/under/rank/medical/scrubs/green(src) - new /obj/item/clothing/head/surgery/green(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/green + starts_with += /obj/item/clothing/head/surgery/green if ("purple") - new /obj/item/clothing/under/rank/medical/scrubs/purple(src) - new /obj/item/clothing/head/surgery/purple(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple + starts_with += /obj/item/clothing/head/surgery/purple if ("black") - new /obj/item/clothing/under/rank/medical/scrubs/black(src) - new /obj/item/clothing/head/surgery/black(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/black + starts_with += /obj/item/clothing/head/surgery/black if ("navyblue") - new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) - new /obj/item/clothing/head/surgery/navyblue(src) - new /obj/item/clothing/under/rank/chief_medical_officer(src) - new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src) - new /obj/item/weapon/cartridge/cmo(src) - new /obj/item/clothing/gloves/sterile/latex(src) - new /obj/item/clothing/shoes/brown (src) - new /obj/item/device/radio/headset/heads/cmo(src) - new /obj/item/device/radio/headset/heads/cmo/alt(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/reagent_containers/hypospray/vial(src) - new /obj/item/weapon/reagent_containers/glass/beaker/vial(src) //VOREStation Edit - An extra vial for the hypo - new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) - new /obj/item/clothing/shoes/boots/winter/medical(src) - new /obj/item/weapon/storage/box/freezer(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/taperoll/medical(src) - return - + starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue + starts_with += /obj/item/clothing/head/surgery/navyblue + return ..() /obj/structure/closet/secure_closet/animal name = "animal control closet" req_access = list(access_surgery) - -/obj/structure/closet/secure_closet/animal/New() - ..() - new /obj/item/device/assembly/signaler(src) - new /obj/item/device/radio/electropack(src) - new /obj/item/device/radio/electropack(src) - new /obj/item/device/radio/electropack(src) - return - + starts_with = list( + /obj/item/device/assembly/signaler, + /obj/item/device/radio/electropack = 3) /obj/structure/closet/secure_closet/chemical @@ -241,37 +216,16 @@ icon_off = "medicaloff" req_access = list(access_chemistry) + starts_with = list( + /obj/item/weapon/storage/box/pillbottles = 2, + /obj/item/weapon/storage/box/beakers, + /obj/item/weapon/storage/box/autoinjectors, + /obj/item/weapon/storage/box/syringes, + /obj/item/weapon/reagent_containers/dropper = 2, + /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 2, + /obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 2, + /obj/item/weapon/storage/fancy/vials) //VOREStation Add -/obj/structure/closet/secure_closet/chemical/New() - ..() - new /obj/item/clothing/under/rank/psych(src) - new /obj/item/clothing/under/rank/psych/turtleneck(src) - new /obj/item/clothing/suit/straight_jacket(src) - new /obj/item/weapon/reagent_containers/glass/bottle/stoxin(src) - new /obj/item/weapon/reagent_containers/syringe(src) - new /obj/item/weapon/storage/pill_bottle/citalopram(src) - new /obj/item/weapon/reagent_containers/pill/methylphenidate(src) - new /obj/item/weapon/clipboard(src) - new /obj/item/weapon/folder/white(src) - new /obj/item/device/taperecorder(src) - new /obj/item/device/tape/random(src) - new /obj/item/device/tape/random(src) - new /obj/item/device/tape/random(src) - new /obj/item/device/camera(src) - new /obj/item/weapon/storage/fancy/vials(src) //VOREStation Edit - adding vials for new hypo - new /obj/item/toy/plushie/therapy/blue(src) - new /obj/item/weapon/storage/box/pillbottles(src) - new /obj/item/weapon/storage/box/pillbottles(src) - new /obj/item/weapon/storage/box/beakers(src) - new /obj/item/weapon/storage/box/autoinjectors(src) - new /obj/item/weapon/storage/box/syringes(src) - new /obj/item/weapon/reagent_containers/dropper(src) - new /obj/item/weapon/reagent_containers/dropper(src) - new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src) - new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src) - new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src) - new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src) - return /obj/structure/closet/secure_closet/psych name = "psychiatric closet" @@ -284,25 +238,21 @@ icon_off = "medicaloff" req_access = list(access_psychiatrist) + starts_with = list( + /obj/item/clothing/under/rank/psych, + /obj/item/clothing/under/rank/psych/turtleneck, + /obj/item/clothing/suit/straight_jacket, + /obj/item/weapon/reagent_containers/glass/bottle/stoxin, + /obj/item/weapon/reagent_containers/syringe, + /obj/item/weapon/storage/pill_bottle/citalopram, + /obj/item/weapon/reagent_containers/pill/methylphenidate, + /obj/item/weapon/clipboard, + /obj/item/weapon/folder/white, + /obj/item/device/taperecorder, + /obj/item/device/tape/random = 3, + /obj/item/device/camera, + /obj/item/toy/plushie/therapy/blue) -/obj/structure/closet/secure_closet/psych/New() - ..() - new /obj/item/clothing/under/rank/psych(src) - new /obj/item/clothing/under/rank/psych/turtleneck(src) - new /obj/item/clothing/suit/straight_jacket(src) - new /obj/item/weapon/reagent_containers/glass/bottle/stoxin(src) - new /obj/item/weapon/reagent_containers/syringe(src) - new /obj/item/weapon/storage/pill_bottle/citalopram(src) - new /obj/item/weapon/reagent_containers/pill/methylphenidate(src) - new /obj/item/weapon/clipboard(src) - new /obj/item/weapon/folder/white(src) - new /obj/item/device/taperecorder(src) - new /obj/item/device/tape/random(src) - new /obj/item/device/tape/random(src) - new /obj/item/device/tape/random(src) - new /obj/item/device/camera(src) - new /obj/item/toy/plushie/therapy/blue(src) - return /obj/structure/closet/secure_closet/medical_wall name = "first aid closet" @@ -335,25 +285,18 @@ /obj/structure/closet/secure_closet/medical_wall/pills name = "pill cabinet" -/obj/structure/closet/secure_closet/medical_wall/pills/New() - ..() - new /obj/item/weapon/storage/pill_bottle/tramadol(src) - new /obj/item/weapon/storage/pill_bottle/antitox(src) - new /obj/item/weapon/storage/pill_bottle/carbon(src) - new /obj/random/medical/pillbottle(src) - return + starts_with = list( + /obj/item/weapon/storage/pill_bottle/tramadol, + /obj/item/weapon/storage/pill_bottle/antitox, + /obj/item/weapon/storage/pill_bottle/carbon, + /obj/random/medical/pillbottle) + /obj/structure/closet/secure_closet/medical_wall/anesthetics name = "anesthetics wall closet" desc = "Used to knock people out." req_access = list(access_surgery) -/obj/structure/closet/secure_closet/medical_wall/anesthetics/New() - ..() - new /obj/item/weapon/tank/anesthetic(src) - new /obj/item/weapon/tank/anesthetic(src) - new /obj/item/weapon/tank/anesthetic(src) - new /obj/item/clothing/mask/breath/medical(src) - new /obj/item/clothing/mask/breath/medical(src) - new /obj/item/clothing/mask/breath/medical(src) - return \ No newline at end of file + starts_with = list( + /obj/item/weapon/tank/anesthetic = 3, + /obj/item/clothing/mask/breath/medical = 3) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 8665e985f72..b7a09db3c43 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -4,31 +4,23 @@ req_access = list(access_all_personal_lockers) var/registered_name = null -/obj/structure/closet/secure_closet/personal/New() - ..() - spawn(2) - if(prob(50)) - new /obj/item/weapon/storage/backpack(src) - else - new /obj/item/weapon/storage/backpack/satchel/norm(src) - new /obj/item/device/radio/headset( src ) - return + starts_with = list( + /obj/item/device/radio/headset) +/obj/structure/closet/secure_closet/personal/initialize() + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack + else + starts_with += /obj/item/weapon/storage/backpack/satchel/norm + return ..() /obj/structure/closet/secure_closet/personal/patient name = "patient's closet" -/obj/structure/closet/secure_closet/personal/patient/New() - ..() - spawn(4) - // Not really the best way to do this, but it's better than "contents = list()"! - for(var/atom/movable/AM in contents) - qdel(AM) - new /obj/item/clothing/under/medigown(src) - new /obj/item/clothing/under/color/white( src ) - new /obj/item/clothing/shoes/white( src ) - return - + starts_with = list( + /obj/item/clothing/under/medigown, + /obj/item/clothing/under/color/white, + /obj/item/clothing/shoes/white) /obj/structure/closet/secure_closet/personal/cabinet @@ -39,6 +31,11 @@ icon_broken = "cabinetdetective_broken" icon_off = "cabinetdetective_broken" + starts_with = list( + /obj/item/weapon/storage/backpack/satchel/withwallet, + /obj/item/device/radio/headset + ) + /obj/structure/closet/secure_closet/personal/cabinet/update_icon() if(broken) icon_state = icon_broken @@ -51,20 +48,11 @@ else icon_state = icon_opened -/obj/structure/closet/secure_closet/personal/cabinet/New() - ..() - spawn(4) - // Not really the best way to do this, but it's better than "contents = list()"! - for(var/atom/movable/AM in contents) - qdel(AM) - new /obj/item/weapon/storage/backpack/satchel/withwallet( src ) - new /obj/item/device/radio/headset( src ) - return - /obj/structure/closet/secure_closet/personal/attackby(obj/item/weapon/W as obj, mob/user as mob) if (src.opened) if (istype(W, /obj/item/weapon/grab)) - src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet + var/obj/item/weapon/grab/G = W + src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet user.drop_item() if (W) W.forceMove(src.loc) else if(W.GetID()) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index ac58f643a2d..64cb0920f39 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -1,61 +1,57 @@ /obj/structure/closet/secure_closet/scientist name = "scientist's locker" - req_access = list(access_tox_storage) icon_state = "secureres1" icon_closed = "secureres" icon_locked = "secureres1" icon_opened = "secureresopen" icon_broken = "secureresbroken" icon_off = "secureresoff" + req_access = list(access_tox_storage) - New() - ..() - new /obj/item/clothing/under/rank/scientist(src) - //new /obj/item/clothing/suit/labcoat/science(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/shoes/white(src) -// new /obj/item/weapon/cartridge/signal/science(src) - new /obj/item/device/radio/headset/headset_sci(src) - new /obj/item/weapon/tank/air(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/science(src) - new /obj/item/clothing/shoes/boots/winter/science(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sci(src) - else - new /obj/item/weapon/storage/backpack/toxins(src) - return + starts_with = list( + /obj/item/clothing/under/rank/scientist, + /obj/item/clothing/suit/storage/toggle/labcoat, + /obj/item/clothing/shoes/white, + /obj/item/device/radio/headset/headset_sci, + /obj/item/weapon/tank/air, + /obj/item/clothing/mask/gas, + /obj/item/clothing/suit/storage/hooded/wintercoat/science, + /obj/item/clothing/shoes/boots/winter/science) +/obj/structure/closet/secure_closet/scientist/initialize() + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci + else + starts_with += /obj/item/weapon/storage/backpack/toxins + return ..() /obj/structure/closet/secure_closet/RD name = "research director's locker" - req_access = list(access_rd) icon_state = "rdsecure1" icon_closed = "rdsecure" icon_locked = "rdsecure1" icon_opened = "rdsecureopen" icon_broken = "rdsecurebroken" icon_off = "rdsecureoff" + req_access = list(access_rd) - New() - ..() - new /obj/item/clothing/suit/bio_suit/scientist(src) - new /obj/item/clothing/head/bio_hood/scientist(src) - new /obj/item/clothing/under/rank/research_director(src) - new /obj/item/clothing/under/rank/research_director/rdalt(src) - new /obj/item/clothing/under/rank/research_director/dress_rd(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/weapon/cartridge/rd(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/leather(src) - new /obj/item/clothing/gloves/sterile/latex(src) - new /obj/item/device/radio/headset/heads/rd(src) - new /obj/item/device/radio/headset/heads/rd/alt(src) - new /obj/item/weapon/bluespace_harpoon(src) //VOREStation Edit - new /obj/item/weapon/tank/air(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/device/flash(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/science(src) - new /obj/item/clothing/shoes/boots/winter/science(src) - return + starts_with = list( + /obj/item/clothing/suit/bio_suit/scientist, + /obj/item/clothing/head/bio_hood/scientist, + /obj/item/clothing/under/rank/research_director, + /obj/item/clothing/under/rank/research_director/rdalt, + /obj/item/clothing/under/rank/research_director/dress_rd, + /obj/item/clothing/suit/storage/toggle/labcoat, + /obj/item/weapon/cartridge/rd, + /obj/item/clothing/shoes/white, + /obj/item/clothing/shoes/leather, + /obj/item/clothing/gloves/sterile/latex, + /obj/item/device/radio/headset/heads/rd, + /obj/item/device/radio/headset/heads/rd/alt, + /obj/item/weapon/tank/air, + /obj/item/clothing/mask/gas, + /obj/item/device/flash, + /obj/item/clothing/suit/storage/hooded/wintercoat/science, + /obj/item/clothing/shoes/boots/winter/science, + /obj/item/weapon/bluespace_harpoon) //VOREStation Add diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index bc9614f8633..0534418e66b 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -1,90 +1,82 @@ /obj/structure/closet/secure_closet/captains name = "colony director's locker" - req_access = list(access_captain) icon_state = "capsecure1" icon_closed = "capsecure" icon_locked = "capsecure1" icon_opened = "capsecureopen" icon_broken = "capsecurebroken" icon_off = "capsecureoff" + req_access = list(access_captain) - New() - ..() - new /obj/item/weapon/storage/backpack/dufflebag/captain(src) - new /obj/item/clothing/head/helmet(src) - new /obj/item/clothing/suit/storage/vest(src) - new /obj/item/weapon/cartridge/captain(src) - new /obj/item/weapon/storage/lockbox/medal(src) - new /obj/item/device/radio/headset/heads/captain(src) - new /obj/item/device/radio/headset/heads/captain/alt(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/melee/telebaton(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/storage/box/ids(src) - return - + starts_with = list( + /obj/item/weapon/storage/backpack/dufflebag/captain, + /obj/item/clothing/head/helmet, + /obj/item/clothing/suit/storage/vest, + /obj/item/weapon/cartridge/captain, + /obj/item/weapon/storage/lockbox/medal, + /obj/item/device/radio/headset/heads/captain, + /obj/item/device/radio/headset/heads/captain/alt, + /obj/item/weapon/gun/energy/gun, + /obj/item/weapon/melee/telebaton, + /obj/item/device/flash, + /obj/item/weapon/storage/box/ids) /obj/structure/closet/secure_closet/hop name = "head of personnel's locker" - req_access = list(access_hop) icon_state = "hopsecure1" icon_closed = "hopsecure" icon_locked = "hopsecure1" icon_opened = "hopsecureopen" icon_broken = "hopsecurebroken" icon_off = "hopsecureoff" + req_access = list(access_hop) - New() - ..() - new /obj/item/clothing/suit/storage/vest(src) - new /obj/item/clothing/head/helmet(src) - new /obj/item/weapon/cartridge/hop(src) - new /obj/item/device/radio/headset/heads/hop(src) - new /obj/item/device/radio/headset/heads/hop/alt(src) - new /obj/item/weapon/storage/box/ids(src) - new /obj/item/weapon/storage/box/ids( src ) - new /obj/item/weapon/gun/energy/gun/martin(src) //VOREStation Edit - //new /obj/item/weapon/gun/projectile/sec/flash(src) //VOREStation Edit - new /obj/item/device/flash(src) - return + starts_with = list( + /obj/item/clothing/suit/storage/vest, + /obj/item/clothing/head/helmet, + /obj/item/weapon/cartridge/hop, + /obj/item/device/radio/headset/heads/hop, + /obj/item/device/radio/headset/heads/hop/alt, + /obj/item/weapon/storage/box/ids = 2, + /obj/item/weapon/gun/energy/gun, + /obj/item/weapon/gun/energy/gun/martin, //VOREStation Add, + ///obj/item/weapon/gun/projectile/sec/flash, //VOREStation Removal, + /obj/item/device/flash) /obj/structure/closet/secure_closet/hop2 name = "head of personnel's attire" - req_access = list(access_hop) icon_state = "hopsecure1" icon_closed = "hopsecure" icon_locked = "hopsecure1" icon_opened = "hopsecureopen" icon_broken = "hopsecurebroken" icon_off = "hopsecureoff" + req_access = list(access_hop) - New() - ..() - new /obj/item/clothing/under/rank/head_of_personnel(src) - new /obj/item/clothing/under/dress/dress_hop(src) - new /obj/item/clothing/under/dress/dress_hr(src) - new /obj/item/clothing/under/lawyer/female(src) - new /obj/item/clothing/under/lawyer/black(src) - new /obj/item/clothing/under/lawyer/black/skirt(src) - new /obj/item/clothing/under/lawyer/red(src) - new /obj/item/clothing/under/lawyer/red/skirt(src) - new /obj/item/clothing/under/lawyer/oldman(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/leather(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/under/rank/head_of_personnel_whimsy(src) - new /obj/item/clothing/head/caphat/hop(src) - new /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit(src) - new /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt(src) - new /obj/item/clothing/glasses/sunglasses(src) - return - + starts_with = list( + /obj/item/clothing/under/rank/head_of_personnel, + /obj/item/clothing/under/dress/dress_hop, + /obj/item/clothing/under/dress/dress_hr, + /obj/item/clothing/under/lawyer/female, + /obj/item/clothing/under/lawyer/black, + /obj/item/clothing/under/lawyer/black/skirt, + /obj/item/clothing/under/lawyer/red, + /obj/item/clothing/under/lawyer/red/skirt, + /obj/item/clothing/under/lawyer/oldman, + /obj/item/clothing/shoes/brown, + /obj/item/clothing/shoes/black, + /obj/item/clothing/shoes/leather, + /obj/item/clothing/shoes/white, + /obj/item/clothing/under/rank/head_of_personnel_whimsy, + /obj/item/clothing/head/caphat/hop, + /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit, + /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt, + /obj/item/clothing/glasses/sunglasses) /obj/structure/closet/secure_closet/hos - name = "head of security's attire" //VOREStation Edit + name = "head of security's locker" req_access = list(access_hos) icon_state = "hossecure1" icon_closed = "hossecure" @@ -92,230 +84,192 @@ icon_opened = "hossecureopen" icon_broken = "hossecurebroken" icon_off = "hossecureoff" - storage_capacity = 2.5 * MOB_MEDIUM - //VOREStation Edit - This list split into two lockers - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/security(src) - else - new /obj/item/weapon/storage/backpack/satchel/sec(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sec(src) - new /obj/item/clothing/head/helmet/HoS(src) - new /obj/item/clothing/head/helmet/HoS/hat(src) - new /obj/item/clothing/suit/storage/vest/hos(src) - new /obj/item/clothing/under/rank/head_of_security/jensen(src) - new /obj/item/clothing/under/rank/head_of_security/corp(src) - new /obj/item/clothing/suit/storage/vest/hoscoat/jensen(src) - new /obj/item/clothing/suit/storage/vest/hoscoat(src) - new /obj/item/clothing/head/helmet/dermal(src) - new /obj/item/device/radio/headset/heads/hos(src) - new /obj/item/device/radio/headset/heads/hos/alt(src) - new /obj/item/clothing/glasses/sunglasses/sechud(src) - new /obj/item/weapon/storage/belt/security(src) - new /obj/item/clothing/accessory/holster/waist(src) - new /obj/item/clothing/head/beret/sec/corporate/hos(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) - new /obj/item/clothing/mask/gas/half(src) - return - -//VOREStation Edit - Locker has too much junk in it, splitting it up -/obj/structure/closet/secure_closet/hos2 - name = "head of security's gear" req_access = list(access_hos) - icon_state = "hossecure1" - icon_closed = "hossecure" - icon_locked = "hossecure1" - icon_opened = "hossecureopen" - icon_broken = "hossecurebroken" - icon_off = "hossecureoff" storage_capacity = 2.5 * MOB_MEDIUM - New() - ..() - new /obj/item/weapon/cartridge/hos(src) - new /obj/item/taperoll/police(src) - new /obj/item/weapon/shield/riot/tele(src) - new /obj/item/weapon/storage/box/holobadge/hos(src) - new /obj/item/clothing/accessory/badge/holo/hos(src) - new /obj/item/weapon/reagent_containers/spray/pepper(src) - new /obj/item/weapon/crowbar/red(src) - new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/melee/baton/loaded(src) - /*new /obj/item/weapon/gun/projectile/lamia(src) - new /obj/item/ammo_magazine/m44/rubber(src) - new /obj/item/ammo_magazine/m44(src) - new /obj/item/ammo_magazine/m44(src)*/ // NO YOU DO NOT GET A .44 MAGNUM! -Ace - //new /obj/item/weapon/gun/energy/gun(src) //VOREStation Edit - new /obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos(src) //VOREStation Edit - No need with NSFW - //new /obj/item/weapon/cell/device/weapon(src) //VOREStation Edit - No need with NSFW - new /obj/item/weapon/melee/telebaton(src) - new /obj/item/clothing/head/beret/sec/corporate/hos(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) - new /obj/item/clothing/shoes/boots/winter/security(src) - new /obj/item/device/flashlight/maglight(src) - return -//VOREStation Edit End + starts_with = list( + /obj/item/clothing/head/helmet/HoS, + /obj/item/clothing/head/helmet/HoS/hat, + /obj/item/clothing/suit/storage/vest/hos, + /obj/item/clothing/under/rank/head_of_security/jensen, + /obj/item/clothing/under/rank/head_of_security/corp, + /obj/item/clothing/suit/storage/vest/hoscoat/jensen, + /obj/item/clothing/suit/storage/vest/hoscoat, + /obj/item/clothing/head/helmet/dermal, + /obj/item/weapon/cartridge/hos, + /obj/item/device/radio/headset/heads/hos, + /obj/item/device/radio/headset/heads/hos/alt, + /obj/item/clothing/glasses/sunglasses/sechud, + /obj/item/taperoll/police, + /obj/item/weapon/shield/riot, + /obj/item/weapon/shield/riot/tele, + /obj/item/weapon/storage/box/holobadge/hos, + /obj/item/clothing/accessory/badge/holo/hos, + /obj/item/weapon/reagent_containers/spray/pepper, + /obj/item/weapon/crowbar/red, + /obj/item/weapon/storage/box/flashbangs, + /obj/item/weapon/storage/belt/security, + /obj/item/device/flash, + /obj/item/weapon/melee/baton/loaded, + /obj/item/weapon/gun/energy/gun, + /obj/item/weapon/cell/device/weapon, + /obj/item/clothing/accessory/holster/waist, + /obj/item/weapon/melee/telebaton, + /obj/item/clothing/head/beret/sec/corporate/hos, + /obj/item/clothing/suit/storage/hooded/wintercoat/security, + /obj/item/clothing/shoes/boots/winter/security, + /obj/item/device/flashlight/maglight, + /obj/item/clothing/mask/gas/half) + +/obj/structure/closet/secure_closet/hos/initialize() + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/security + else + starts_with += /obj/item/weapon/storage/backpack/satchel/sec + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + return ..() + /obj/structure/closet/secure_closet/warden name = "warden's locker" - req_access = list(access_armory) icon_state = "wardensecure1" icon_closed = "wardensecure" icon_locked = "wardensecure1" icon_opened = "wardensecureopen" icon_broken = "wardensecurebroken" icon_off = "wardensecureoff" + req_access = list(access_armory) + starts_with = list( + /obj/item/clothing/suit/storage/vest/warden, + /obj/item/clothing/under/rank/warden, + /obj/item/clothing/under/rank/warden/corp, + /obj/item/clothing/suit/storage/vest/wardencoat, + /obj/item/clothing/suit/storage/vest/wardencoat/alt, + /obj/item/clothing/head/helmet/dermal, + /obj/item/clothing/head/helmet/warden, + /obj/item/clothing/head/helmet/warden/hat, + /obj/item/weapon/cartridge/security, + /obj/item/device/radio/headset/headset_sec, + /obj/item/device/radio/headset/headset_sec/alt, + /obj/item/clothing/glasses/sunglasses/sechud, + /obj/item/taperoll/police, + /obj/item/clothing/accessory/badge/holo/warden, + /obj/item/weapon/storage/box/flashbangs, + /obj/item/weapon/storage/belt/security, + /obj/item/weapon/reagent_containers/spray/pepper, + /obj/item/weapon/melee/baton/loaded, + /obj/item/weapon/gun/energy/gun, + /obj/item/weapon/cell/device/weapon, + /obj/item/weapon/storage/box/holobadge, + /obj/item/clothing/head/beret/sec/corporate/warden, + /obj/item/clothing/suit/storage/hooded/wintercoat/security, + /obj/item/clothing/shoes/boots/winter/security, + /obj/item/device/flashlight/maglight, + /obj/item/device/megaphone, + /obj/item/clothing/mask/gas/half) - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/security(src) - else - new /obj/item/weapon/storage/backpack/satchel/sec(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sec(src) - new /obj/item/clothing/suit/storage/vest/warden(src) - new /obj/item/clothing/under/rank/warden(src) - new /obj/item/clothing/under/rank/warden/corp(src) - new /obj/item/clothing/suit/storage/vest/wardencoat(src) - new /obj/item/clothing/suit/storage/vest/wardencoat/alt(src) - new /obj/item/clothing/head/helmet/dermal(src) - new /obj/item/clothing/head/helmet/warden(src) - new /obj/item/clothing/head/helmet/warden/hat(src) - new /obj/item/weapon/cartridge/security(src) - new /obj/item/device/radio/headset/headset_sec(src) - new /obj/item/device/radio/headset/headset_sec/alt(src) - new /obj/item/clothing/glasses/sunglasses/sechud(src) - new /obj/item/taperoll/police(src) - new /obj/item/clothing/accessory/badge/holo/warden(src) - new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/weapon/storage/belt/security(src) - new /obj/item/weapon/reagent_containers/spray/pepper(src) - new /obj/item/weapon/melee/baton/loaded(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/cell/device/weapon(src) - new /obj/item/weapon/storage/box/holobadge(src) - new /obj/item/clothing/head/beret/sec/corporate/warden(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) - new /obj/item/clothing/shoes/boots/winter/security(src) - new /obj/item/device/flashlight/maglight(src) - new /obj/item/device/megaphone(src) - new /obj/item/clothing/mask/gas/half(src) - return - - +/obj/structure/closet/secure_closet/warden/initialize() + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/security + else + starts_with += /obj/item/weapon/storage/backpack/satchel/sec + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + return ..() /obj/structure/closet/secure_closet/security name = "security officer's locker" - req_access = list(access_brig) icon_state = "sec1" icon_closed = "sec" icon_locked = "sec1" icon_opened = "secopen" icon_broken = "secbroken" icon_off = "secoff" + req_access = list(access_brig) - New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/security(src) - else - new /obj/item/weapon/storage/backpack/satchel/sec(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sec(src) - new /obj/item/clothing/suit/storage/vest/officer(src) - new /obj/item/clothing/head/helmet(src) - new /obj/item/weapon/cartridge/security(src) - new /obj/item/device/radio/headset/headset_sec(src) - new /obj/item/device/radio/headset/headset_sec/alt(src) - new /obj/item/weapon/storage/belt/security(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/reagent_containers/spray/pepper(src) - new /obj/item/weapon/grenade/flashbang(src) - new /obj/item/weapon/melee/baton/loaded(src) - new /obj/item/clothing/glasses/sunglasses/sechud(src) - new /obj/item/taperoll/police(src) - new /obj/item/device/hailer(src) - new /obj/item/device/flashlight/flare(src) - new /obj/item/clothing/accessory/storage/black_vest(src) - new /obj/item/clothing/head/soft/sec/corp(src) - new /obj/item/clothing/under/rank/security/corp(src) - //new /obj/item/ammo_magazine/m45/rubber(src) //VOREStation Edit - new /obj/item/weapon/gun/energy/taser(src) - new /obj/item/weapon/cell/device/weapon(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) - new /obj/item/clothing/shoes/boots/winter/security(src) - new /obj/item/device/flashlight/maglight(src) - return + starts_with = list( + /obj/item/clothing/suit/storage/vest/officer, + /obj/item/clothing/head/helmet, + /obj/item/weapon/cartridge/security, + /obj/item/device/radio/headset/headset_sec, + /obj/item/device/radio/headset/headset_sec/alt, + /obj/item/weapon/storage/belt/security, + /obj/item/device/flash, + /obj/item/weapon/reagent_containers/spray/pepper, + /obj/item/weapon/grenade/flashbang, + /obj/item/weapon/melee/baton/loaded, + /obj/item/clothing/glasses/sunglasses/sechud, + /obj/item/taperoll/police, + /obj/item/device/hailer, + /obj/item/device/flashlight/flare, + /obj/item/clothing/accessory/storage/black_vest, + /obj/item/clothing/head/soft/sec/corp, + /obj/item/clothing/under/rank/security/corp, + ///obj/item/ammo_magazine/m45/rubber, //VOREStation Removal, + /obj/item/weapon/gun/energy/taser, + /obj/item/weapon/cell/device/weapon, + /obj/item/clothing/suit/storage/hooded/wintercoat/security, + /obj/item/clothing/shoes/boots/winter/security, + /obj/item/device/flashlight/maglight) +/obj/structure/closet/secure_closet/security/initialize() + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/security + else + starts_with += /obj/item/weapon/storage/backpack/satchel/sec + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + return ..() -/obj/structure/closet/secure_closet/security/cargo +/obj/structure/closet/secure_closet/security/cargo/initialize() + starts_with += /obj/item/clothing/accessory/armband/cargo + starts_with += /obj/item/device/encryptionkey/headset_cargo + return ..() - New() - ..() - new /obj/item/clothing/accessory/armband/cargo(src) - new /obj/item/device/encryptionkey/headset_cargo(src) - return +/obj/structure/closet/secure_closet/security/engine/initialize() + starts_with += /obj/item/clothing/accessory/armband/engine + starts_with += /obj/item/device/encryptionkey/headset_eng + return ..() -/obj/structure/closet/secure_closet/security/engine +/obj/structure/closet/secure_closet/security/science/initialize() + starts_with += /obj/item/clothing/accessory/armband/science + starts_with += /obj/item/device/encryptionkey/headset_sci + return ..() - New() - ..() - new /obj/item/clothing/accessory/armband/engine(src) - new /obj/item/device/encryptionkey/headset_eng(src) - return - -/obj/structure/closet/secure_closet/security/science - - New() - ..() - new /obj/item/clothing/accessory/armband/science(src) - new /obj/item/device/encryptionkey/headset_sci(src) - return - -/obj/structure/closet/secure_closet/security/med - - New() - ..() - new /obj/item/clothing/accessory/armband/medblue(src) - new /obj/item/device/encryptionkey/headset_med(src) - return +/obj/structure/closet/secure_closet/security/med/initialize() + starts_with += /obj/item/clothing/accessory/armband/medblue + starts_with += /obj/item/device/encryptionkey/headset_med + return ..() /obj/structure/closet/secure_closet/detective name = "detective's cabinet" - req_access = list(access_forensics_lockers) icon_state = "cabinetdetective_locked" icon_closed = "cabinetdetective" icon_locked = "cabinetdetective_locked" icon_opened = "cabinetdetective_open" icon_broken = "cabinetdetective_broken" icon_off = "cabinetdetective_broken" + req_access = list(access_forensics_lockers) - New() - ..() - new /obj/item/clothing/accessory/badge/holo/detective(src) - new /obj/item/clothing/gloves/black(src) - //new /obj/item/gunbox(src) // Vorestation edit. If you can't be trusted to not be stupid with lethals, you can't be trusted with less-than-lethals either. - new /obj/item/weapon/storage/belt/detective(src) - new /obj/item/weapon/storage/box/evidence(src) - new /obj/item/device/radio/headset/headset_sec(src) - new /obj/item/device/radio/headset/headset_sec/alt(src) - new /obj/item/clothing/suit/storage/vest/detective(src) - new /obj/item/taperoll/police(src) - new /obj/item/clothing/accessory/holster/armpit(src) - new /obj/item/device/flashlight/maglight(src) - new /obj/item/weapon/reagent_containers/food/drinks/flask/detflask(src) - new /obj/item/weapon/storage/briefcase/crimekit(src) - new /obj/item/device/taperecorder(src) - new /obj/item/device/tape/random(src) - new /obj/item/device/tape/random(src) - new /obj/item/device/tape/random(src) - return + starts_with = list( + /obj/item/clothing/accessory/badge/holo/detective, + /obj/item/clothing/gloves/black, + ///obj/item/gunbox, //VOREStation Removal, + /obj/item/weapon/storage/belt/detective, + /obj/item/weapon/storage/box/evidence, + /obj/item/device/radio/headset/headset_sec, + /obj/item/device/radio/headset/headset_sec/alt, + /obj/item/clothing/suit/storage/vest/detective, + /obj/item/taperoll/police, + /obj/item/clothing/accessory/holster/armpit, + /obj/item/device/flashlight/maglight, + /obj/item/weapon/reagent_containers/food/drinks/flask/detflask, + /obj/item/weapon/storage/briefcase/crimekit, + /obj/item/device/taperecorder, + /obj/item/device/tape/random = 3) /obj/structure/closet/secure_closet/detective/update_icon() if(broken) @@ -329,16 +283,13 @@ else icon_state = icon_opened + /obj/structure/closet/secure_closet/injection name = "lethal injections locker" req_access = list(access_captain) - - New() - ..() - new /obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral(src) - new /obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral(src) - return + starts_with = list( + /obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral = 2) GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/brig) @@ -348,40 +299,34 @@ GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/br anchored = 1 var/id = null - New() - ..() - new /obj/item/clothing/under/color/orange( src ) - new /obj/item/clothing/shoes/orange( src ) - return - + starts_with = list( + /obj/item/clothing/under/color/orange, + /obj/item/clothing/shoes/orange) /obj/structure/closet/secure_closet/courtroom name = "courtroom locker" req_access = list(access_lawyer) - New() - ..() - new /obj/item/clothing/shoes/brown(src) - new /obj/item/weapon/paper/Court (src) - new /obj/item/weapon/paper/Court (src) - new /obj/item/weapon/paper/Court (src) - new /obj/item/weapon/pen (src) - new /obj/item/clothing/suit/judgerobe (src) - new /obj/item/clothing/head/powdered_wig (src) - new /obj/item/weapon/storage/briefcase(src) - return + starts_with = list( + /obj/item/clothing/shoes/brown, + /obj/item/weapon/paper/Court = 3, + /obj/item/weapon/pen, + /obj/item/clothing/suit/judgerobe, + /obj/item/clothing/head/powdered_wig, + /obj/item/weapon/storage/briefcase) + /obj/structure/closet/secure_closet/wall name = "wall locker" - req_access = list(access_security) icon_state = "wall-locker1" - density = 1 icon_closed = "wall-locker" icon_locked = "wall-locker1" icon_opened = "wall-lockeropen" icon_broken = "wall-lockerbroken" icon_off = "wall-lockeroff" + req_access = list(access_security) + density = 1 //too small to put a man in large = 0 diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm b/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm index 3c79685f10b..739410a820a 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security_vr.dm @@ -1,16 +1,62 @@ /obj/structure/closet/secure_closet/hos - name = "head of security's locker" - req_access = list(access_hos) + name = "head of security's attire" icon_state = "hossecure1" icon_closed = "hossecure" icon_locked = "hossecure1" icon_opened = "hossecureopen" icon_broken = "hossecurebroken" icon_off = "hossecureoff" - storage_capacity = 3 * MOB_MEDIUM + req_access = list(access_hos) + storage_capacity = 2.5 * MOB_MEDIUM + + starts_with = list( + /obj/item/clothing/head/helmet/HoS, + /obj/item/clothing/head/helmet/HoS/hat, + /obj/item/clothing/suit/storage/vest/hos, + /obj/item/clothing/under/rank/head_of_security/jensen, + /obj/item/clothing/under/rank/head_of_security/corp, + /obj/item/clothing/suit/storage/vest/hoscoat/jensen, + /obj/item/clothing/suit/storage/vest/hoscoat, + /obj/item/clothing/head/helmet/dermal, + /obj/item/device/radio/headset/heads/hos, + /obj/item/device/radio/headset/heads/hos/alt, + /obj/item/clothing/glasses/sunglasses/sechud, + /obj/item/weapon/storage/belt/security, + /obj/item/clothing/accessory/holster/waist, + /obj/item/clothing/head/beret/sec/corporate/hos, + /obj/item/clothing/suit/storage/hooded/wintercoat/security, + /obj/item/clothing/mask/gas/half) + +/obj/structure/closet/secure_closet/hos2 + name = "head of security's gear" + icon_state = "hossecure1" + icon_closed = "hossecure" + icon_locked = "hossecure1" + icon_opened = "hossecureopen" + icon_broken = "hossecurebroken" + icon_off = "hossecureoff" + req_access = list(access_hos) + storage_capacity = 2.5 * MOB_MEDIUM + + starts_with = list( + /obj/item/weapon/cartridge/hos, + /obj/item/taperoll/police, + /obj/item/weapon/shield/riot/tele, + /obj/item/weapon/storage/box/holobadge/hos, + /obj/item/clothing/accessory/badge/holo/hos, + /obj/item/weapon/reagent_containers/spray/pepper, + /obj/item/weapon/crowbar/red, + /obj/item/weapon/storage/box/flashbangs, + /obj/item/device/flash, + /obj/item/weapon/melee/baton/loaded, + /obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos, + /obj/item/weapon/melee/telebaton, + /obj/item/clothing/head/beret/sec/corporate/hos, + /obj/item/clothing/suit/storage/hooded/wintercoat/security, + /obj/item/clothing/shoes/boots/winter/security, + /obj/item/device/flashlight/maglight) //Custom NT Security Lockers, Only found at central command - /obj/structure/closet/secure_closet/nanotrasen_security name = "NanoTrasen security officer's locker" req_access = list(access_brig) diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 906e46dbe1e..c2476442461 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -5,77 +5,57 @@ icon_closed = "syndicate" icon_opened = "syndicateopen" - /obj/structure/closet/syndicate/personal desc = "It's a storage unit for operative gear." -/obj/structure/closet/syndicate/personal/New() - ..() - new /obj/item/weapon/tank/jetpack/oxygen(src) - new /obj/item/clothing/mask/gas/syndicate(src) - new /obj/item/clothing/under/syndicate(src) - new /obj/item/clothing/head/helmet/space/void/merc(src) - new /obj/item/clothing/suit/space/void/merc(src) - new /obj/item/weapon/crowbar/red(src) - new /obj/item/weapon/cell/high(src) - new /obj/item/weapon/card/id/syndicate(src) - new /obj/item/device/multitool(src) - new /obj/item/weapon/shield/energy(src) - new /obj/item/clothing/shoes/magboots(src) + starts_with = list( + /obj/item/weapon/tank/jetpack/oxygen, + /obj/item/clothing/mask/gas/syndicate, + /obj/item/clothing/under/syndicate, + /obj/item/clothing/head/helmet/space/void/merc, + /obj/item/clothing/suit/space/void/merc, + /obj/item/weapon/crowbar/red, + /obj/item/weapon/cell/high, + /obj/item/weapon/card/id/syndicate, + /obj/item/device/multitool, + /obj/item/weapon/shield/energy, + /obj/item/clothing/shoes/magboots) /obj/structure/closet/syndicate/suit desc = "It's a storage unit for voidsuits." - -/obj/structure/closet/syndicate/suit/New() - ..() - new /obj/item/weapon/tank/jetpack/oxygen(src) - new /obj/item/clothing/shoes/magboots(src) - new /obj/item/clothing/suit/space/void/merc(src) - new /obj/item/clothing/mask/gas/syndicate(src) - new /obj/item/clothing/head/helmet/space/void/merc(src) + + starts_with = list( + /obj/item/weapon/tank/jetpack/oxygen, + /obj/item/clothing/shoes/magboots, + /obj/item/clothing/suit/space/void/merc, + /obj/item/clothing/mask/gas/syndicate, + /obj/item/clothing/head/helmet/space/void/merc) /obj/structure/closet/syndicate/nuclear desc = "It's a storage unit for nuclear-operative gear." -/obj/structure/closet/syndicate/nuclear/New() - ..() + starts_with = list( + /obj/item/ammo_magazine/m10mm = 5, + /obj/item/weapon/storage/box/handcuffs, + /obj/item/weapon/storage/box/flashbangs, + /obj/item/weapon/gun/energy/gun = 5, + /obj/item/weapon/pinpointer/nukeop = 5, + /obj/item/device/pda/syndicate, + /obj/item/device/radio/uplink) - new /obj/item/ammo_magazine/m10mm(src) - new /obj/item/ammo_magazine/m10mm(src) - new /obj/item/ammo_magazine/m10mm(src) - new /obj/item/ammo_magazine/m10mm(src) - new /obj/item/ammo_magazine/m10mm(src) - new /obj/item/weapon/storage/box/handcuffs(src) - new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/weapon/pinpointer/nukeop(src) - new /obj/item/weapon/pinpointer/nukeop(src) - new /obj/item/weapon/pinpointer/nukeop(src) - new /obj/item/weapon/pinpointer/nukeop(src) - new /obj/item/weapon/pinpointer/nukeop(src) - new /obj/item/device/pda/syndicate(src) - new /obj/item/device/radio/uplink(src) - //U.hidden_uplink.uses = 40 - return - -/obj/structure/closet/syndicate/resources/ +/obj/structure/closet/syndicate/resources desc = "An old, dusty locker." - New() - ..() +/obj/structure/closet/syndicate/resources/initialize() + . = ..() + if(!contents.len) var/common_min = 30 //Minimum amount of minerals in the stack for common minerals var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals var/rare_min = 5 //Minimum HONK of HONK in the stack HONK HONK rare minerals var/rare_max = 20 //Maximum HONK HONK HONK in the HONK for HONK rare HONK - - var/pickednum = rand(1, 50) //Sad trombone @@ -120,13 +100,11 @@ if(pickednum == 50) new /obj/item/weapon/tank/jetpack/carbondioxide(src) - return - /obj/structure/closet/syndicate/resources/everything desc = "It's an emergency storage closet for repairs." - New() - var/list/resources = list( +/obj/structure/closet/syndicate/resources/everything/initialize() + var/list/resources = list( /obj/item/stack/material/steel, /obj/item/stack/material/glass, /obj/item/stack/material/gold, @@ -136,12 +114,11 @@ /obj/item/stack/material/diamond, /obj/item/stack/material/plasteel, /obj/item/stack/rods - ) + ) + for(var/i = 0, i<2, i++) + for(var/res in resources) + var/obj/item/stack/R = new res(src) + R.amount = R.max_amount - for(var/i = 0, i<2, i++) - for(var/res in resources) - var/obj/item/stack/R = new res(src) - R.amount = R.max_amount - - return + return ..() diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index c2b8ff731af..56f8d6790d3 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -14,48 +14,46 @@ */ /obj/structure/closet/emcloset name = "emergency closet" - desc = "It's a storage unit for emergency breathmasks and o2 tanks." + desc = "It's a storage unit for emergency breathmasks and O2 tanks." icon_state = "emergency" icon_closed = "emergency" icon_opened = "emergencyopen" -/obj/structure/closet/emcloset/New() - ..() - +/obj/structure/closet/emcloset/initialize() switch (pickweight(list("small" = 55, "aid" = 25, "tank" = 10, "both" = 10))) if ("small") - new /obj/item/weapon/tank/emergency/oxygen(src) - new /obj/item/weapon/tank/emergency/oxygen(src) - new /obj/item/clothing/mask/breath(src) - new /obj/item/clothing/mask/breath(src) - new /obj/item/clothing/suit/space/emergency(src) - new /obj/item/clothing/head/helmet/space/emergency(src) + starts_with = list( + /obj/item/weapon/tank/emergency/oxygen = 2, + /obj/item/clothing/mask/breath = 2, + /obj/item/clothing/suit/space/emergency, + /obj/item/clothing/head/helmet/space/emergency) if ("aid") - new /obj/item/weapon/tank/emergency/oxygen(src) - new /obj/item/weapon/storage/toolbox/emergency(src) - new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/storage/firstaid/o2(src) - new /obj/item/clothing/suit/space/emergency(src) - new /obj/item/clothing/head/helmet/space/emergency(src) + starts_with = list( + /obj/item/weapon/tank/emergency/oxygen, + /obj/item/weapon/storage/toolbox/emergency, + /obj/item/clothing/mask/breath, + /obj/item/weapon/storage/firstaid/o2, + /obj/item/clothing/suit/space/emergency, + /obj/item/clothing/head/helmet/space/emergency) if ("tank") - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/clothing/mask/breath(src) + starts_with = list( + /obj/item/weapon/tank/emergency/oxygen/engi = 2, + /obj/item/clothing/mask/breath = 2) if ("both") - new /obj/item/weapon/storage/toolbox/emergency(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/storage/firstaid/o2(src) - new /obj/item/clothing/suit/space/emergency(src) - new /obj/item/clothing/suit/space/emergency(src) - new /obj/item/clothing/head/helmet/space/emergency(src) - new /obj/item/clothing/head/helmet/space/emergency(src) + starts_with = list( + /obj/item/weapon/storage/toolbox/emergency, + /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/clothing/mask/breath, + /obj/item/weapon/storage/firstaid/o2, + /obj/item/clothing/suit/space/emergency = 2, + /obj/item/clothing/head/helmet/space/emergency = 2) -/obj/structure/closet/emcloset/legacy/New() - ..() - new /obj/item/weapon/tank/oxygen(src) - new /obj/item/clothing/mask/gas(src) + return ..() + +/obj/structure/closet/emcloset/legacy + starts_with = list( + /obj/item/weapon/tank/oxygen, + /obj/item/clothing/mask/gas) /* * Fire Closet @@ -67,35 +65,30 @@ icon_closed = "firecloset" icon_opened = "fireclosetopen" -/obj/structure/closet/firecloset/New() - ..() + starts_with = list( + /obj/item/clothing/suit/fire/firefighter, + /obj/item/clothing/mask/gas, + /obj/item/weapon/tank/oxygen/red, + /obj/item/weapon/extinguisher, + /obj/item/clothing/head/hardhat/red) - new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/weapon/tank/oxygen/red(src) - new /obj/item/weapon/extinguisher(src) - new /obj/item/clothing/head/hardhat/red(src) +/obj/structure/closet/firecloset/full + starts_with = list( + /obj/item/clothing/suit/fire/firefighter, + /obj/item/clothing/mask/gas, + /obj/item/device/flashlight, + /obj/item/weapon/tank/oxygen/red, + /obj/item/weapon/extinguisher, + /obj/item/clothing/head/hardhat/red) -/obj/structure/closet/firecloset/full/New() - ..() - sleep(4) - contents = list() - - new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/device/flashlight(src) - new /obj/item/weapon/tank/oxygen/red(src) - new /obj/item/weapon/extinguisher(src) - new /obj/item/clothing/head/hardhat/red(src) - -/obj/structure/closet/firecloset/full/double/New() - ..() - new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/device/flashlight(src) - new /obj/item/weapon/tank/oxygen/red(src) - new /obj/item/weapon/extinguisher(src) - new /obj/item/clothing/head/hardhat/red(src) +/obj/structure/closet/firecloset/full/double + starts_with = list( + /obj/item/clothing/suit/fire/firefighter = 2, + /obj/item/clothing/mask/gas = 2, + /obj/item/device/flashlight = 2, + /obj/item/weapon/tank/oxygen/red = 2, + /obj/item/weapon/extinguisher = 2, + /obj/item/clothing/head/hardhat/red = 2) /obj/structure/closet/firecloset/update_icon() if(!opened) @@ -103,7 +96,6 @@ else icon_state = icon_opened - /* * Tool Closet */ @@ -114,40 +106,41 @@ icon_closed = "toolcloset" icon_opened = "toolclosetopen" -/obj/structure/closet/toolcloset/New() - ..() +/obj/structure/closet/toolcloset/initialize() + starts_with = list() if(prob(40)) - new /obj/item/clothing/suit/storage/hazardvest(src) + starts_with += /obj/item/clothing/suit/storage/hazardvest if(prob(70)) - new /obj/item/device/flashlight(src) + starts_with += /obj/item/device/flashlight if(prob(70)) - new /obj/item/weapon/screwdriver(src) + starts_with += /obj/item/weapon/screwdriver if(prob(70)) - new /obj/item/weapon/wrench(src) + starts_with += /obj/item/weapon/wrench if(prob(70)) - new /obj/item/weapon/weldingtool(src) + starts_with += /obj/item/weapon/weldingtool if(prob(70)) - new /obj/item/weapon/crowbar(src) + starts_with += /obj/item/weapon/crowbar if(prob(70)) - new /obj/item/weapon/wirecutters(src) + starts_with += /obj/item/weapon/wirecutters if(prob(70)) - new /obj/item/device/t_scanner(src) + starts_with += /obj/item/device/t_scanner if(prob(20)) - new /obj/item/weapon/storage/belt/utility(src) + starts_with += /obj/item/weapon/storage/belt/utility if(prob(30)) - new /obj/item/stack/cable_coil/random(src) + starts_with += /obj/item/stack/cable_coil/random if(prob(30)) - new /obj/item/stack/cable_coil/random(src) + starts_with += /obj/item/stack/cable_coil/random if(prob(30)) - new /obj/item/stack/cable_coil/random(src) + starts_with += /obj/item/stack/cable_coil/random if(prob(20)) - new /obj/item/device/multitool(src) + starts_with += /obj/item/device/multitool if(prob(5)) - new /obj/item/clothing/gloves/yellow(src) + starts_with += /obj/item/clothing/gloves/yellow if(prob(40)) - new /obj/item/clothing/head/hardhat(src) + starts_with += /obj/item/clothing/head/hardhat if(prob(30)) - new /obj/item/weapon/reagent_containers/spray/windowsealant(src) //vorestation addition + starts_with += /obj/item/weapon/reagent_containers/spray/windowsealant //VOREStation Add + return ..() /* * Radiation Closet @@ -159,14 +152,9 @@ icon_opened = "toolclosetopen" icon_closed = "radsuitcloset" -/obj/structure/closet/radiation/New() - ..() - new /obj/item/clothing/suit/radiation(src) - new /obj/item/clothing/head/radiation(src) - new /obj/item/clothing/suit/radiation(src) - new /obj/item/clothing/head/radiation(src) - new /obj/item/device/geiger(src) - new /obj/item/device/geiger(src) + starts_with = list( + /obj/item/clothing/suit/radiation = 4, + /obj/item/device/geiger = 2) /* * Bombsuit closet @@ -178,19 +166,18 @@ icon_closed = "bombsuit" icon_opened = "bombsuitopen" -/obj/structure/closet/bombcloset/New() - ..() - new /obj/item/clothing/suit/bomb_suit( src ) - new /obj/item/clothing/under/color/black( src ) - new /obj/item/clothing/shoes/black( src ) - new /obj/item/clothing/head/bomb_hood( src ) + starts_with = list( + /obj/item/clothing/suit/bomb_suit, + /obj/item/clothing/under/color/black, + /obj/item/clothing/shoes/black, + /obj/item/clothing/head/bomb_hood) -/obj/structure/closet/bombcloset/double/New() // Makes two suits. - ..() - new /obj/item/clothing/suit/bomb_suit( src ) - new /obj/item/clothing/under/color/black( src ) - new /obj/item/clothing/shoes/black( src ) - new /obj/item/clothing/head/bomb_hood( src ) +/obj/structure/closet/bombcloset/double + starts_with = list( + /obj/item/clothing/suit/bomb_suit = 2, + /obj/item/clothing/under/color/black = 2, + /obj/item/clothing/shoes/black = 2, + /obj/item/clothing/head/bomb_hood = 2) /obj/structure/closet/bombclosetsecurity name = "\improper EOD closet" @@ -199,12 +186,11 @@ icon_closed = "bombsuitsec" icon_opened = "bombsuitsecopen" -/obj/structure/closet/bombclosetsecurity/New() - ..() - new /obj/item/clothing/suit/bomb_suit/security( src ) - new /obj/item/clothing/under/rank/security( src ) - new /obj/item/clothing/shoes/brown( src ) - new /obj/item/clothing/head/bomb_hood/security( src ) + starts_with = list( + /obj/item/clothing/suit/bomb_suit/security, + /obj/item/clothing/under/rank/security, + /obj/item/clothing/shoes/brown, + /obj/item/clothing/head/bomb_hood/security) /* * Hydrant @@ -221,14 +207,13 @@ density = 0 wall_mounted = 1 -/obj/structure/closet/hydrant/New() - ..() - new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/device/flashlight(src) - new /obj/item/weapon/tank/oxygen/red(src) - new /obj/item/weapon/extinguisher(src) - new /obj/item/clothing/head/hardhat/red(src) + starts_with = list( + /obj/item/clothing/suit/fire/firefighter, + /obj/item/clothing/mask/gas, + /obj/item/device/flashlight, + /obj/item/weapon/tank/oxygen/red, + /obj/item/weapon/extinguisher, + /obj/item/clothing/head/hardhat/red) /* * First Aid diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 3bb6f6c87ef..2a7d883d95e 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -9,54 +9,34 @@ icon_state = "red" icon_closed = "red" -/obj/structure/closet/wardrobe/red/New() - ..() - if(prob(50)) - new /obj/item/weapon/storage/backpack/security(src) - else - new /obj/item/weapon/storage/backpack/satchel/sec(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/security(src) - else - new /obj/item/weapon/storage/backpack/satchel/sec(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/security(src) - else - new /obj/item/weapon/storage/backpack/satchel/sec(src) - new /obj/item/clothing/under/rank/security(src) - new /obj/item/clothing/under/rank/security(src) - new /obj/item/clothing/under/rank/security(src) - new /obj/item/clothing/under/rank/security2(src) - new /obj/item/clothing/under/rank/security2(src) - new /obj/item/clothing/under/rank/security2(src) - new /obj/item/clothing/under/rank/security/skirt(src) - new /obj/item/clothing/under/rank/security/skirt(src) - new /obj/item/clothing/shoes/boots/jackboots(src) - new /obj/item/clothing/shoes/boots/jackboots(src) - new /obj/item/clothing/shoes/boots/jackboots(src) - new /obj/item/clothing/head/soft/sec(src) - new /obj/item/clothing/head/soft/sec(src) - new /obj/item/clothing/head/soft/sec(src) - new /obj/item/clothing/head/beret/sec(src) - new /obj/item/clothing/head/beret/sec(src) - new /obj/item/clothing/head/beret/sec(src) - new /obj/item/clothing/head/beret/sec/corporate/officer(src) - new /obj/item/clothing/head/beret/sec/corporate/officer(src) - new /obj/item/clothing/head/beret/sec/corporate/officer(src) - new /obj/item/clothing/mask/bandana/red(src) - new /obj/item/clothing/mask/bandana/red(src) - new /obj/item/clothing/mask/bandana/red(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) - new /obj/item/clothing/accessory/armband(src) - new /obj/item/clothing/accessory/armband(src) - new /obj/item/clothing/accessory/armband(src) - new /obj/item/clothing/accessory/holster/waist(src) - new /obj/item/clothing/accessory/holster/waist(src) - new /obj/item/clothing/accessory/holster/waist(src) - return + starts_with = list( + /obj/item/clothing/under/rank/security = 3, + /obj/item/clothing/under/rank/security2 = 3, + /obj/item/clothing/under/rank/security/skirt = 2, + /obj/item/clothing/shoes/boots/jackboots = 3, + /obj/item/clothing/head/soft/sec = 3, + /obj/item/clothing/head/beret/sec = 3, + /obj/item/clothing/head/beret/sec/corporate/officer = 3, + /obj/item/clothing/mask/bandana/red = 3, + /obj/item/clothing/suit/storage/hooded/wintercoat/security = 3, + /obj/item/clothing/accessory/armband = 3, + /obj/item/clothing/accessory/holster/waist = 3) +/obj/structure/closet/wardrobe/red/initialize() + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/security + else + starts_with += /obj/item/weapon/storage/backpack/satchel/sec + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/security + else + starts_with += /obj/item/weapon/storage/backpack/satchel/sec + if(prob(50)) + starts_with += /obj/item/weapon/storage/backpack/security + else + starts_with += /obj/item/weapon/storage/backpack/satchel/sec + + return ..() /obj/structure/closet/wardrobe/detective name = "detective wardrobe" @@ -64,78 +44,44 @@ icon_closed = "cabinet_closed" icon_opened = "cabinet_open" -/obj/structure/closet/wardrobe/detective/New() - ..() - new /obj/item/clothing/head/det(src) - new /obj/item/clothing/head/det(src) - new /obj/item/clothing/head/det/grey(src) - new /obj/item/clothing/head/det/grey(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/laceup(src) - new /obj/item/clothing/shoes/laceup(src) - new /obj/item/clothing/under/det(src) - new /obj/item/clothing/under/det(src) - new /obj/item/clothing/under/det/waistcoat(src) - new /obj/item/clothing/under/det/waistcoat(src) - new /obj/item/clothing/under/det/grey(src) - new /obj/item/clothing/under/det/grey(src) - new /obj/item/clothing/under/det/grey/waistcoat(src) - new /obj/item/clothing/under/det/grey/waistcoat(src) - new /obj/item/clothing/under/det/black(src) - new /obj/item/clothing/under/det/black(src) - new /obj/item/clothing/under/det/skirt(src) - new /obj/item/clothing/under/det/corporate(src) - new /obj/item/clothing/under/det/corporate(src) - new /obj/item/clothing/suit/storage/det_trench(src) - new /obj/item/clothing/suit/storage/det_trench(src) - new /obj/item/clothing/suit/storage/det_trench/grey(src) - new /obj/item/clothing/suit/storage/det_trench/grey(src) - new /obj/item/clothing/suit/storage/forensics/blue(src) - new /obj/item/clothing/suit/storage/forensics/blue(src) - new /obj/item/clothing/suit/storage/forensics/red(src) - new /obj/item/clothing/suit/storage/forensics/red(src) - return + starts_with = list( + /obj/item/clothing/head/det = 2, + /obj/item/clothing/head/det/grey = 2, + /obj/item/clothing/shoes/brown = 2, + /obj/item/clothing/shoes/laceup = 2, + /obj/item/clothing/under/det = 2, + /obj/item/clothing/under/det/waistcoat = 2, + /obj/item/clothing/under/det/grey = 2, + /obj/item/clothing/under/det/grey/waistcoat = 2, + /obj/item/clothing/under/det/black = 2, + /obj/item/clothing/under/det/skirt, + /obj/item/clothing/under/det/corporate = 2, + /obj/item/clothing/suit/storage/det_trench = 2, + /obj/item/clothing/suit/storage/det_trench/grey = 2, + /obj/item/clothing/suit/storage/forensics/blue = 2, + /obj/item/clothing/suit/storage/forensics/red = 2) /obj/structure/closet/wardrobe/pink name = "pink wardrobe" icon_state = "pink" icon_closed = "pink" -/obj/structure/closet/wardrobe/pink/New() - ..() - new /obj/item/clothing/under/color/pink(src) - new /obj/item/clothing/under/color/pink(src) - new /obj/item/clothing/under/color/pink(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/brown(src) - return + starts_with = list( + /obj/item/clothing/under/color/pink = 3, + /obj/item/clothing/shoes/brown = 3) /obj/structure/closet/wardrobe/black name = "black wardrobe" icon_state = "black" icon_closed = "black" -/obj/structure/closet/wardrobe/black/New() - ..() - new /obj/item/clothing/under/color/black(src) - new /obj/item/clothing/under/color/black(src) - new /obj/item/clothing/under/color/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/head/that(src) - new /obj/item/clothing/head/that(src) - new /obj/item/clothing/head/that(src) - new /obj/item/clothing/head/soft/black(src) - new /obj/item/clothing/head/soft/black(src) - new /obj/item/clothing/head/soft/black(src) - new /obj/item/clothing/mask/bandana(src) - new /obj/item/clothing/mask/bandana(src) - new /obj/item/clothing/mask/bandana(src) - new /obj/item/weapon/storage/backpack/messenger/black(src) - return + starts_with = list( + /obj/item/clothing/under/color/black = 3, + /obj/item/clothing/shoes/black = 3, + /obj/item/clothing/head/that = 3, + /obj/item/clothing/head/soft/black = 3, + /obj/item/clothing/mask/bandana = 3, + /obj/item/weapon/storage/backpack/messenger/black) /obj/structure/closet/wardrobe/chaplain_black @@ -144,21 +90,18 @@ icon_state = "black" icon_closed = "black" -/obj/structure/closet/wardrobe/chaplain_black/New() - ..() - new /obj/item/clothing/under/rank/chaplain(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/suit/nun(src) - new /obj/item/clothing/head/nun_hood(src) - new /obj/item/clothing/suit/storage/hooded/chaplain_hoodie(src) - new /obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout(src) - new /obj/item/clothing/suit/holidaypriest(src) - new /obj/item/clothing/under/wedding/bride_white(src) - new /obj/item/weapon/storage/backpack/cultpack (src) - new /obj/item/weapon/storage/fancy/candle_box(src) - new /obj/item/weapon/storage/fancy/candle_box(src) - new /obj/item/weapon/deck/tarot(src) - return + starts_with = list( + /obj/item/clothing/under/rank/chaplain, + /obj/item/clothing/shoes/black, + /obj/item/clothing/suit/nun, + /obj/item/clothing/head/nun_hood, + /obj/item/clothing/suit/storage/hooded/chaplain_hoodie, + /obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout, + /obj/item/clothing/suit/holidaypriest, + /obj/item/clothing/under/wedding/bride_white, + /obj/item/weapon/storage/backpack/cultpack, + /obj/item/weapon/storage/fancy/candle_box = 2, + /obj/item/weapon/deck/tarot) /obj/structure/closet/wardrobe/green @@ -166,40 +109,24 @@ icon_state = "green" icon_closed = "green" -/obj/structure/closet/wardrobe/green/New() - ..() - new /obj/item/clothing/under/color/green(src) - new /obj/item/clothing/under/color/green(src) - new /obj/item/clothing/under/color/green(src) - new /obj/item/clothing/shoes/green(src) - new /obj/item/clothing/shoes/green(src) - new /obj/item/clothing/shoes/green(src) - new /obj/item/clothing/head/soft/green(src) - new /obj/item/clothing/head/soft/green(src) - new /obj/item/clothing/head/soft/green(src) - new /obj/item/clothing/mask/bandana/green(src) - new /obj/item/clothing/mask/bandana/green(src) - new /obj/item/clothing/mask/bandana/green(src) - return + starts_with = list( + /obj/item/clothing/under/color/green = 3, + /obj/item/clothing/shoes/green = 3, + /obj/item/clothing/head/soft/green = 3, + /obj/item/clothing/mask/bandana/green = 3) /obj/structure/closet/wardrobe/xenos name = "xenos wardrobe" icon_state = "green" icon_closed = "green" -/obj/structure/closet/wardrobe/xenos/New() - ..() - new /obj/item/clothing/suit/unathi/mantle(src) - new /obj/item/clothing/suit/unathi/robe(src) - new /obj/item/clothing/shoes/sandal(src) - new /obj/item/clothing/shoes/sandal(src) - new /obj/item/clothing/shoes/footwraps(src) - new /obj/item/clothing/shoes/footwraps(src) - new /obj/item/clothing/shoes/boots/winter(src) - new /obj/item/clothing/shoes/boots/winter(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat(src) - return + starts_with = list( + /obj/item/clothing/suit/unathi/mantle, + /obj/item/clothing/suit/unathi/robe, + /obj/item/clothing/shoes/sandal = 2, + /obj/item/clothing/shoes/footwraps = 2, + /obj/item/clothing/shoes/boots/winter = 2, + /obj/item/clothing/suit/storage/hooded/wintercoat = 2) /obj/structure/closet/wardrobe/orange @@ -208,15 +135,9 @@ icon_state = "orange" icon_closed = "orange" -/obj/structure/closet/wardrobe/orange/New() - ..() - new /obj/item/clothing/under/color/orange(src) - new /obj/item/clothing/under/color/orange(src) - new /obj/item/clothing/under/color/orange(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/shoes/orange(src) - return + starts_with = list( + /obj/item/clothing/under/color/orange = 3, + /obj/item/clothing/shoes/orange = 3) /obj/structure/closet/wardrobe/yellow @@ -224,21 +145,11 @@ icon_state = "yellow" icon_closed = "yellow" -/obj/structure/closet/wardrobe/yellow/New() - ..() - new /obj/item/clothing/under/color/yellow(src) - new /obj/item/clothing/under/color/yellow(src) - new /obj/item/clothing/under/color/yellow(src) - new /obj/item/clothing/shoes/yellow(src) - new /obj/item/clothing/shoes/yellow(src) - new /obj/item/clothing/shoes/yellow(src) - new /obj/item/clothing/head/soft/yellow(src) - new /obj/item/clothing/head/soft/yellow(src) - new /obj/item/clothing/head/soft/yellow(src) - new /obj/item/clothing/mask/bandana/gold(src) - new /obj/item/clothing/mask/bandana/gold(src) - new /obj/item/clothing/mask/bandana/gold(src) - return + starts_with = list( + /obj/item/clothing/under/color/yellow = 3, + /obj/item/clothing/shoes/yellow = 3, + /obj/item/clothing/head/soft/yellow = 3, + /obj/item/clothing/mask/bandana/gold = 3) /obj/structure/closet/wardrobe/atmospherics_yellow @@ -246,88 +157,42 @@ icon_state = "yellow" icon_closed = "yellow" -/obj/structure/closet/wardrobe/atmospherics_yellow/New() - ..() - new /obj/item/clothing/under/rank/atmospheric_technician(src) - new /obj/item/clothing/under/rank/atmospheric_technician(src) - new /obj/item/clothing/under/rank/atmospheric_technician(src) - new /obj/item/clothing/under/rank/atmospheric_technician/skirt(src) - new /obj/item/clothing/under/rank/atmospheric_technician/skirt(src) - new /obj/item/clothing/under/rank/atmospheric_technician/skirt(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/head/hardhat/red(src) - new /obj/item/clothing/head/hardhat/red(src) - new /obj/item/clothing/head/hardhat/red(src) - new /obj/item/clothing/head/beret/engineering(src) - new /obj/item/clothing/head/beret/engineering(src) - new /obj/item/clothing/head/beret/engineering(src) - new /obj/item/clothing/mask/bandana/gold(src) - new /obj/item/clothing/mask/bandana/gold(src) - new /obj/item/clothing/mask/bandana/gold(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src) - new /obj/item/clothing/shoes/boots/winter/atmos(src) - new /obj/item/clothing/shoes/boots/winter/atmos(src) - new /obj/item/clothing/shoes/boots/winter/atmos(src) - return + starts_with = list( + /obj/item/clothing/under/rank/atmospheric_technician = 3, + /obj/item/clothing/under/rank/atmospheric_technician/skirt = 3, + /obj/item/clothing/shoes/black = 3, + /obj/item/clothing/head/hardhat/red = 3, + /obj/item/clothing/head/beret/engineering = 3, + /obj/item/clothing/mask/bandana/gold = 3, + /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos = 3, + /obj/item/clothing/shoes/boots/winter/atmos = 3) /obj/structure/closet/wardrobe/engineering_yellow name = "engineering wardrobe" icon_state = "yellow" icon_closed = "yellow" -/obj/structure/closet/wardrobe/engineering_yellow/New() - ..() - new /obj/item/clothing/under/rank/engineer(src) - new /obj/item/clothing/under/rank/engineer(src) - new /obj/item/clothing/under/rank/engineer(src) - new /obj/item/clothing/under/rank/engineer/skirt(src) - new /obj/item/clothing/under/rank/engineer/skirt(src) - new /obj/item/clothing/under/rank/engineer/skirt(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/head/hardhat(src) - new /obj/item/clothing/head/hardhat(src) - new /obj/item/clothing/head/hardhat(src) - new /obj/item/clothing/head/beret/engineering(src) - new /obj/item/clothing/head/beret/engineering(src) - new /obj/item/clothing/head/beret/engineering(src) - new /obj/item/clothing/mask/bandana/gold(src) - new /obj/item/clothing/mask/bandana/gold(src) - new /obj/item/clothing/mask/bandana/gold(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) - new /obj/item/clothing/shoes/boots/winter/engineering(src) - new /obj/item/clothing/shoes/boots/winter/engineering(src) - new /obj/item/clothing/shoes/boots/winter/engineering(src) - new /obj/item/clothing/shoes/boots/workboots(src) - new /obj/item/clothing/shoes/boots/workboots(src) - new /obj/item/clothing/shoes/boots/workboots(src) - return + starts_with = list( + /obj/item/clothing/under/rank/engineer = 3, + /obj/item/clothing/under/rank/engineer/skirt = 3, + /obj/item/clothing/shoes/orange = 3, + /obj/item/clothing/head/hardhat = 3, + /obj/item/clothing/head/beret/engineering = 3, + /obj/item/clothing/mask/bandana/gold = 3, + /obj/item/clothing/suit/storage/hooded/wintercoat/engineering = 3, + /obj/item/clothing/shoes/boots/winter/engineering = 3, + /obj/item/clothing/shoes/boots/workboots = 3) /obj/structure/closet/wardrobe/white name = "white wardrobe" icon_state = "white" icon_closed = "white" - -/obj/structure/closet/wardrobe/white/New() - ..() - new /obj/item/clothing/under/color/white(src) - new /obj/item/clothing/under/color/white(src) - new /obj/item/clothing/under/color/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/head/soft/mime(src) - new /obj/item/clothing/head/soft/mime(src) - new /obj/item/clothing/head/soft/mime(src) - return + + starts_with = list( + /obj/item/clothing/under/color/white = 3, + /obj/item/clothing/shoes/white = 3, + /obj/item/clothing/head/soft/mime = 3) /obj/structure/closet/wardrobe/pjs @@ -335,17 +200,11 @@ icon_state = "white" icon_closed = "white" -/obj/structure/closet/wardrobe/pjs/New() - ..() - new /obj/item/clothing/under/pj/red(src) - new /obj/item/clothing/under/pj/red(src) - new /obj/item/clothing/under/pj/blue(src) - new /obj/item/clothing/under/pj/blue(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/slippers(src) - new /obj/item/clothing/shoes/slippers(src) - return + starts_with = list( + /obj/item/clothing/under/pj/red = 2, + /obj/item/clothing/under/pj/blue = 2, + /obj/item/clothing/shoes/white = 2, + /obj/item/clothing/shoes/slippers = 2) /obj/structure/closet/wardrobe/science_white @@ -353,60 +212,50 @@ icon_state = "white" icon_closed = "white" -/obj/structure/closet/wardrobe/science_white/New() - ..() - new /obj/item/clothing/under/rank/scientist(src) - new /obj/item/clothing/under/rank/scientist(src) - new /obj/item/clothing/under/rank/scientist(src) - new /obj/item/clothing/under/rank/scientist/skirt(src) - new /obj/item/clothing/under/rank/scientist/skirt(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/slippers(src) - new /obj/item/clothing/shoes/slippers(src) - new /obj/item/clothing/shoes/slippers(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/science(src) - new /obj/item/clothing/shoes/boots/winter/science(src) - new /obj/item/weapon/storage/backpack/toxins(src) - new /obj/item/weapon/storage/backpack/satchel/tox(src) + starts_with = list( + /obj/item/clothing/under/rank/scientist = 3, + /obj/item/clothing/under/rank/scientist/skirt = 2, + /obj/item/clothing/suit/storage/toggle/labcoat = 3, + /obj/item/clothing/shoes/white = 3, + /obj/item/clothing/shoes/slippers = 3, + /obj/item/clothing/suit/storage/hooded/wintercoat/science, + /obj/item/clothing/shoes/boots/winter/science, + /obj/item/weapon/storage/backpack/toxins, + /obj/item/weapon/storage/backpack/satchel/tox) + +/obj/structure/closet/wardrobe/science_white/initialize() if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sci(src) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci else - new /obj/item/weapon/storage/backpack/satchel/tox(src) + starts_with += /obj/item/weapon/storage/backpack/satchel/tox if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sci(src) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci else - new /obj/item/weapon/storage/backpack/satchel/tox(src) + starts_with += /obj/item/weapon/storage/backpack/satchel/tox + + return ..() + + /obj/structure/closet/wardrobe/robotics_black name = "robotics wardrobe" icon_state = "black" icon_closed = "black" -/obj/structure/closet/wardrobe/robotics_black/New() - ..() - new /obj/item/clothing/under/rank/roboticist(src) - new /obj/item/clothing/under/rank/roboticist(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/weapon/storage/backpack/toxins(src) + starts_with = list( + /obj/item/clothing/under/rank/roboticist = 2, + /obj/item/clothing/suit/storage/toggle/labcoat = 2, + /obj/item/clothing/shoes/black = 2, + /obj/item/clothing/gloves/black = 2, + /obj/item/weapon/storage/backpack/toxins, + /obj/item/weapon/storage/backpack/satchel/tox) + +/obj/structure/closet/wardrobe/robotics_black/initialize() if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sci(src) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci else - new /obj/item/weapon/storage/backpack/satchel/tox(src) - new /obj/item/weapon/storage/backpack/satchel/tox(src) - if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sci(src) - else - new /obj/item/weapon/storage/backpack/satchel/tox(src) - return + starts_with += /obj/item/weapon/storage/backpack/satchel/tox + + return ..() /obj/structure/closet/wardrobe/chemistry_white @@ -414,23 +263,14 @@ icon_state = "white" icon_closed = "white" -/obj/structure/closet/wardrobe/chemistry_white/New() - ..() - new /obj/item/clothing/under/rank/chemist(src) - new /obj/item/clothing/under/rank/chemist(src) - new /obj/item/clothing/under/rank/chemist/skirt(src) - new /obj/item/clothing/under/rank/chemist/skirt(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(src) - new /obj/item/weapon/storage/backpack/chemistry(src) - new /obj/item/weapon/storage/backpack/chemistry(src) - new /obj/item/weapon/storage/backpack/satchel/chem(src) - new /obj/item/weapon/storage/backpack/satchel/chem(src) - new /obj/item/weapon/storage/bag/chemistry(src) - new /obj/item/weapon/storage/bag/chemistry(src) - return + starts_with = list( + /obj/item/clothing/under/rank/chemist = 2, + /obj/item/clothing/under/rank/chemist/skirt = 2, + /obj/item/clothing/shoes/white = 2, + /obj/item/clothing/suit/storage/toggle/labcoat/chemist = 2, + /obj/item/weapon/storage/backpack/chemistry = 2, + /obj/item/weapon/storage/backpack/satchel/chem = 2, + /obj/item/weapon/storage/bag/chemistry = 2,) /obj/structure/closet/wardrobe/genetics_white @@ -438,21 +278,13 @@ icon_state = "white" icon_closed = "white" -/obj/structure/closet/wardrobe/genetics_white/New() - ..() - new /obj/item/clothing/under/rank/geneticist(src) - new /obj/item/clothing/under/rank/geneticist(src) - new /obj/item/clothing/under/rank/geneticist/skirt(src) - new /obj/item/clothing/under/rank/geneticist/skirt(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(src) - new /obj/item/weapon/storage/backpack/genetics(src) - new /obj/item/weapon/storage/backpack/genetics(src) - new /obj/item/weapon/storage/backpack/satchel/gen(src) - new /obj/item/weapon/storage/backpack/satchel/gen(src) - return + starts_with = list( + /obj/item/clothing/under/rank/geneticist = 2, + /obj/item/clothing/under/rank/geneticist/skirt = 2, + /obj/item/clothing/shoes/white = 2, + /obj/item/clothing/suit/storage/toggle/labcoat/genetics = 2, + /obj/item/weapon/storage/backpack/genetics = 2, + /obj/item/weapon/storage/backpack/satchel/gen = 2) /obj/structure/closet/wardrobe/virology_white @@ -460,23 +292,14 @@ icon_state = "white" icon_closed = "white" -/obj/structure/closet/wardrobe/virology_white/New() - ..() - new /obj/item/clothing/under/rank/virologist(src) - new /obj/item/clothing/under/rank/virologist(src) - new /obj/item/clothing/under/rank/virologist/skirt(src) - new /obj/item/clothing/under/rank/virologist/skirt(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/weapon/storage/backpack/virology(src) - new /obj/item/weapon/storage/backpack/virology(src) - new /obj/item/weapon/storage/backpack/satchel/vir(src) - new /obj/item/weapon/storage/backpack/satchel/vir(src) - return + starts_with = list( + /obj/item/clothing/under/rank/virologist = 2, + /obj/item/clothing/under/rank/virologist/skirt = 2, + /obj/item/clothing/shoes/white = 2, + /obj/item/clothing/suit/storage/toggle/labcoat/virologist = 2, + /obj/item/clothing/mask/surgical = 2, + /obj/item/weapon/storage/backpack/virology = 2, + /obj/item/weapon/storage/backpack/satchel/vir = 2) /obj/structure/closet/wardrobe/medic_white @@ -484,33 +307,24 @@ icon_state = "white" icon_closed = "white" -/obj/structure/closet/wardrobe/medic_white/New() - ..() - new /obj/item/clothing/under/rank/medical(src) - new /obj/item/clothing/under/rank/medical(src) - new /obj/item/clothing/under/rank/medical/skirt(src) - new /obj/item/clothing/under/rank/medical/skirt(src) - new /obj/item/clothing/under/rank/medical/scrubs(src) - new /obj/item/clothing/under/rank/medical/scrubs/green(src) - new /obj/item/clothing/under/rank/medical/scrubs/purple(src) - new /obj/item/clothing/under/rank/medical/scrubs/black(src) - new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) - new /obj/item/clothing/head/surgery/navyblue(src) - new /obj/item/clothing/head/surgery/purple(src) - new /obj/item/clothing/head/surgery/blue(src) - new /obj/item/clothing/head/surgery/green(src) - new /obj/item/clothing/head/surgery/black(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) - new /obj/item/clothing/shoes/boots/winter/medical(src) - new /obj/item/clothing/shoes/boots/winter/medical(src) - return + starts_with = list( + /obj/item/clothing/under/rank/medical = 2, + /obj/item/clothing/under/rank/medical/skirt = 2, + /obj/item/clothing/under/rank/medical/scrubs, + /obj/item/clothing/under/rank/medical/scrubs/green, + /obj/item/clothing/under/rank/medical/scrubs/purple, + /obj/item/clothing/under/rank/medical/scrubs/black, + /obj/item/clothing/under/rank/medical/scrubs/navyblue, + /obj/item/clothing/head/surgery/navyblue, + /obj/item/clothing/head/surgery/purple, + /obj/item/clothing/head/surgery/blue, + /obj/item/clothing/head/surgery/green, + /obj/item/clothing/head/surgery/black, + /obj/item/clothing/shoes/white = 2, + /obj/item/clothing/suit/storage/toggle/labcoat = 2, + /obj/item/clothing/mask/surgical = 2, + /obj/item/clothing/suit/storage/hooded/wintercoat/medical = 2, + /obj/item/clothing/shoes/boots/winter/medical = 2) /obj/structure/closet/wardrobe/medic_gown @@ -518,71 +332,57 @@ icon_state = "white" icon_closed = "white" -/obj/structure/closet/wardrobe/medic_gown/New() - ..() - new /obj/item/clothing/under/medigown(src) - new /obj/item/clothing/under/medigown(src) - new /obj/item/clothing/under/medigown(src) - new /obj/item/clothing/under/medigown(src) - return + starts_with = list( + /obj/item/clothing/under/medigown = 4) /obj/structure/closet/wardrobe/grey name = "grey wardrobe" icon_state = "grey" icon_closed = "grey" - -/obj/structure/closet/wardrobe/grey/New() - ..() - new /obj/item/clothing/under/color/grey(src) - new /obj/item/clothing/under/color/grey(src) - new /obj/item/clothing/under/color/grey(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/head/soft/grey(src) - new /obj/item/clothing/head/soft/grey(src) - new /obj/item/clothing/head/soft/grey(src) - return - + + starts_with = list( + /obj/item/clothing/under/color/grey = 3, + /obj/item/clothing/shoes/black = 3, + /obj/item/clothing/head/soft/grey = 3) + /obj/structure/closet/wardrobe/mixed name = "mixed wardrobe" icon_state = "mixed" icon_closed = "mixed" -/obj/structure/closet/wardrobe/mixed/New() - ..() - new /obj/item/clothing/under/color/blue(src) - new /obj/item/clothing/under/color/yellow(src) - new /obj/item/clothing/under/color/green(src) - new /obj/item/clothing/under/color/pink(src) - new /obj/item/clothing/under/skirt/outfit/plaid_blue(src) - new /obj/item/clothing/under/skirt/outfit/plaid_red(src) - new /obj/item/clothing/under/skirt/outfit/plaid_purple(src) - new /obj/item/clothing/shoes/blue(src) - new /obj/item/clothing/shoes/yellow(src) - new /obj/item/clothing/shoes/green(src) - new /obj/item/clothing/shoes/purple(src) - new /obj/item/clothing/shoes/red(src) - new /obj/item/clothing/shoes/leather(src) - new /obj/item/clothing/under/pants/classicjeans(src) - new /obj/item/clothing/under/pants/mustangjeans(src) - new /obj/item/clothing/under/pants/blackjeans(src) - new /obj/item/clothing/under/pants/youngfolksjeans(src) - new /obj/item/clothing/under/pants/white(src) - new /obj/item/clothing/under/pants/red(src) - new /obj/item/clothing/under/pants/black(src) - new /obj/item/clothing/under/pants/tan(src) - new /obj/item/clothing/under/pants/track(src) - new /obj/item/clothing/suit/storage/toggle/track(src) - new /obj/item/clothing/under/pants(src) - new /obj/item/clothing/under/pants/khaki(src) - new /obj/item/clothing/mask/bandana/blue(src) - new /obj/item/clothing/mask/bandana/blue(src) - new /obj/item/clothing/accessory/hawaii(src) - new /obj/item/clothing/accessory/hawaii/random(src) - return + starts_with = list( + /obj/item/clothing/under/color/blue, + /obj/item/clothing/under/color/yellow, + /obj/item/clothing/under/color/green, + /obj/item/clothing/under/color/pink, + /obj/item/clothing/under/skirt/outfit/plaid_blue, + /obj/item/clothing/under/skirt/outfit/plaid_red, + /obj/item/clothing/under/skirt/outfit/plaid_purple, + /obj/item/clothing/shoes/blue, + /obj/item/clothing/shoes/yellow, + /obj/item/clothing/shoes/green, + /obj/item/clothing/shoes/purple, + /obj/item/clothing/shoes/red, + /obj/item/clothing/shoes/leather, + /obj/item/clothing/under/pants/classicjeans, + /obj/item/clothing/under/pants/mustangjeans, + /obj/item/clothing/under/pants/blackjeans, + /obj/item/clothing/under/pants/youngfolksjeans, + /obj/item/clothing/under/pants/white, + /obj/item/clothing/under/pants/red, + /obj/item/clothing/under/pants/black, + /obj/item/clothing/under/pants/tan, + /obj/item/clothing/under/pants/track, + /obj/item/clothing/suit/storage/toggle/track, + /obj/item/clothing/under/pants, + /obj/item/clothing/under/pants/khaki, + /obj/item/clothing/mask/bandana/blue, + /obj/item/clothing/mask/bandana/blue, + /obj/item/clothing/accessory/hawaii, + /obj/item/clothing/accessory/hawaii/random) + /obj/structure/closet/wardrobe/tactical name = "tactical equipment" @@ -590,24 +390,26 @@ icon_closed = "syndicate1" icon_opened = "syndicate1open" -/obj/structure/closet/wardrobe/tactical/New() - ..() - new /obj/item/clothing/under/tactical(src) - new /obj/item/clothing/suit/armor/tactical(src) - new /obj/item/clothing/head/helmet/tactical(src) - new /obj/item/clothing/mask/balaclava/tactical(src) - new /obj/item/clothing/mask/balaclava(src) - new /obj/item/clothing/glasses/sunglasses/sechud/tactical(src) + starts_with = list( + /obj/item/clothing/under/tactical, + /obj/item/clothing/suit/armor/tactical, + /obj/item/clothing/head/helmet/tactical, + /obj/item/clothing/mask/balaclava/tactical, + /obj/item/clothing/mask/balaclava, + /obj/item/clothing/glasses/sunglasses/sechud/tactical, + /obj/item/clothing/shoes/boots/jackboots, + /obj/item/clothing/gloves/black, + /obj/item/clothing/under/pants/camo) + +/obj/structure/closet/wardrobe/tactical/initialize() if(prob(25)) - new /obj/item/weapon/storage/belt/security/tactical/bandolier(src) + starts_with += /obj/item/weapon/storage/belt/security/tactical/bandolier else - new /obj/item/weapon/storage/belt/security/tactical(src) + starts_with += /obj/item/weapon/storage/belt/security/tactical if(prob(10)) - new /obj/item/clothing/mask/bandana/skull(src) - new /obj/item/clothing/shoes/boots/jackboots(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/clothing/under/pants/camo(src) - return + starts_with += /obj/item/clothing/mask/bandana/skull + + return ..() /obj/structure/closet/wardrobe/ert name = "emergency response team equipment" @@ -615,52 +417,47 @@ icon_closed = "syndicate1" icon_opened = "syndicate1open" -/obj/structure/closet/wardrobe/ert/New() - ..() - new /obj/item/clothing/under/rank/centcom(src) - new /obj/item/clothing/under/ert(src) - new /obj/item/clothing/under/syndicate/combat(src) - new /obj/item/device/radio/headset/ert/alt(src) - new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/clothing/shoes/boots/swat(src) - new /obj/item/clothing/gloves/swat(src) - new /obj/item/clothing/mask/balaclava/tactical(src) - new /obj/item/clothing/mask/balaclava(src) - new /obj/item/clothing/mask/bandana/skull(src) - new /obj/item/clothing/mask/bandana/skull(src) - return + starts_with = list( + /obj/item/clothing/under/rank/centcom, + /obj/item/clothing/under/ert, + /obj/item/clothing/under/syndicate/combat, + /obj/item/device/radio/headset/ert/alt, + /obj/item/clothing/glasses/sunglasses, + /obj/item/clothing/shoes/boots/swat, + /obj/item/clothing/gloves/swat, + /obj/item/clothing/mask/balaclava/tactical, + /obj/item/clothing/mask/balaclava, + /obj/item/clothing/mask/bandana/skull = 2) + /obj/structure/closet/wardrobe/suit name = "suit locker" icon_state = "mixed" icon_closed = "mixed" -/obj/structure/closet/wardrobe/suit/New() - ..() - new /obj/item/clothing/under/assistantformal(src) - new /obj/item/clothing/under/suit_jacket/charcoal(src) - new /obj/item/clothing/under/suit_jacket/charcoal/skirt(src) - new /obj/item/clothing/under/suit_jacket/navy(src) - new /obj/item/clothing/under/suit_jacket/navy/skirt(src) - new /obj/item/clothing/under/suit_jacket/burgundy(src) - new /obj/item/clothing/under/suit_jacket/burgundy/skirt(src) - new /obj/item/clothing/under/suit_jacket/checkered(src) - new /obj/item/clothing/under/suit_jacket/checkered/skirt(src) - new /obj/item/clothing/under/suit_jacket/tan(src) - new /obj/item/clothing/under/suit_jacket/tan/skirt(src) - new /obj/item/clothing/under/sl_suit(src) - new /obj/item/clothing/under/suit_jacket(src) - new /obj/item/clothing/under/suit_jacket/female(src) - new /obj/item/clothing/under/suit_jacket/female/skirt(src) - new /obj/item/clothing/under/suit_jacket/really_black(src) - new /obj/item/clothing/under/suit_jacket/really_black/skirt(src) - new /obj/item/clothing/under/suit_jacket/red(src) - new /obj/item/clothing/under/suit_jacket/red/skirt(src) - new /obj/item/clothing/under/scratch(src) - new /obj/item/clothing/under/scratch/skirt(src) - new /obj/item/weapon/storage/backpack/satchel(src) - new /obj/item/weapon/storage/backpack/satchel(src) - return + starts_with = list( + /obj/item/clothing/under/assistantformal, + /obj/item/clothing/under/suit_jacket/charcoal, + /obj/item/clothing/under/suit_jacket/charcoal/skirt, + /obj/item/clothing/under/suit_jacket/navy, + /obj/item/clothing/under/suit_jacket/navy/skirt, + /obj/item/clothing/under/suit_jacket/burgundy, + /obj/item/clothing/under/suit_jacket/burgundy/skirt, + /obj/item/clothing/under/suit_jacket/checkered, + /obj/item/clothing/under/suit_jacket/checkered/skirt, + /obj/item/clothing/under/suit_jacket/tan, + /obj/item/clothing/under/suit_jacket/tan/skirt, + /obj/item/clothing/under/sl_suit, + /obj/item/clothing/under/suit_jacket, + /obj/item/clothing/under/suit_jacket/female, + /obj/item/clothing/under/suit_jacket/female/skirt, + /obj/item/clothing/under/suit_jacket/really_black, + /obj/item/clothing/under/suit_jacket/really_black/skirt, + /obj/item/clothing/under/suit_jacket/red, + /obj/item/clothing/under/suit_jacket/red/skirt, + /obj/item/clothing/under/scratch, + /obj/item/clothing/under/scratch/skirt, + /obj/item/weapon/storage/backpack/satchel = 2) /obj/structure/closet/wardrobe/captain name = "colony director's wardrobe" @@ -668,24 +465,22 @@ icon_closed = "cabinet_closed" icon_opened = "cabinet_open" -/obj/structure/closet/wardrobe/captain/New() - ..() - new /obj/item/weapon/storage/backpack/captain(src) - new /obj/item/clothing/suit/captunic(src) - new /obj/item/clothing/suit/captunic/capjacket(src) - new /obj/item/clothing/head/caphat/cap(src) - new /obj/item/clothing/under/rank/captain(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/gloves/captain(src) - new /obj/item/clothing/under/dress/dress_cap(src) - new /obj/item/weapon/storage/backpack/satchel/cap(src) - new /obj/item/clothing/head/caphat/formal(src) - new /obj/item/clothing/under/captainformal(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/captain(src) - new /obj/item/clothing/shoes/boots/winter/command(src) - new /obj/item/clothing/head/beret/centcom/captain(src) - new /obj/item/clothing/under/gimmick/rank/captain/suit(src) - new /obj/item/clothing/under/gimmick/rank/captain/suit/skirt(src) - new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/clothing/head/caphat(src) - return + starts_with = list( + /obj/item/weapon/storage/backpack/captain, + /obj/item/clothing/suit/captunic, + /obj/item/clothing/suit/captunic/capjacket, + /obj/item/clothing/head/caphat/cap, + /obj/item/clothing/under/rank/captain, + /obj/item/clothing/shoes/brown, + /obj/item/clothing/gloves/captain, + /obj/item/clothing/under/dress/dress_cap, + /obj/item/weapon/storage/backpack/satchel/cap, + /obj/item/clothing/head/caphat/formal, + /obj/item/clothing/under/captainformal, + /obj/item/clothing/suit/storage/hooded/wintercoat/captain, + /obj/item/clothing/shoes/boots/winter/command, + /obj/item/clothing/head/beret/centcom/captain, + /obj/item/clothing/under/gimmick/rank/captain/suit, + /obj/item/clothing/under/gimmick/rank/captain/suit/skirt, + /obj/item/clothing/glasses/sunglasses, + /obj/item/clothing/head/caphat) diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 97dd747845f..e108626206b 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -287,42 +287,18 @@ icon_opened = "engi_crateopen" icon_closed = "engi_crate" -/obj/structure/closet/crate/rcd/New() - ..() - new /obj/item/weapon/rcd_ammo(src) - new /obj/item/weapon/rcd_ammo(src) - new /obj/item/weapon/rcd_ammo(src) - new /obj/item/weapon/rcd(src) + starts_with = list( + /obj/item/weapon/rcd_ammo = 3, + /obj/item/weapon/rcd) /obj/structure/closet/crate/solar name = "solar pack crate" -/obj/structure/closet/crate/solar/New() - ..() - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/solar_assembly(src) - new /obj/item/weapon/circuitboard/solar_control(src) - new /obj/item/weapon/tracker_electronics(src) - new /obj/item/weapon/paper/solar(src) + starts_with = list( + /obj/item/solar_assembly = 21, + /obj/item/weapon/circuitboard/solar_control, + /obj/item/weapon/tracker_electronics, + /obj/item/weapon/paper/solar) /obj/structure/closet/crate/freezer name = "freezer" @@ -366,13 +342,9 @@ name = "emergency rations" desc = "A crate of emergency rations." + starts_with = list( + /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 4) -/obj/structure/closet/crate/freezer/rations/New() - ..() - new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src) - new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src) - new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src) - new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src) /obj/structure/closet/crate/bin name = "large bin" @@ -381,6 +353,7 @@ icon_opened = "largebinopen" icon_closed = "largebin" + /obj/structure/closet/crate/radiation name = "radioactive gear crate" desc = "A crate with a radiation sign on it." @@ -388,16 +361,10 @@ icon_opened = "radiationopen" icon_closed = "radiation" -/obj/structure/closet/crate/radiation/New() - ..() - new /obj/item/clothing/suit/radiation(src) - new /obj/item/clothing/head/radiation(src) - new /obj/item/clothing/suit/radiation(src) - new /obj/item/clothing/head/radiation(src) - new /obj/item/clothing/suit/radiation(src) - new /obj/item/clothing/head/radiation(src) - new /obj/item/clothing/suit/radiation(src) - new /obj/item/clothing/head/radiation(src) + starts_with = list( + /obj/item/clothing/suit/radiation = 4, + /obj/item/clothing/head/radiation = 4) + /obj/structure/closet/crate/secure/weapon name = "weapons crate" @@ -406,6 +373,7 @@ icon_opened = "weaponcrateopen" icon_closed = "weaponcrate" + /obj/structure/closet/crate/secure/phoron name = "phoron crate" desc = "A secure phoron crate." @@ -413,6 +381,7 @@ icon_opened = "phoroncrateopen" icon_closed = "phoroncrate" + /obj/structure/closet/crate/secure/gear name = "gear crate" desc = "A secure gear crate." @@ -420,6 +389,7 @@ icon_opened = "secgearcrateopen" icon_closed = "secgearcrate" + /obj/structure/closet/crate/secure/hydrosec name = "secure hydroponics crate" desc = "A crate with a lock on it, painted in the scheme of the station's botanists." @@ -427,6 +397,7 @@ icon_opened = "hydrosecurecrateopen" icon_closed = "hydrosecurecrate" + /obj/structure/closet/crate/secure/engineering desc = "A crate with a lock on it, painted in the scheme of the station's engineers." name = "secure engineering crate" @@ -434,6 +405,7 @@ icon_opened = "engi_secure_crateopen" icon_closed = "engi_secure_crate" + /obj/structure/closet/crate/secure/science name = "secure science crate" desc = "A crate with a lock on it, painted in the scheme of the station's scientists." @@ -441,6 +413,7 @@ icon_opened = "scisecurecrateopen" icon_closed = "scisecurecrate" + /obj/structure/closet/crate/secure/bin name = "secure bin" desc = "A secure bin." @@ -452,6 +425,7 @@ sparks = "largebinsparks" emag = "largebinemag" + /obj/structure/closet/crate/large name = "large crate" desc = "A hefty metal crate." @@ -460,6 +434,7 @@ icon_opened = "largemetalopen" icon_closed = "largemetal" + /obj/structure/closet/crate/large/close() . = ..() if (.)//we can hold up to one large item @@ -478,6 +453,7 @@ break return + /obj/structure/closet/crate/secure/large name = "large crate" desc = "A hefty metal crate with an electronic locking system." @@ -488,6 +464,7 @@ redlight = "largemetalr" greenlight = "largemetalg" + /obj/structure/closet/crate/secure/large/close() . = ..() if (.)//we can hold up to one large item @@ -506,6 +483,7 @@ break return + //fluff variant /obj/structure/closet/crate/secure/large/reinforced desc = "A hefty, reinforced metal crate with an electronic locking system." @@ -537,16 +515,8 @@ icon_opened = "hydrocrateopen" icon_closed = "hydrocrate" -/obj/structure/closet/crate/hydroponics/prespawned - //This exists so the prespawned hydro crates spawn with their contents. - New() - ..() - new /obj/item/weapon/reagent_containers/spray/plantbgone(src) - new /obj/item/weapon/reagent_containers/spray/plantbgone(src) - new /obj/item/weapon/material/minihoe(src) -// new /obj/item/weapon/weedspray(src) -// new /obj/item/weapon/weedspray(src) -// new /obj/item/weapon/pestspray(src) -// new /obj/item/weapon/pestspray(src) -// new /obj/item/weapon/pestspray(src) +/obj/structure/closet/crate/hydroponics/prespawned + starts_with = list( + /obj/item/weapon/reagent_containers/spray/plantbgone = 2, + /obj/item/weapon/material/minihoe) diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index c4e9ece866d..b4a0d60dcbe 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -4,9 +4,13 @@ icon = 'icons/obj/storage.dmi' icon_state = "densecrate" density = 1 + var/list/starts_with /obj/structure/largecrate/initialize() . = ..() + if(starts_with) + create_objects_in_loc(src, starts_with) + starts_with = null for(var/obj/I in src.loc) if(I.density || I.anchored || I == src || !I.simulated) continue @@ -50,38 +54,30 @@ /obj/structure/largecrate/animal icon_state = "mulecrate" - var/held_count = 1 - var/held_type - -/obj/structure/largecrate/animal/New() - ..() - for(var/i = 1;i<=held_count;i++) - new held_type(src) /obj/structure/largecrate/animal/mulebot name = "Mulebot crate" - held_type = /mob/living/bot/mulebot + starts_with = list(/mob/living/bot/mulebot) /obj/structure/largecrate/animal/corgi name = "corgi carrier" - held_type = /mob/living/simple_animal/corgi + starts_with = list(/mob/living/simple_animal/corgi) /obj/structure/largecrate/animal/cow name = "cow crate" - held_type = /mob/living/simple_animal/cow + starts_with = list(/mob/living/simple_animal/cow) /obj/structure/largecrate/animal/goat name = "goat crate" - held_type = /mob/living/simple_animal/retaliate/goat + starts_with = list(/mob/living/simple_animal/retaliate/goat) /obj/structure/largecrate/animal/cat name = "cat carrier" - held_type = /mob/living/simple_animal/cat + starts_with = list(/mob/living/simple_animal/cat) /obj/structure/largecrate/animal/cat/bones - held_type = /mob/living/simple_animal/cat/fluff/bones + starts_with = list(/mob/living/simple_animal/cat/fluff/bones) /obj/structure/largecrate/animal/chick name = "chicken crate" - held_count = 5 - held_type = /mob/living/simple_animal/chick + starts_with = list(/mob/living/simple_animal/chick = 5) diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm index eae30c6cb43..294765e5963 100644 --- a/code/game/turfs/simulated/wall_types.dm +++ b/code/game/turfs/simulated/wall_types.dm @@ -3,6 +3,23 @@ /turf/simulated/wall/r_wall/New(var/newloc) ..(newloc, "plasteel","plasteel") //3strong +/turf/simulated/wall/shull/New(var/newloc) //Spaaaace ship. + ..(newloc, MAT_STEELHULL, null, MAT_STEELHULL) +/turf/simulated/wall/rshull/New(var/newloc) + ..(newloc, MAT_STEELHULL, MAT_STEELHULL, MAT_STEELHULL) +/turf/simulated/wall/pshull/New(var/newloc) //Spaaaace-er ship. + ..(newloc, MAT_PLASTEELHULL, null, MAT_PLASTEELHULL) +/turf/simulated/wall/rpshull/New(var/newloc) + ..(newloc, MAT_PLASTEELHULL, MAT_PLASTEELHULL, MAT_PLASTEELHULL) +/turf/simulated/wall/dshull/New(var/newloc) //Spaaaace-est ship. + ..(newloc, MAT_DURASTEELHULL, null, MAT_DURASTEELHULL) +/turf/simulated/wall/rdshull/New(var/newloc) + ..(newloc, MAT_DURASTEELHULL, MAT_DURASTEELHULL, MAT_DURASTEELHULL) +/turf/simulated/wall/thull/New(var/newloc) + ..(newloc, MAT_TITANIUMHULL, null, MAT_TITANIUMHULL) +/turf/simulated/wall/rthull/New(var/newloc) + ..(newloc, MAT_TITANIUMHULL, MAT_TITANIUMHULL, MAT_TITANIUMHULL) + /turf/simulated/wall/cult icon_state = "cult" /turf/simulated/wall/cult/New(var/newloc) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 2772e5406dd..543ce9dcf20 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -26,6 +26,8 @@ GLOBAL_LIST_BOILERPLATE(all_clothing, /obj/item/clothing) var/ear_protection = 0 var/blood_sprite_state + var/update_icon_define = null // Only needed if you've got multiple files for the same type of clothing + //Updates the icons of the mob wearing the clothing item, if any. /obj/item/clothing/proc/update_clothing_icon() return diff --git a/code/modules/clothing/clothing_accessories.dm b/code/modules/clothing/clothing_accessories.dm index e14afd9de55..6517b0ab97f 100644 --- a/code/modules/clothing/clothing_accessories.dm +++ b/code/modules/clothing/clothing_accessories.dm @@ -133,7 +133,7 @@ accessories = null /obj/item/clothing/emp_act(severity) - if(accessories.len) + if(LAZYLEN(accessories)) for(var/obj/item/clothing/accessory/A in accessories) A.emp_act(severity) ..() \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 6aed7eaf5df..b5a9900081e 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -49,6 +49,8 @@ /obj/item/clothing/suit/space name = "Space suit" desc = "A suit that protects against low pressure environments." + icon = 'icons/obj/clothing/spacesuits.dmi' + update_icon_define = INV_SPACESUIT_DEF_ICON icon_state = "space" w_class = ITEMSIZE_HUGE // So you can't fit this in your bag and be prepared at all times. gas_transfer_coefficient = 0.01 diff --git a/code/modules/clothing/under/accessories/armor.dm b/code/modules/clothing/under/accessories/armor.dm index df9e3b7c173..c6abaa60158 100644 --- a/code/modules/clothing/under/accessories/armor.dm +++ b/code/modules/clothing/under/accessories/armor.dm @@ -89,7 +89,7 @@ /obj/item/clothing/accessory/armor/armorplate/merc name = "heavy armor plate" desc = "A ceramics-reinforced synthetic armor plate, providing state of of the art protection. Attaches to a plate carrier." - icon_state = "armor_heavy" + icon_state = "armor_merc" armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0) ////////////// diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm index 408c5af0432..af666b478d8 100644 --- a/code/modules/clothing/under/accessories/holster.dm +++ b/code/modules/clothing/under/accessories/holster.dm @@ -59,7 +59,7 @@ clear_holster() /obj/item/clothing/accessory/holster/attack_hand(mob/user as mob) - if (has_suit) //if we are part of a suit + if (has_suit && (slot & ACCESSORY_SLOT_UTILITY)) //if we are part of a suit if (holstered) unholster(user) return @@ -105,7 +105,7 @@ H = src else if (istype(src, /obj/item/clothing/under)) var/obj/item/clothing/under/S = src - if (S.accessories.len) + if (LAZYLEN(S.accessories)) H = locate() in S.accessories if (!H) diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm index 3d9e5b05a93..4c6d8b2798e 100644 --- a/code/modules/hydroponics/seed_storage.dm +++ b/code/modules/hydroponics/seed_storage.dm @@ -29,12 +29,65 @@ var/seeds_initialized = 0 // Map-placed ones break if seeds are loaded right at the start of the round, so we do it on the first interaction var/list/datum/seed_pile/piles = list() + var/list/datum/seed_pile/piles_contra = list() //Hacked. var/list/starting_seeds = list() + var/list/contraband_seeds = list() //Seeds we only show if we've been hacked. var/list/scanner = list() // What properties we can view + var/seconds_electrified = 0 //Shock users like an airlock. + var/smart = 0 //Used for hacking. Overrides the scanner. + var/hacked = 0 + var/lockdown = 0 + var/datum/wires/seedstorage/wires = null + +/obj/machinery/seed_storage/New() + ..() + wires = new(src) + if(!contraband_seeds.len) + contraband_seeds = pick(list( + list( + /obj/item/seeds/ambrosiavulgarisseed = 3, + /obj/item/seeds/greengrapeseed = 3, + /obj/item/seeds/reishimycelium = 2, + /obj/item/seeds/bloodtomatoseed = 1 + ), + list( + /obj/item/seeds/ambrosiavulgarisseed = 3, + /obj/item/seeds/plastiseed = 3, + /obj/item/seeds/kudzuseed = 2, + /obj/item/seeds/nettleseed = 1 + ), + list( + /obj/item/seeds/ambrosiavulgarisseed = 3, + /obj/item/seeds/amanitamycelium = 3, + /obj/item/seeds/libertymycelium = 2, + /obj/item/seeds/glowshroom = 1 + ), + list( + /obj/item/seeds/ambrosiavulgarisseed = 3, + /obj/item/seeds/glowberryseed = 3, + /obj/item/seeds/icepepperseed = 2, + /obj/item/seeds/bluetomatoseed = 1 + ), + list( + /obj/item/seeds/ambrosiadeusseed = 1, + /obj/item/seeds/killertomatoseed = 1 + ), + list( + /obj/item/seeds/ambrosiavulgarisseed = 3, + /obj/item/seeds/random = 6 + ) + )) + return + +/obj/machinery/seed_storage/process() + ..() + if(seconds_electrified > 0) + seconds_electrified-- + return /obj/machinery/seed_storage/random // This is mostly for testing, but I guess admins could spawn it name = "Random seed storage" - scanner = list("stats", "produce", "soil", "temperature", "light") + scanner = list("stats", "produce", "soil", "temperature", "light", "pressure") starting_seeds = list(/obj/item/seeds/random = 50) /obj/machinery/seed_storage/garden @@ -81,7 +134,8 @@ /obj/machinery/seed_storage/xenobotany name = "Xenobotany seed storage" - scanner = list("stats", "produce", "soil", "temperature", "light") + scanner = list("stats", "produce", "soil", "temperature", "light", "pressure") + smart = 1 starting_seeds = list( /obj/item/seeds/ambrosiavulgarisseed = 3, /obj/item/seeds/appleseed = 3, @@ -128,6 +182,17 @@ ) /obj/machinery/seed_storage/attack_hand(mob/user as mob) + if(stat & (BROKEN|NOPOWER)) + return + + if(seconds_electrified != 0) + if(shock(user, 100)) + return + + if(panel_open) + wires.Interact(user) + if(lockdown) + return user.set_machine(src) interact(user) @@ -135,6 +200,11 @@ if (..()) return + if(smart) + scanner = list("stats", "produce", "soil", "temperature", "light", "pressure") + else + scanner = initial(scanner) + if (!seeds_initialized) for(var/typepath in starting_seeds) var/amount = starting_seeds[typepath] @@ -143,6 +213,13 @@ for (var/i = 1 to amount) var/O = new typepath add(O) + for(var/typepath in contraband_seeds) + var/amount = contraband_seeds[typepath] + if(isnull(amount)) amount = 1 + + for (var/i = 1 to amount) + var/O = new typepath + add(O, 1) seeds_initialized = 1 var/dat = "

Seed storage contents

" @@ -248,6 +325,95 @@ dat += "[S.amount]" dat += "Vend Purge" dat += "" + if(hacked || emagged) + for (var/datum/seed_pile/S in piles_contra) + var/datum/seed/seed = S.seed_type + if(!seed) + continue + dat += "" + dat += "[seed.seed_name]" + dat += "#[seed.uid]" + if ("stats" in scanner) + dat += "[seed.get_trait(TRAIT_ENDURANCE)][seed.get_trait(TRAIT_YIELD)][seed.get_trait(TRAIT_MATURATION)][seed.get_trait(TRAIT_PRODUCTION)][seed.get_trait(TRAIT_POTENCY)]" + if(seed.get_trait(TRAIT_HARVEST_REPEAT)) + dat += "Multiple" + else + dat += "Single" + if ("temperature" in scanner) + dat += "[seed.get_trait(TRAIT_IDEAL_HEAT)] K" + if ("light" in scanner) + dat += "[seed.get_trait(TRAIT_IDEAL_LIGHT)] L" + if ("soil" in scanner) + if(seed.get_trait(TRAIT_REQUIRES_NUTRIENTS)) + if(seed.get_trait(TRAIT_NUTRIENT_CONSUMPTION) < 0.05) + dat += "Low" + else if(seed.get_trait(TRAIT_NUTRIENT_CONSUMPTION) > 0.2) + dat += "High" + else + dat += "Norm" + else + dat += "No" + if(seed.get_trait(TRAIT_REQUIRES_WATER)) + if(seed.get_trait(TRAIT_WATER_CONSUMPTION) < 1) + dat += "Low" + else if(seed.get_trait(TRAIT_WATER_CONSUMPTION) > 5) + dat += "High" + else + dat += "Norm" + else + dat += "No" + + dat += "" + switch(seed.get_trait(TRAIT_CARNIVOROUS)) + if(1) + dat += "CARN " + if(2) + dat += "CARN " + switch(seed.get_trait(TRAIT_SPREAD)) + if(1) + dat += "VINE " + if(2) + dat += "VINE " + if ("pressure" in scanner) + if(seed.get_trait(TRAIT_LOWKPA_TOLERANCE) < 20) + dat += "LP " + if(seed.get_trait(TRAIT_HIGHKPA_TOLERANCE) > 220) + dat += "HP " + if ("temperature" in scanner) + if(seed.get_trait(TRAIT_HEAT_TOLERANCE) > 30) + dat += "TEMRES " + else if(seed.get_trait(TRAIT_HEAT_TOLERANCE) < 10) + dat += "TEMSEN " + if ("light" in scanner) + if(seed.get_trait(TRAIT_LIGHT_TOLERANCE) > 10) + dat += "LIGRES " + else if(seed.get_trait(TRAIT_LIGHT_TOLERANCE) < 3) + dat += "LIGSEN " + if(seed.get_trait(TRAIT_TOXINS_TOLERANCE) < 3) + dat += "TOXSEN " + else if(seed.get_trait(TRAIT_TOXINS_TOLERANCE) > 6) + dat += "TOXRES " + if(seed.get_trait(TRAIT_PEST_TOLERANCE) < 3) + dat += "PESTSEN " + else if(seed.get_trait(TRAIT_PEST_TOLERANCE) > 6) + dat += "PESTRES " + if(seed.get_trait(TRAIT_WEED_TOLERANCE) < 3) + dat += "WEEDSEN " + else if(seed.get_trait(TRAIT_WEED_TOLERANCE) > 6) + dat += "WEEDRES " + if(seed.get_trait(TRAIT_PARASITE)) + dat += "PAR " + if ("temperature" in scanner) + if(seed.get_trait(TRAIT_ALTER_TEMP) > 0) + dat += "TEMP+ " + if(seed.get_trait(TRAIT_ALTER_TEMP) < 0) + dat += "TEMP- " + if(seed.get_trait(TRAIT_BIOLUM)) + dat += "LUM " + dat += "" + dat += "[S.amount]" + dat += "Vend Purge" + dat += "" dat += "" user << browse(dat, "window=seedstorage") @@ -282,11 +448,11 @@ updateUsrDialog() /obj/machinery/seed_storage/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (istype(O, /obj/item/seeds)) + if (istype(O, /obj/item/seeds) && !lockdown) add(O) user.visible_message("[user] puts \the [O.name] into \the [src].", "You put \the [O] into \the [src].") return - else if (istype(O, /obj/item/weapon/storage/bag/plants)) + else if (istype(O, /obj/item/weapon/storage/bag/plants) && !lockdown) var/obj/item/weapon/storage/P = O var/loaded = 0 for(var/obj/item/seeds/G in P.contents) @@ -301,8 +467,17 @@ playsound(loc, O.usesound, 50, 1) anchored = !anchored user << "You [anchored ? "wrench" : "unwrench"] \the [src]." + else if(istype(O, /obj/item/weapon/screwdriver)) + panel_open = !panel_open + to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.") + playsound(src, O.usesound, 50, 1) + overlays.Cut() + if(panel_open) + overlays += image(icon, "[initial(icon_state)]-panel") + else if((istype(O, /obj/item/weapon/wirecutters) || istype(O, /obj/item/device/multitool)) && panel_open) + wires.Interact(user) -/obj/machinery/seed_storage/proc/add(var/obj/item/seeds/O as obj) +/obj/machinery/seed_storage/proc/add(var/obj/item/seeds/O as obj, var/contraband = 0) if (istype(O.loc, /mob)) var/mob/user = O.loc user.remove_from_mob(O) @@ -313,6 +488,17 @@ O.loc = src var/newID = 0 + if(contraband) + for (var/datum/seed_pile/N in piles_contra) + if (N.matches(O)) + ++N.amount + N.seeds += (O) + return + else if(N.ID >= newID) + newID = N.ID + 1 + piles_contra += new /datum/seed_pile(O, newID) + return + for (var/datum/seed_pile/N in piles) if (N.matches(O)) ++N.amount @@ -322,4 +508,5 @@ newID = N.ID + 1 piles += new /datum/seed_pile(O, newID) + return diff --git a/code/modules/materials/fifty_spawner_mats.dm b/code/modules/materials/fifty_spawner_mats.dm index ffd5e59f401..1b39b38d931 100644 --- a/code/modules/materials/fifty_spawner_mats.dm +++ b/code/modules/materials/fifty_spawner_mats.dm @@ -56,14 +56,26 @@ name = "stack of steel" type_to_spawn = /obj/item/stack/material/steel +/obj/fiftyspawner/steel/hull + name = "stack of steel hull" + type_to_spawn = /obj/item/stack/material/steel/hull + /obj/fiftyspawner/plasteel name = "stack of plasteel" type_to_spawn = /obj/item/stack/material/plasteel +/obj/fiftyspawner/plasteel/hull + name = "stack of plasteel hull" + type_to_spawn = /obj/item/stack/material/plasteel/hull + /obj/fiftyspawner/durasteel name = "stack of durasteel" type_to_spawn = /obj/item/stack/material/durasteel +/obj/fiftyspawner/durasteel/hull + name = "stack of durasteel hull" + type_to_spawn = /obj/item/stack/material/durasteel/hull + /obj/fiftyspawner/wood name = "stack of wood" type_to_spawn = /obj/item/stack/material/wood diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index 54d56fd7731..3caf8df28b3 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -192,12 +192,20 @@ default_type = DEFAULT_WALL_MATERIAL no_variants = FALSE +/obj/item/stack/material/steel/hull + name = MAT_STEELHULL + default_type = MAT_STEELHULL + /obj/item/stack/material/plasteel name = "plasteel" icon_state = "sheet-plasteel" default_type = "plasteel" no_variants = FALSE +/obj/item/stack/material/plasteel/hull + name = MAT_PLASTEELHULL + default_type = MAT_PLASTEELHULL + /obj/item/stack/material/durasteel name = "durasteel" icon_state = "sheet-durasteel" @@ -205,6 +213,9 @@ default_type = "durasteel" no_variants = FALSE +/obj/item/stack/material/durasteel/hull + name = "MAT_DURASTEELHULL" + /obj/item/stack/material/wood name = "wooden plank" icon_state = "sheet-wood" diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index ca65a1a814b..66586535d37 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -16,7 +16,17 @@ stone metal solid - cult + ONLY WALLS + cult + hull + curvy + jaggy + brick + REINFORCEMENT + reinf_over + reinf_mesh + reinf_cult + reinf_metal DOORS stone metal @@ -358,6 +368,18 @@ var/list/name_to_material icon_reinf = "reinf_over" icon_colour = "#666666" +/material/steel/hull + name = MAT_STEELHULL + stack_type = /obj/item/stack/material/steel/hull + integrity = 250 + explosion_resistance = 10 + icon_base = "hull" + icon_reinf = "reinf_mesh" + icon_colour = "#666677" + +/material/steel/hull/place_sheet(var/turf/target) //Deconstructed into normal steel sheets. + new /obj/item/stack/material/steel(target) + /material/diona name = "biomass" icon_colour = null @@ -394,6 +416,17 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 2) composite_material = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT, "platinum" = SHEET_MATERIAL_AMOUNT) //todo +/material/plasteel/hull + name = MAT_PLASTEELHULL + stack_type = /obj/item/stack/material/plasteel/hull + integrity = 600 + icon_base = "hull" + icon_reinf = "reinf_mesh" + icon_colour = "#777788" + explosion_resistance = 40 + +/material/plasteel/hull/place_sheet(var/turf/target) //Deconstructed into normal plasteel sheets. + new /obj/item/stack/material/plasteel(target) // Very rare alloy that is reflective, should be used sparingly. /material/durasteel @@ -412,6 +445,14 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 8) composite_material = list("plasteel" = SHEET_MATERIAL_AMOUNT, "diamond" = SHEET_MATERIAL_AMOUNT) //shrug +/material/durasteel/hull //The 'Hardball' of starship hulls. + name = MAT_DURASTEELHULL + icon_base = "hull" + icon_reinf = "reinf_mesh" + icon_colour = "#45829a" + explosion_resistance = 90 + reflectivity = 0.9 + /material/plasteel/titanium name = "titanium" stack_type = null @@ -421,6 +462,12 @@ var/list/name_to_material icon_colour = "#D1E6E3" icon_reinf = "reinf_metal" +/material/plasteel/titanium/hull + name = MAT_TITANIUMHULL + stack_type = null + icon_base = "hull" + icon_reinf = "reinf_mesh" + /material/glass name = "glass" stack_type = /obj/item/stack/material/glass diff --git a/code/modules/mob/language/outsider.dm b/code/modules/mob/language/outsider.dm index b1932bb3ba1..fdd719df897 100644 --- a/code/modules/mob/language/outsider.dm +++ b/code/modules/mob/language/outsider.dm @@ -129,4 +129,16 @@ flags = RESTRICTED syllables = list("rus","zem","ave","groz","ski","ska","ven","konst","pol","lin","svy", "danya","da","mied","zan","das","krem","myka","cyka","blyat","to","st","no","na","ni", - "ko","ne","en","po","ra","li","on","byl","cto","eni","ost","ol","ego","ver","stv","pro") \ No newline at end of file + "ko","ne","en","po","ra","li","on","byl","cto","eni","ost","ol","ego","ver","stv","pro") + +//For your event purposes. +/datum/language/occursus + name = LANGUAGE_EVENT1 + desc = "The Powers That Be have seen it fit to grace you with a special language that sounds like... something. This description should be overridden by the time you see this." + speech_verb = "says" + ask_verb = "asks" + exclaim_verb = "shouts" + colour = "warning" + key = "]" + flags = RESTRICTED + syllables = list("chan","ange","thi","se") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 5c037623ed1..792011043a3 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -242,7 +242,7 @@ if(legcuffed) dat += "
Legcuffed" - if(suit && suit.accessories.len) + if(suit && LAZYLEN(suit.accessories)) dat += "
Remove accessory" dat += "
Remove splints" dat += "
Empty pockets" diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm index e791d697497..367a00b5d57 100644 --- a/code/modules/mob/living/carbon/human/human_species.dm +++ b/code/modules/mob/living/carbon/human/human_species.dm @@ -51,3 +51,6 @@ /mob/living/carbon/human/stok/New(var/new_loc) ..(new_loc, SPECIES_MONKEY_UNATHI) + +/mob/living/carbon/human/event1/New(var/new_loc) + ..(new_loc, SPECIES_EVENT1) diff --git a/code/modules/mob/living/carbon/human/species/outsider/event.dm b/code/modules/mob/living/carbon/human/species/outsider/event.dm new file mode 100644 index 00000000000..3e75acae9c0 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/outsider/event.dm @@ -0,0 +1,221 @@ +/* +This species is meant to be used both as a base for Event species and possible future per-round RNG'd species, hence the proc var-ization in some places. + +IF YOU ARE USING THIS SPECIES: + +Variables you may want to make use of are: + + icobase and deform Set both to the same thing, unless you have special deformed sprites. + mobtemplate The blank bounding box used by your species. + mob_size The size class of the species. 20 is human. + show_ssd What is shown when they're SSD? + virus_immune Immune to viruses? 1/0 + short_sighted Permanent weldervision. 1/0 + blood_volume Initial blood volume. + bloodloss_rate Multiplier for how fast a species bleeds out. Higher = Faster + hunger_factor Multiplier for hunger. + active_regen_mult Multiplier for 'Regenerate' power speed, in human_powers.dm + + scream_verb The text descriptor of the scream. Default screams. + male_scream_sound Sound played when a male *scream s. + female_scream_sound Sound played when a female *scream s. + male_cough_sounds List of cough sounds for males. + female_cough_sounds List of cough sounds for females. + male_sneeze_sound Sound played when a male *sneeze s.. + female_sneeze_sound Sound played when a female *sneeze s. + + speech_sounds A list of sounds used randomly when the species talks. + speech_chance Percentile chance to do the above. + + total_health How much damage can they take before entering crit? Default 100. + + brute_mod Physical damage multiplier. + burn_mod Burn damage multiplier. + oxy_mod Oxyloss modifier + toxins_mod Toxloss modifier + radiation_mod Radiation modifier + flash_mod Stun from blindness modifier. + sound_mod Stun from sounds, I.E. flashbangs. + chemOD_mod Damage modifier for overdose + siemens_coefficient The lower, the thicker the skin and better the insulation. + darksight Native darksight distance. + + meat_type The food given when they are turned into meat. + remains_type The effect left behind when they are ashed. + death_sound The sound played when they die. + death_message The deathgasp. + knockout_message The message when someone gets a lucky shot on the head. + cloning_modifier The modifier given when they are by chance cloned. + + Any 'heat' or 'pressure' vars. Environmental survivability. + + speech_bubble_appearance Part of icon_state to use for speech bubbles when talking. See talk.dmi for available icons. + + slowdown Passive movement speed malus (or boost, if negative) + move_trail What effect marks are left when walking + has_floating_eyes Whether the eyes can be shown above other icons + has_glowing_eyes Whether the eyes are shown above all lighting + water_movement How much faster or slower the species is in water + snow_movement How much faster or slower the species is on snow + item_slowdown_mod How affected by item slowdown the species is. Multiplier. + + */ + +/datum/species/event1 //Essentially, by default a 'better' human. + name = SPECIES_EVENT1 + name_plural = SPECIES_EVENT1 + primitive_form = SPECIES_MONKEY + unarmed_types = list(/datum/unarmed_attack/stomp/event1, /datum/unarmed_attack/kick/event1, /datum/unarmed_attack/punch/event1, /datum/unarmed_attack/bite/event1) + blurb = "We're not quite sure where these things came from. Are you?" + num_alternate_languages = 3 + species_language = LANGUAGE_GALCOM + secondary_langs = list() + name_language = null // Use the first-name last-name generator rather than a language scrambler + + min_age = 0 + max_age = 999 + + health_hud_intensity = 1.5 + + flags = NO_MINOR_CUT | NO_HALLUCINATION | NO_INFECT + + vision_flags = SEE_SELF + darksight = 7 + + brute_mod = 0.9 + burn_mod = 0.9 + oxy_mod = 0.9 + toxins_mod = 0.9 + radiation_mod = 0.9 + flash_mod = 0.9 + sound_mod = 0.9 + chemOD_mod = 0.9 + siemens_coefficient = 0.9 + + spawn_flags = SPECIES_IS_RESTRICTED + appearance_flags = HAS_SKIN_TONE | HAS_EYE_COLOR + + //Far more organs, due to the issues with adding them and their respective verbs mid round, I'll include them here. + //Colormatch organs will change to match the blood color of the species. + has_organ = list( + O_HEART = /obj/item/organ/internal/heart/grey/colormatch, + O_LUNGS = /obj/item/organ/internal/lungs/grey/colormatch, + O_LIVER = /obj/item/organ/internal/liver/grey/colormatch, + O_KIDNEYS = /obj/item/organ/internal/kidneys/grey/colormatch, + O_BRAIN = /obj/item/organ/internal/brain/grey/colormatch, + O_EYES = /obj/item/organ/internal/eyes/grey/colormatch, + O_PLASMA = /obj/item/organ/internal/xenos/plasmavessel/grey/colormatch, + O_ACID = /obj/item/organ/internal/xenos/acidgland/grey/colormatch, + O_HIVE = /obj/item/organ/internal/xenos/hivenode/grey/colormatch, + O_RESIN = /obj/item/organ/internal/xenos/resinspinner/grey/colormatch + ) + + var/use_bodyshape = SPECIES_HUMAN + var/waterbreathing = 0 + var/overcome_gravity = 0 + var/hover = 0 + +/datum/species/event1/proc/set_limbset(var/setnum = 1) //Will require existing ones to be respawned for changes to take effect. + switch(setnum) + if(1) //Normal. + has_limbs = list( + BP_TORSO = list("path" = /obj/item/organ/external/chest), + BP_GROIN = list("path" = /obj/item/organ/external/groin), + BP_HEAD = list("path" = /obj/item/organ/external/head), + BP_L_ARM = list("path" = /obj/item/organ/external/arm), + BP_R_ARM = list("path" = /obj/item/organ/external/arm/right), + BP_L_LEG = list("path" = /obj/item/organ/external/leg), + BP_R_LEG = list("path" = /obj/item/organ/external/leg/right), + BP_L_HAND = list("path" = /obj/item/organ/external/hand), + BP_R_HAND = list("path" = /obj/item/organ/external/hand/right), + BP_L_FOOT = list("path" = /obj/item/organ/external/foot), + BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right) + ) + if(2) //No broken bones. + has_limbs = list( + BP_TORSO = list("path" = /obj/item/organ/external/chest/unbreakable), + BP_GROIN = list("path" = /obj/item/organ/external/groin/unbreakable), + BP_HEAD = list("path" = /obj/item/organ/external/head/unbreakable), + BP_L_ARM = list("path" = /obj/item/organ/external/arm/unbreakable), + BP_R_ARM = list("path" = /obj/item/organ/external/arm/right/unbreakable), + BP_L_LEG = list("path" = /obj/item/organ/external/leg/unbreakable), + BP_R_LEG = list("path" = /obj/item/organ/external/leg/right/unbreakable), + BP_L_HAND = list("path" = /obj/item/organ/external/hand/unbreakable), + BP_R_HAND = list("path" = /obj/item/organ/external/hand/right/unbreakable), + BP_L_FOOT = list("path" = /obj/item/organ/external/foot/unbreakable), + BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right/unbreakable) + ) + if(3) //No removing from the body. + has_limbs = list( + BP_TORSO = list("path" = /obj/item/organ/external/chest/unseverable), + BP_GROIN = list("path" = /obj/item/organ/external/groin/unseverable), + BP_HEAD = list("path" = /obj/item/organ/external/head/unseverable), + BP_L_ARM = list("path" = /obj/item/organ/external/arm/unseverable), + BP_R_ARM = list("path" = /obj/item/organ/external/arm/right/unseverable), + BP_L_LEG = list("path" = /obj/item/organ/external/leg/unseverable), + BP_R_LEG = list("path" = /obj/item/organ/external/leg/right/unseverable), + BP_L_HAND = list("path" = /obj/item/organ/external/hand/unseverable), + BP_R_HAND = list("path" = /obj/item/organ/external/hand/right/unseverable), + BP_L_FOOT = list("path" = /obj/item/organ/external/foot/unseverable), + BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right/unseverable) + ) + if(4) //No breaking, OR removing from the body. For things that are more monsterous. + has_limbs = list( + BP_TORSO = list("path" = /obj/item/organ/external/chest/indestructible), + BP_GROIN = list("path" = /obj/item/organ/external/groin/indestructible), + BP_HEAD = list("path" = /obj/item/organ/external/head/indestructible), + BP_L_ARM = list("path" = /obj/item/organ/external/arm/indestructible), + BP_R_ARM = list("path" = /obj/item/organ/external/arm/right/indestructible), + BP_L_LEG = list("path" = /obj/item/organ/external/leg/indestructible), + BP_R_LEG = list("path" = /obj/item/organ/external/leg/right/indestructible), + BP_L_HAND = list("path" = /obj/item/organ/external/hand/indestructible), + BP_R_HAND = list("path" = /obj/item/organ/external/hand/right/indestructible), + BP_L_FOOT = list("path" = /obj/item/organ/external/foot/indestructible), + BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right/indestructible) + ) + return + +/datum/species/event1/proc/choose_limbset() + var/list/limb_sets = list("Normal" = 1, "Unbreakable" = 2, "Unseverable" = 3, "Indestructible" = 4) + var/choice = input("Choose limb set to use for future spawns.", "Limb types.") as null|anything in limb_sets + set_limbset(limb_sets[choice]) + return limb_sets[choice] + +/datum/species/event1/proc/toggle_thermal() + vision_flags ^= SEE_MOBS + +/datum/species/event1/proc/toggle_meson() + vision_flags ^= SEE_TURFS + +/datum/species/event1/proc/toggle_material() + vision_flags ^= SEE_OBJS + +/datum/species/event1/proc/toggle_infection() + flags ^= NO_INFECT + +/datum/species/event1/proc/toggle_noslip() + flags ^= NO_SLIP + +/datum/species/event1/proc/toggle_cloning() + flags ^= NO_SCAN + +/datum/species/event1/proc/toggle_pain() + flags ^= NO_PAIN + +/datum/species/event1/proc/toggle_embedding() + flags ^= NO_EMBED + +/datum/species/event1/proc/toggle_plant() //Maybe it's a distant cousin of the Venus Fly Trap. + flags ^= IS_PLANT + +/datum/species/event1/get_bodytype(var/mob/living/carbon/human/H) //Default to human sprites, if they're based on another species, var edit use_bodyshape to the correct thing in _defines/mobs.dm of the species you want to use. + return use_bodyshape + +/datum/species/event1/can_breathe_water() + return waterbreathing + +/datum/species/event1/can_overcome_gravity(var/mob/living/carbon/human/H) + return overcome_gravity + +/datum/species/event1/can_fall(var/mob/living/carbon/human/H) + return hover diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index de9c834af6a..b1557f3a28d 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -54,8 +54,8 @@ var/language = LANGUAGE_GALCOM // Default racial language, if any. var/species_language = LANGUAGE_GALCOM // Used on the Character Setup screen var/list/secondary_langs = list() // The names of secondary languages that are available to this species. - var/list/speech_sounds // A list of sounds to potentially play when speaking. - var/list/speech_chance // The likelihood of a speech sound playing. + var/list/speech_sounds = list() // A list of sounds to potentially play when speaking. + var/list/speech_chance = list() // The likelihood of a speech sound playing. var/num_alternate_languages = 0 // How many secondary languages are available to select at character creation var/name_language = LANGUAGE_GALCOM // The language to use when determining names for this species, or null to use the first name/last name generator @@ -153,7 +153,7 @@ var/health_hud_intensity = 1 // This modifies how intensely the health hud is colored. // Body/form vars. - var/list/inherent_verbs // Species-specific verbs. + var/list/inherent_verbs = list() // Species-specific verbs. var/has_fine_manipulation = 1 // Can use small items. var/siemens_coefficient = 1 // The lower, the thicker the skin and better the insulation. var/darksight = 2 // Native darksight distance. diff --git a/code/modules/mob/living/carbon/human/stripping.dm b/code/modules/mob/living/carbon/human/stripping.dm index 82ca1921816..3029cdbf8ff 100644 --- a/code/modules/mob/living/carbon/human/stripping.dm +++ b/code/modules/mob/living/carbon/human/stripping.dm @@ -33,7 +33,7 @@ return if("tie") var/obj/item/clothing/under/suit = w_uniform - if(!istype(suit) || !suit.accessories.len) + if(!istype(suit) || !LAZYLEN(suit.accessories)) return var/obj/item/clothing/accessory/A = suit.accessories[1] if(!istype(A)) diff --git a/code/modules/mob/living/carbon/human/unarmed_attack.dm b/code/modules/mob/living/carbon/human/unarmed_attack.dm index a7f80fb8f1d..6ec4ce29545 100644 --- a/code/modules/mob/living/carbon/human/unarmed_attack.dm +++ b/code/modules/mob/living/carbon/human/unarmed_attack.dm @@ -113,6 +113,8 @@ var/global/list/sparring_attack_cache = list() sharp = 0 edge = 0 +/datum/unarmed_attack/bite/event1 + /datum/unarmed_attack/bite/is_usable(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone) if (user.is_muzzled()) @@ -128,6 +130,8 @@ var/global/list/sparring_attack_cache = list() eye_attack_text_victim = "digits" damage = 0 +/datum/unarmed_attack/punch/event1 + /datum/unarmed_attack/punch/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage) var/obj/item/organ/external/affecting = target.get_organ(zone) var/organ = affecting.name @@ -179,6 +183,8 @@ var/global/list/sparring_attack_cache = list() attack_sound = "swing_hit" damage = 0 +/datum/unarmed_attack/kick/event1 + /datum/unarmed_attack/kick/is_usable(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone) if (user.legcuffed) return 0 @@ -220,6 +226,8 @@ var/global/list/sparring_attack_cache = list() attack_sound = "swing_hit" damage = 0 +/datum/unarmed_attack/stomp/event1 + /datum/unarmed_attack/stomp/is_usable(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone) if (user.legcuffed) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 8c0bb87d61d..b36db9bfa58 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -730,7 +730,14 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(!wear_suit) return //No point, no suit. - overlays_standing[SUIT_LAYER] = wear_suit.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_wear_suit_str, default_icon = INV_SUIT_DEF_ICON, default_layer = SUIT_LAYER) + // Part of splitting the suit sprites up + var/iconFile = INV_SUIT_DEF_ICON + if(istype(wear_suit, /obj/item/clothing/suit)) + var/obj/item/clothing/suit/S = wear_suit + if(S.update_icon_define) + iconFile = S.update_icon_define + + overlays_standing[SUIT_LAYER] = wear_suit.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_wear_suit_str, default_icon = iconFile, default_layer = SUIT_LAYER) apply_layer(SUIT_LAYER) diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station.dm b/code/modules/mob/living/silicon/robot/robot_modules/station.dm index f0abf911b24..12b44099804 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station.dm @@ -436,6 +436,8 @@ var/global/list/robot_modules = list( synths += metal synths += glass synths += plasteel + synths += wood + synths += plastic synths += wire var/obj/item/weapon/matter_decompiler/MD = new /obj/item/weapon/matter_decompiler(src) diff --git a/code/modules/mob/living/simple_animal/humanoids/syndicate.dm b/code/modules/mob/living/simple_animal/humanoids/syndicate.dm index 2cb3e026a71..6a7a2608026 100644 --- a/code/modules/mob/living/simple_animal/humanoids/syndicate.dm +++ b/code/modules/mob/living/simple_animal/humanoids/syndicate.dm @@ -62,9 +62,13 @@ var/corpse = /obj/effect/landmark/mobcorpse/syndicatesoldier /mob/living/simple_animal/hostile/syndicate/death() - ..() if(corpse) + ..() new corpse (src.loc) + else + ..(0,"explodes!") + new /obj/effect/gibspawner/human(src.loc) + explosion(get_turf(src), -1, 0, 1, 3) qdel(src) return @@ -142,6 +146,24 @@ loot_list = list(/obj/item/weapon/gun/projectile/automatic/c20r = 100) +/mob/living/simple_animal/hostile/syndicate/ranged/laser + icon_state = "syndicateranged_laser" + icon_living = "syndicateranged_laser" + rapid = 0 + projectiletype = /obj/item/projectile/beam/midlaser + projectilesound = 'sound/weapons/Laser.ogg' + + loot_list = list(/obj/item/weapon/gun/energy/laser = 100) + +/mob/living/simple_animal/hostile/syndicate/ranged/ionrifle + icon_state = "syndicateranged_ionrifle" + icon_living = "syndicateranged_ionrifle" + rapid = 0 + projectiletype = /obj/item/projectile/ion + projectilesound = 'sound/weapons/Laser.ogg' + + loot_list = list(/obj/item/weapon/gun/energy/ionrifle = 100) + /mob/living/simple_animal/hostile/syndicate/ranged/space name = "space mercenary" //VOREStation Edit icon_state = "syndicaterangedpsace" @@ -165,6 +187,42 @@ /mob/living/simple_animal/hostile/syndicate/ranged/space/Process_Spacemove(var/check_drift = 0) return +/////////////////////////////////////////////// +// POI Mobs +// Don't leave corpses, to help balance loot. +/////////////////////////////////////////////// + +/mob/living/simple_animal/hostile/syndicate/poi + loot_list = list() + corpse = null + +/mob/living/simple_animal/hostile/syndicate/melee/poi + loot_list = list() + corpse = null + +/mob/living/simple_animal/hostile/syndicate/melee/space/poi + loot_list = list() + corpse = null + +/mob/living/simple_animal/hostile/syndicate/ranged/poi + loot_list = list() + corpse = null + +/mob/living/simple_animal/hostile/syndicate/ranged/laser/poi + loot_list = list() + corpse = null + +/mob/living/simple_animal/hostile/syndicate/ranged/ionrifle/poi + loot_list = list() + corpse = null + +/mob/living/simple_animal/hostile/syndicate/ranged/space/poi + loot_list = list() + corpse = null + + +//Viscerators + /mob/living/simple_animal/hostile/viscerator name = "viscerator" desc = "A small, twin-bladed machine capable of inflicting very deadly lacerations." diff --git a/code/modules/organs/internal/brain.dm b/code/modules/organs/internal/brain.dm index 0dc2fd1fc4f..21807e2c22a 100644 --- a/code/modules/organs/internal/brain.dm +++ b/code/modules/organs/internal/brain.dm @@ -146,3 +146,15 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain) desc = "A tightly furled roll of paper, covered with indecipherable runes." icon = 'icons/obj/wizard.dmi' icon_state = "scroll" + +/obj/item/organ/internal/brain/grey + desc = "A piece of juicy meat found in a person's head. This one is strange." + icon_state = "brain_grey" + +/obj/item/organ/internal/brain/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color diff --git a/code/modules/organs/internal/eyes.dm b/code/modules/organs/internal/eyes.dm index be93a3fb7bc..3b44682095b 100644 --- a/code/modules/organs/internal/eyes.dm +++ b/code/modules/organs/internal/eyes.dm @@ -21,6 +21,17 @@ ..() robotize() +/obj/item/organ/internal/eyes/grey + icon_state = "eyes_grey" + +/obj/item/organ/internal/eyes/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color + /obj/item/organ/internal/eyes/proc/change_eye_color() set name = "Change Eye Color" set desc = "Changes your robotic eye color instantly." diff --git a/code/modules/organs/internal/heart.dm b/code/modules/organs/internal/heart.dm index 8ca68878e38..10fdcada69c 100644 --- a/code/modules/organs/internal/heart.dm +++ b/code/modules/organs/internal/heart.dm @@ -20,3 +20,15 @@ if(prob(1)) owner.custom_pain("A stabbing pain rolls through your chest!",1) owner.apply_damage(damage = 25, damagetype = HALLOSS, def_zone = parent_organ) + +/obj/item/organ/internal/heart/grey + icon_state = "heart_grey-on" + dead_icon = "heart_grey-off" + +/obj/item/organ/internal/heart/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color diff --git a/code/modules/organs/internal/kidneys.dm b/code/modules/organs/internal/kidneys.dm index 19652a6376d..571fe4f9e9d 100644 --- a/code/modules/organs/internal/kidneys.dm +++ b/code/modules/organs/internal/kidneys.dm @@ -35,3 +35,14 @@ owner.custom_pain("You feel extremely tired, like you can't move!",1) owner.m_intent = "walk" owner.hud_used.move_intent.icon_state = "walking" + +/obj/item/organ/internal/kidneys/grey + icon_state = "kidneys_grey" + +/obj/item/organ/internal/kidneys/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color diff --git a/code/modules/organs/internal/liver.dm b/code/modules/organs/internal/liver.dm index 3b20f30214d..a81c71895fb 100644 --- a/code/modules/organs/internal/liver.dm +++ b/code/modules/organs/internal/liver.dm @@ -57,3 +57,14 @@ if(prob(1) && owner.getToxLoss() < owner.getMaxHealth()*0.3) //owner << "" //Toxins provide their own messages for pain owner.adjustToxLoss(5) //Not realistic to PA but there are basically no 'real' liver infections + +/obj/item/organ/internal/liver/grey + icon_state = "liver_grey" + +/obj/item/organ/internal/liver/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color diff --git a/code/modules/organs/internal/lungs.dm b/code/modules/organs/internal/lungs.dm index c42167f1311..9966e93aa7e 100644 --- a/code/modules/organs/internal/lungs.dm +++ b/code/modules/organs/internal/lungs.dm @@ -39,3 +39,14 @@ if(prob(1)) owner.custom_pain("You suddenly feel short of breath and take a sharp, painful breath!",1) owner.adjustOxyLoss(30) //Look it's hard to simulate low O2 perfusion okay + +/obj/item/organ/internal/lungs/grey + icon_state = "lungs_grey" + +/obj/item/organ/internal/lungs/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index cd4abb9900d..d649b951b06 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -27,6 +27,7 @@ var/list/organ_cache = list() var/min_bruised_damage = 10 // Damage before considered bruised var/min_broken_damage = 30 // Damage before becoming broken var/max_damage // Damage cap + var/can_reject = 1 // Can this organ reject? var/rejecting // Is this organ already being rejected? var/preserved = 0 // If this is 1, prevents organ decay. @@ -200,7 +201,7 @@ var/list/organ_cache = list() /obj/item/organ/proc/handle_rejection() // Process unsuitable transplants. TODO: consider some kind of // immunosuppressant that changes transplant data to make it match. - if(dna) + if(dna && can_reject) if(!rejecting) if(blood_incompatible(dna.b_type, owner.dna.b_type, species.name, owner.species.name)) //VOREStation Edit - Process species by name. rejecting = 1 diff --git a/code/modules/organs/subtypes/indestructible.dm b/code/modules/organs/subtypes/indestructible.dm new file mode 100644 index 00000000000..2f2e13400f7 --- /dev/null +++ b/code/modules/organs/subtypes/indestructible.dm @@ -0,0 +1,65 @@ +/obj/item/organ/external/chest/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 + +/obj/item/organ/external/groin/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 + +/obj/item/organ/external/arm/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 + +/obj/item/organ/external/arm/right/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 + +/obj/item/organ/external/leg/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 + +/obj/item/organ/external/leg/right/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 + +/obj/item/organ/external/foot/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 + +/obj/item/organ/external/foot/right/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 + +/obj/item/organ/external/hand/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 + +/obj/item/organ/external/hand/right/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 + +/obj/item/organ/external/head/indestructible + cannot_gib = 1 + cannot_amputate = 1 + cannot_break = 1 + dislocated = -1 diff --git a/code/modules/organs/subtypes/unseverable.dm b/code/modules/organs/subtypes/unseverable.dm new file mode 100644 index 00000000000..370b659454c --- /dev/null +++ b/code/modules/organs/subtypes/unseverable.dm @@ -0,0 +1,43 @@ +/obj/item/organ/external/chest/unseverable + cannot_gib = 1 + cannot_amputate = 1 + +/obj/item/organ/external/groin/unseverable + cannot_gib = 1 + cannot_amputate = 1 + +/obj/item/organ/external/arm/unseverable + cannot_gib = 1 + cannot_amputate = 1 + +/obj/item/organ/external/arm/right/unseverable + cannot_gib = 1 + cannot_amputate = 1 + +/obj/item/organ/external/leg/unseverable + cannot_gib = 1 + cannot_amputate = 1 + +/obj/item/organ/external/leg/right/unseverable + cannot_gib = 1 + cannot_amputate = 1 + +/obj/item/organ/external/foot/unseverable + cannot_gib = 1 + cannot_amputate = 1 + +/obj/item/organ/external/foot/right/unseverable + cannot_gib = 1 + cannot_amputate = 1 + +/obj/item/organ/external/hand/unseverable + cannot_gib = 1 + cannot_amputate = 1 + +/obj/item/organ/external/hand/right/unseverable + cannot_gib = 1 + cannot_amputate = 1 + +/obj/item/organ/external/head/unseverable + cannot_gib = 1 + cannot_amputate = 1 diff --git a/code/modules/organs/subtypes/xenos.dm b/code/modules/organs/subtypes/xenos.dm index 95024a63551..f5739304893 100644 --- a/code/modules/organs/subtypes/xenos.dm +++ b/code/modules/organs/subtypes/xenos.dm @@ -1,23 +1,46 @@ //XENOMORPH ORGANS /obj/item/organ/internal/xenos name = "xeno organ" - icon = 'icons/effects/blood.dmi' + icon = 'icons/obj/surgery.dmi' desc = "It smells like an accident in a chemical factory." /obj/item/organ/internal/xenos/eggsac name = "egg sac" parent_organ = BP_GROIN - icon_state = "xgibmid1" + icon_state = "sac" organ_tag = O_EGG +/obj/item/organ/internal/xenos/eggsac/grey + icon_state = "sac_grey" + +/obj/item/organ/internal/xenos/eggsac/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color + /obj/item/organ/internal/xenos/plasmavessel name = "plasma vessel" parent_organ = BP_TORSO - icon_state = "xgibdown1" + icon_state = "plasma" organ_tag = O_PLASMA var/stored_plasma = 0 var/max_plasma = 500 +/obj/item/organ/internal/xenos/plasmavessel/grey + icon_state = "plasma_grey" + stored_plasma = 200 + +/obj/item/organ/internal/xenos/plasmavessel/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color + /obj/item/organ/internal/xenos/plasmavessel/queen name = "bloated plasma vessel" stored_plasma = 200 @@ -35,17 +58,51 @@ /obj/item/organ/internal/xenos/acidgland name = "acid gland" parent_organ = BP_HEAD - icon_state = "xgibtorso" + icon_state = "acidgland" organ_tag = O_ACID +/obj/item/organ/internal/xenos/acidgland/grey + icon_state = "acidgland_grey" + +/obj/item/organ/internal/xenos/acidgland/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color + /obj/item/organ/internal/xenos/hivenode name = "hive node" parent_organ = BP_TORSO - icon_state = "xgibmid2" + icon_state = "xenode" organ_tag = O_HIVE +/obj/item/organ/internal/xenos/hivenode/grey + icon_state = "xenode_grey" + +/obj/item/organ/internal/xenos/hivenode/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color + /obj/item/organ/internal/xenos/resinspinner name = "resin spinner" parent_organ = BP_HEAD - icon_state = "xgibmid2" + icon_state = "xenode" organ_tag = O_RESIN + + +/obj/item/organ/internal/xenos/resinspinner/grey + icon_state = "xenode_grey" + +/obj/item/organ/internal/xenos/resinspinner/grey/colormatch/New() + ..() + var/mob/living/carbon/human/H = null + spawn(15) + if(ishuman(owner)) + H = owner + color = H.species.blood_color diff --git a/code/modules/xenoarcheaology/misc.dm b/code/modules/xenoarcheaology/misc.dm index c85c89ee492..0f51e4fd773 100644 --- a/code/modules/xenoarcheaology/misc.dm +++ b/code/modules/xenoarcheaology/misc.dm @@ -41,8 +41,8 @@ /obj/structure/bookcase/manuals/xenoarchaeology name = "Xenoarchaeology Manuals bookcase" -/obj/structure/bookcase/manuals/xenoarchaeology/New() - ..() +/obj/structure/bookcase/manuals/xenoarchaeology/initialize() + . = ..() new /obj/item/weapon/book/manual/excavation(src) new /obj/item/weapon/book/manual/mass_spectrometry(src) new /obj/item/weapon/book/manual/materials_chemistry_analysis(src) @@ -53,23 +53,22 @@ /obj/structure/closet/secure_closet/xenoarchaeologist name = "Xenoarchaeologist Locker" - req_access = list(access_tox_storage) icon_state = "secureres1" icon_closed = "secureres" icon_locked = "secureres1" icon_opened = "secureresopen" icon_broken = "secureresbroken" icon_off = "secureresoff" + req_access = list(access_tox_storage) -/obj/structure/closet/secure_closet/xenoarchaeologist/New() - ..() - new /obj/item/clothing/under/rank/scientist(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/glasses/science(src) - new /obj/item/device/radio/headset/headset_sci(src) - new /obj/item/weapon/storage/belt/archaeology(src) - new /obj/item/weapon/storage/excavation(src) + starts_with = list( + /obj/item/clothing/under/rank/scientist, + /obj/item/clothing/suit/storage/toggle/labcoat, + /obj/item/clothing/shoes/white, + /obj/item/clothing/glasses/science, + /obj/item/device/radio/headset/headset_sci, + /obj/item/weapon/storage/belt/archaeology, + /obj/item/weapon/storage/excavation) /obj/structure/closet/excavation name = "Excavation tools" @@ -77,23 +76,22 @@ icon_closed = "toolcloset" icon_opened = "toolclosetopen" -/obj/structure/closet/excavation/New() - ..() - new /obj/item/weapon/storage/belt/archaeology(src) - new /obj/item/weapon/storage/excavation(src) - new /obj/item/device/flashlight/lantern(src) - new /obj/item/device/ano_scanner(src) - new /obj/item/device/depth_scanner(src) - new /obj/item/device/core_sampler(src) - new /obj/item/device/gps(src) - new /obj/item/device/beacon_locator(src) - new /obj/item/device/radio/beacon(src) - new /obj/item/clothing/glasses/meson(src) - new /obj/item/weapon/pickaxe(src) - new /obj/item/device/measuring_tape(src) - new /obj/item/weapon/pickaxe/hand(src) - new /obj/item/weapon/storage/bag/fossils(src) - new /obj/item/weapon/hand_labeler(src) + starts_with = list( + /obj/item/weapon/storage/belt/archaeology, + /obj/item/weapon/storage/excavation, + /obj/item/device/flashlight/lantern, + /obj/item/device/ano_scanner, + /obj/item/device/depth_scanner, + /obj/item/device/core_sampler, + /obj/item/device/gps, + /obj/item/device/beacon_locator, + /obj/item/device/radio/beacon, + /obj/item/clothing/glasses/meson, + /obj/item/weapon/pickaxe, + /obj/item/device/measuring_tape, + /obj/item/weapon/pickaxe/hand, + /obj/item/weapon/storage/bag/fossils, + /obj/item/weapon/hand_labeler) /obj/machinery/alarm/isolation req_one_access = list(access_research, access_atmospherics, access_engine_equip) diff --git a/code/unit_tests/map_tests.dm b/code/unit_tests/map_tests.dm index 79c60fd6fe3..5950743cf6a 100644 --- a/code/unit_tests/map_tests.dm +++ b/code/unit_tests/map_tests.dm @@ -112,11 +112,15 @@ /datum/unit_test/active_edges/start_test() var/active_edges = air_master.active_edges.len + var/list/edge_log = list() + if(active_edges) + for(var/connection_edge/E in air_master.active_edges) + edge_log += "Active Edge [E] ([E.type])" + for(var/turf/T in E.connecting_turfs) + edge_log += "+--- Connecting Turf [T] @ [T.x], [T.y], [T.z]" if(active_edges) - for(var/line in air_master.startup_active_edge_log) // Report where the edges are. - log_unit_test(line) - fail("Maps contained [active_edges] active edges at round-start.") + fail("Maps contained [active_edges] active edges at round-start.\n" + edge_log.Join("\n")) else pass("No active edges.") diff --git a/html/changelogs/Anewbe - Merc PoIs.yml b/html/changelogs/Anewbe - Merc PoIs.yml new file mode 100644 index 00000000000..464052961f8 --- /dev/null +++ b/html/changelogs/Anewbe - Merc PoIs.yml @@ -0,0 +1,39 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Anewbe + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Merc mobs in PoIs no longer drop gear. This is to help us balance the PoIs that contain them, and by extension every other PoI." + - tweak: "Merc mobs have been shuffled around in their PoIs. At some point, this may actually be randomized, but for now, expect slightly different placements." + - rscadd: "Adds a laser rifle and ion rifle version of the Merc mob, for variety." + - tweak: "PoI turrets are lethal again, and will likely shoot crawlers." diff --git a/html/changelogs/Mechoid - EventBox.yml b/html/changelogs/Mechoid - EventBox.yml new file mode 100644 index 00000000000..0cfd1dc7f1a --- /dev/null +++ b/html/changelogs/Mechoid - EventBox.yml @@ -0,0 +1,7 @@ + +author: Mechoid + +delete-after: True + +changes: + - rscadd: "Added some background things for Events." diff --git a/html/changelogs/Mechoid - Seedvendorhack.yml b/html/changelogs/Mechoid - Seedvendorhack.yml new file mode 100644 index 00000000000..e115c57fa84 --- /dev/null +++ b/html/changelogs/Mechoid - Seedvendorhack.yml @@ -0,0 +1,7 @@ + +author: Mechoid + +delete-after: True + +changes: + - rscadd: "Seed Storage Vendors are now hackable. Can choose from various lists of concerning plants." diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 7716fd30328..e503b0d1b9c 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/mob/spacesuit.dmi b/icons/mob/spacesuit.dmi new file mode 100644 index 00000000000..42184eff115 Binary files /dev/null and b/icons/mob/spacesuit.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index c75364ed562..f31ee294903 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/suit_2.dmi b/icons/mob/suit_2.dmi deleted file mode 100644 index 863e0111c7a..00000000000 Binary files a/icons/mob/suit_2.dmi and /dev/null differ diff --git a/icons/obj/clothing/spacesuits.dmi b/icons/obj/clothing/spacesuits.dmi new file mode 100644 index 00000000000..1be8028b74a Binary files /dev/null and b/icons/obj/clothing/spacesuits.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index ab8812741a3..d45dac6e1ff 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/suits_2.dmi b/icons/obj/clothing/suits_2.dmi deleted file mode 100644 index 2f9d40812a0..00000000000 Binary files a/icons/obj/clothing/suits_2.dmi and /dev/null differ diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index 3b88c088e98..1bd5df7f9a2 100644 Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ diff --git a/icons/turf/wall_masks.dmi b/icons/turf/wall_masks.dmi index 64d17ff86bc..bda615cd5c5 100644 Binary files a/icons/turf/wall_masks.dmi and b/icons/turf/wall_masks.dmi differ diff --git a/maps/southern_cross/structures/closets/engineering.dm b/maps/southern_cross/structures/closets/engineering.dm index db28e6573e8..a80fa8eec82 100644 --- a/maps/southern_cross/structures/closets/engineering.dm +++ b/maps/southern_cross/structures/closets/engineering.dm @@ -5,33 +5,33 @@ /obj/structure/closet/secure_closet/engineering_chief_wardrobe name = "chief engineer's wardrobe" - req_access = list(access_ce) icon_state = "securece1" icon_closed = "securece" icon_locked = "securece1" icon_opened = "secureceopen" icon_broken = "securecebroken" icon_off = "secureceoff" + req_access = list(access_ce) + starts_with = list( + /obj/item/clothing/under/rank/chief_engineer, + /obj/item/clothing/under/rank/chief_engineer/skirt, + /obj/item/clothing/head/hardhat/white, + /obj/item/clothing/shoes/brown, + /obj/item/weapon/cartridge/ce, + /obj/item/device/radio/headset/heads/ce, + /obj/item/device/radio/headset/heads/ce/alt, + /obj/item/clothing/suit/storage/hazardvest, + /obj/item/clothing/mask/gas, + /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/taperoll/engineering, + /obj/item/clothing/suit/storage/hooded/wintercoat/engineering) -/obj/structure/closet/secure_closet/engineering_chief_wardrobe/New() - ..() +/obj/structure/closet/secure_closet/engineering_chief_wardrobe/initialize() if(prob(50)) - new /obj/item/weapon/storage/backpack/industrial(src) + starts_with += /obj/item/weapon/storage/backpack/industrial else - new /obj/item/weapon/storage/backpack/satchel/eng(src) + starts_with += /obj/item/weapon/storage/backpack/satchel/eng if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/eng(src) - new /obj/item/clothing/under/rank/chief_engineer(src) - new /obj/item/clothing/under/rank/chief_engineer/skirt(src) - new /obj/item/clothing/head/hardhat/white(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/weapon/cartridge/ce(src) - new /obj/item/device/radio/headset/heads/ce(src) - new /obj/item/device/radio/headset/heads/ce/alt(src) - new /obj/item/clothing/suit/storage/hazardvest(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/taperoll/engineering(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) - return \ No newline at end of file + starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng + return ..() diff --git a/maps/southern_cross/structures/closets/medical.dm b/maps/southern_cross/structures/closets/medical.dm index d94f6665567..2b59597d332 100644 --- a/maps/southern_cross/structures/closets/medical.dm +++ b/maps/southern_cross/structures/closets/medical.dm @@ -5,46 +5,47 @@ /obj/structure/closet/secure_closet/CMO_wardrobe name = "chief medical officer's locker" - req_access = list(access_cmo) icon_state = "cmosecure1" icon_closed = "cmosecure" icon_locked = "cmosecure1" icon_opened = "cmosecureopen" icon_broken = "cmosecurebroken" icon_off = "cmosecureoff" + req_access = list(access_cmo) -/obj/structure/closet/secure_closet/CMO_wardrobe/New() - ..() + starts_with = list( + /obj/item/clothing/under/rank/chief_medical_officer, + /obj/item/clothing/under/rank/chief_medical_officer/skirt, + /obj/item/clothing/suit/storage/toggle/labcoat/cmo, + /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt, + /obj/item/weapon/cartridge/cmo, + /obj/item/clothing/gloves/sterile/latex, + /obj/item/clothing/shoes/brown, + /obj/item/device/radio/headset/heads/cmo, + /obj/item/clothing/suit/storage/hooded/wintercoat/medical, + /obj/item/clothing/shoes/white) + +/obj/structure/closet/secure_closet/CMO_wardrobe/initialize() if(prob(50)) - new /obj/item/weapon/storage/backpack/medic(src) + starts_with += /obj/item/weapon/storage/backpack/medic else - new /obj/item/weapon/storage/backpack/satchel/med(src) + starts_with += /obj/item/weapon/storage/backpack/satchel/med if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/med(src) - new /obj/item/clothing/shoes/white(src) + starts_with += /obj/item/weapon/storage/backpack/dufflebag/med switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") - new /obj/item/clothing/under/rank/medical/scrubs(src) - new /obj/item/clothing/head/surgery/blue(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs + starts_with += /obj/item/clothing/head/surgery/blue if ("green") - new /obj/item/clothing/under/rank/medical/scrubs/green(src) - new /obj/item/clothing/head/surgery/green(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/green + starts_with += /obj/item/clothing/head/surgery/green if ("purple") - new /obj/item/clothing/under/rank/medical/scrubs/purple(src) - new /obj/item/clothing/head/surgery/purple(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple + starts_with += /obj/item/clothing/head/surgery/purple if ("black") - new /obj/item/clothing/under/rank/medical/scrubs/black(src) - new /obj/item/clothing/head/surgery/black(src) + starts_with += /obj/item/clothing/under/rank/medical/scrubs/black + starts_with += /obj/item/clothing/head/surgery/black if ("navyblue") - new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) - new /obj/item/clothing/head/surgery/navyblue(src) - new /obj/item/clothing/under/rank/chief_medical_officer(src) - new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src) - new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src) - new /obj/item/weapon/cartridge/cmo(src) - new /obj/item/clothing/gloves/sterile/latex(src) - new /obj/item/clothing/shoes/brown (src) - new /obj/item/device/radio/headset/heads/cmo(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) - return \ No newline at end of file + starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue + starts_with += /obj/item/clothing/head/surgery/navyblue + return ..() diff --git a/maps/southern_cross/structures/closets/misc.dm b/maps/southern_cross/structures/closets/misc.dm index 5472e786b1b..e5dbea9ace9 100644 --- a/maps/southern_cross/structures/closets/misc.dm +++ b/maps/southern_cross/structures/closets/misc.dm @@ -4,41 +4,33 @@ name = "emergency weapon cabinet" req_one_access = list(access_armory,access_captain) -/obj/structure/closet/secure_closet/guncabinet/sidearm/New() - ..() - for(var/i = 1 to 4) - new /obj/item/weapon/gun/energy/gun(src) - return + 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) -/obj/structure/closet/secure_closet/guncabinet/rifle/New() - ..() - for(var/i = 1 to 9) - new /obj/item/ammo_magazine/clip/c762/hunter(src) + starts_with = list( + /obj/item/ammo_magazine/clip/c762/hunter = 9, + /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 2) + +/obj/structure/closet/secure_closet/guncabinet/rifle/initialize() if(prob(85)) - new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src) + starts_with += /obj/item/weapon/gun/projectile/shotgun/pump/rifle else - new /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever(src) - new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src) - new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src) - return + starts_with += /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever + return ..() /obj/structure/closet/secure_closet/guncabinet/phase name = "phase pistol cabinet" req_one_access = list(access_explorer,access_brig) -/obj/structure/closet/secure_closet/guncabinet/phase/New() - ..() - new /obj/item/weapon/gun/energy/phasegun(src) - new /obj/item/weapon/gun/energy/phasegun(src) - // One spare cell per gun - new /obj/item/weapon/cell/device/weapon(src) - new /obj/item/weapon/cell/device/weapon(src) - // One spare gun permit per locker - new /obj/item/clothing/accessory/permit/gun/planetside(src) + starts_with = list( + /obj/item/weapon/gun/energy/phasegun = 2, + /obj/item/weapon/cell/device/weapon = 2, + /obj/item/clothing/accessory/permit/gun/planetside) //Explorer Lockers @@ -55,31 +47,37 @@ //VOREStation Add end req_access = list(access_explorer) -/obj/structure/closet/secure_closet/explorer/New() - ..() + starts_with = list( + /obj/item/clothing/under/explorer, + /obj/item/clothing/suit/storage/hooded/explorer, + /obj/item/clothing/mask/gas/explorer, + /obj/item/clothing/shoes/boots/winter/explorer, + /obj/item/clothing/gloves/black, + /obj/item/device/radio/headset/explorer, + /obj/item/device/flashlight, + /obj/item/device/gps/explorer, + /obj/item/weapon/storage/box/flare, + /obj/item/device/geiger, + /obj/item/weapon/cell/device, + /obj/item/device/radio, + /obj/item/stack/marker_beacon/thirty, + /obj/item/weapon/material/knife/tacknife/survival, //VOREStation Add, + /obj/item/weapon/material/knife/machete, //VOREStation Add, + /obj/item/clothing/accessory/holster/machete, //VOREStation Add, + /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 2) //VOREStation Add + +/obj/structure/closet/secure_closet/explorer/initialize() if(prob(50)) - new /obj/item/weapon/storage/backpack(src) + starts_with += /obj/item/weapon/storage/backpack else - new /obj/item/weapon/storage/backpack/satchel/norm(src) - new /obj/item/weapon/material/knife/tacknife/survival(src) //VOREStation Edit - new /obj/item/weapon/material/knife/machete(src) //VOREStation Edit - new /obj/item/clothing/accessory/holster/machete(src) //VOREStation Edit - new /obj/item/clothing/under/explorer(src) - new /obj/item/clothing/suit/storage/hooded/explorer(src) - new /obj/item/clothing/mask/gas/explorer(src) - new /obj/item/clothing/shoes/boots/winter/explorer(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/device/radio/headset/explorer(src) - new /obj/item/device/flashlight(src) - new /obj/item/device/gps/explorer(src) - new /obj/item/weapon/storage/box/flare(src) - new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src) //VOREStation Add - new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src) //VOREStation Add - new /obj/item/device/geiger(src) - new /obj/item/weapon/cell/device(src) - new /obj/item/device/radio(src) - new /obj/item/stack/marker_beacon/thirty(src) - return + starts_with += /obj/item/weapon/storage/backpack/satchel/norm + /* VOREStation Removal - Always give both + if(prob(75)) + starts_with += /obj/item/weapon/material/knife/tacknife/survival + else + starts_with += /obj/item/weapon/material/knife/machete + */ //VOREStation Removal End + return ..() //SAR Lockers @@ -94,35 +92,32 @@ icon_off = "medicaloff" req_access = list(access_medical_equip) - -/obj/structure/closet/secure_closet/sar/New() - ..() - new /obj/item/weapon/storage/backpack/dufflebag/emt(src) - new /obj/item/weapon/storage/box/autoinjectors(src) - new /obj/item/weapon/storage/box/syringes(src) - new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src) - new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src) - new /obj/item/weapon/storage/belt/medical/emt(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar(src) - new /obj/item/clothing/shoes/boots/winter/explorer(src) - new /obj/item/device/radio/headset/sar(src) - new /obj/item/weapon/cartridge/medical(src) - new /obj/item/device/flashlight(src) - new /obj/item/weapon/tank/emergency/oxygen/engi(src) - new /obj/item/clothing/glasses/hud/health(src) - new /obj/item/device/healthanalyzer(src) - new /obj/item/device/radio/off(src) - new /obj/random/medical(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/extinguisher/mini(src) - new /obj/item/weapon/storage/box/freezer(src) - new /obj/item/clothing/accessory/storage/white_vest(src) - new /obj/item/taperoll/medical(src) - new /obj/item/device/gps(src) - new /obj/item/device/geiger(src) - new /obj/item/bodybag/cryobag(src) - return + starts_with = list( + /obj/item/weapon/storage/backpack/dufflebag/emt, + /obj/item/weapon/storage/box/autoinjectors, + /obj/item/weapon/storage/box/syringes, + /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, + /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, + /obj/item/weapon/storage/belt/medical/emt, + /obj/item/clothing/mask/gas, + /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar, + /obj/item/clothing/shoes/boots/winter/explorer, + /obj/item/device/radio/headset/sar, + /obj/item/weapon/cartridge/medical, + /obj/item/device/flashlight, + /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/clothing/glasses/hud/health, + /obj/item/device/healthanalyzer, + /obj/item/device/radio/off, + /obj/random/medical, + /obj/item/weapon/crowbar, + /obj/item/weapon/extinguisher/mini, + /obj/item/weapon/storage/box/freezer, + /obj/item/clothing/accessory/storage/white_vest, + /obj/item/taperoll/medical, + /obj/item/device/gps, + /obj/item/device/geiger, + /obj/item/bodybag/cryobag) //Pilot Locker @@ -130,28 +125,29 @@ name = "pilot locker" req_access = list(access_pilot) -/obj/structure/closet/secure_closet/pilot/New() - ..() + starts_with = list( + /obj/item/weapon/storage/backpack/parachute, + /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/clothing/head/pilot, + /obj/item/clothing/under/rank/pilot1, + /obj/item/clothing/suit/storage/toggle/bomber/pilot, + /obj/item/clothing/mask/gas/half, + /obj/item/clothing/shoes/black, + /obj/item/clothing/gloves/fingerless, + /obj/item/device/radio/headset/pilot/alt, + /obj/item/device/flashlight, + /obj/item/weapon/reagent_containers/food/snacks/liquidfood, + /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/weapon/storage/box/flare, + /obj/item/weapon/cell/device, + /obj/item/device/radio) + +/obj/structure/closet/secure_closet/pilot/initialize() if(prob(50)) - new /obj/item/weapon/storage/backpack(src) + starts_with += /obj/item/weapon/storage/backpack else - new /obj/item/weapon/storage/backpack/satchel/norm(src) - new /obj/item/weapon/storage/backpack/parachute(src) - new /obj/item/weapon/material/knife/tacknife/survival(src) - new /obj/item/clothing/head/pilot(src) - new /obj/item/clothing/under/rank/pilot1(src) - new /obj/item/clothing/suit/storage/toggle/bomber/pilot(src) - new /obj/item/clothing/mask/gas/half(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/gloves/fingerless(src) - new /obj/item/device/radio/headset/pilot/alt(src) - new /obj/item/device/flashlight(src) - new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src) - new /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle(src) - new /obj/item/weapon/storage/box/flare(src) - new /obj/item/weapon/cell/device(src) - new /obj/item/device/radio(src) - return + starts_with += /obj/item/weapon/storage/backpack/satchel/norm + return ..() //Exotic Seeds Crate @@ -159,14 +155,10 @@ name = "exotic seeds crate" desc = "All you need to destroy that pesky planet." -/obj/structure/closet/crate/hydroponics/exotic/New() - ..() - for(var/i = 1 to 6) - new /obj/item/seeds/random(src) - new /obj/item/seeds/kudzuseed(src) - new /obj/item/seeds/replicapod(src) - new /obj/item/seeds/replicapod(src) - new /obj/item/seeds/ambrosiavulgarisseed(src) - new /obj/item/seeds/ambrosiavulgarisseed(src) - new /obj/item/seeds/libertymycelium(src) - new /obj/item/seeds/reishimycelium(src) \ No newline at end of file + starts_with = list( + /obj/item/seeds/random = 6, + /obj/item/seeds/replicapod = 2, + /obj/item/seeds/ambrosiavulgarisseed = 2, + /obj/item/seeds/kudzuseed, + /obj/item/seeds/libertymycelium, + /obj/item/seeds/reishimycelium) diff --git a/maps/southern_cross/structures/closets/research.dm b/maps/southern_cross/structures/closets/research.dm index 12d7c1d6865..6630706df9f 100644 --- a/maps/southern_cross/structures/closets/research.dm +++ b/maps/southern_cross/structures/closets/research.dm @@ -5,23 +5,21 @@ /obj/structure/closet/secure_closet/RD_wardrobe name = "research director's locker" - req_access = list(access_rd) icon_state = "rdsecure1" icon_closed = "rdsecure" icon_locked = "rdsecure1" icon_opened = "rdsecureopen" icon_broken = "rdsecurebroken" icon_off = "rdsecureoff" + req_access = list(access_rd) -/obj/structure/closet/secure_closet/RD_wardrobe/New() - ..() - new /obj/item/clothing/under/rank/research_director(src) - new /obj/item/clothing/under/rank/research_director/rdalt(src) - new /obj/item/clothing/under/rank/research_director/dress_rd(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) - new /obj/item/weapon/cartridge/rd(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/leather(src) - new /obj/item/clothing/gloves/sterile/latex(src) - new /obj/item/device/radio/headset/heads/rd(src) - return \ No newline at end of file + starts_with = list( + /obj/item/clothing/under/rank/research_director, + /obj/item/clothing/under/rank/research_director/rdalt, + /obj/item/clothing/under/rank/research_director/dress_rd, + /obj/item/clothing/suit/storage/toggle/labcoat, + /obj/item/weapon/cartridge/rd, + /obj/item/clothing/shoes/white, + /obj/item/clothing/shoes/leather, + /obj/item/clothing/gloves/sterile/latex, + /obj/item/device/radio/headset/heads/rd) diff --git a/maps/southern_cross/structures/closets/security.dm b/maps/southern_cross/structures/closets/security.dm index fd1263cf8eb..314e5a07b9d 100644 --- a/maps/southern_cross/structures/closets/security.dm +++ b/maps/southern_cross/structures/closets/security.dm @@ -5,32 +5,33 @@ /obj/structure/closet/secure_closet/hos_wardrobe name = "head of security's locker" - req_access = list(access_hos) icon_state = "hossecure1" icon_closed = "hossecure" icon_locked = "hossecure1" icon_opened = "hossecureopen" icon_broken = "hossecurebroken" icon_off = "hossecureoff" + req_access = list(access_hos) -/obj/structure/closet/secure_closet/hos_wardrobe/New() - ..() + starts_with = list( + /obj/item/clothing/under/rank/head_of_security/jensen, + /obj/item/clothing/under/rank/head_of_security/corp, + /obj/item/clothing/suit/storage/vest/hoscoat/jensen, + /obj/item/clothing/suit/storage/vest/hoscoat, + /obj/item/weapon/cartridge/hos, + /obj/item/device/radio/headset/heads/hos, + /obj/item/clothing/glasses/sunglasses/sechud, + /obj/item/weapon/storage/box/holobadge/hos, + /obj/item/clothing/accessory/badge/holo/hos, + /obj/item/clothing/accessory/holster/waist, + /obj/item/clothing/head/beret/sec/corporate/hos, + /obj/item/clothing/mask/gas/half) + +/obj/structure/closet/secure_closet/hos_wardrobe/initialize() if(prob(50)) - new /obj/item/weapon/storage/backpack/security(src) + starts_with += /obj/item/weapon/storage/backpack/security else - new /obj/item/weapon/storage/backpack/satchel/sec(src) + starts_with += /obj/item/weapon/storage/backpack/satchel/sec if(prob(50)) - new /obj/item/weapon/storage/backpack/dufflebag/sec(src) - new /obj/item/clothing/under/rank/head_of_security/jensen(src) - new /obj/item/clothing/under/rank/head_of_security/corp(src) - new /obj/item/clothing/suit/storage/vest/hoscoat/jensen(src) - new /obj/item/clothing/suit/storage/vest/hoscoat(src) - new /obj/item/weapon/cartridge/hos(src) - new /obj/item/device/radio/headset/heads/hos(src) - new /obj/item/clothing/glasses/sunglasses/sechud(src) - new /obj/item/weapon/storage/box/holobadge/hos(src) - new /obj/item/clothing/accessory/badge/holo/hos(src) - new /obj/item/clothing/accessory/holster/waist(src) - new /obj/item/clothing/head/beret/sec/corporate/hos(src) - new /obj/item/clothing/mask/gas/half(src) - return \ No newline at end of file + starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec + return ..() diff --git a/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm b/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm index e98d034fa79..479bc4e523c 100644 --- a/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm +++ b/maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm @@ -1,159 +1,2083 @@ -"aa" = (/turf/template_noop,/area/template_noop) -"ab" = (/turf/template_noop,/area/submap/Blackshuttledown) -"ac" = (/obj/effect/decal/remains/human,/turf/template_noop,/area/submap/Blackshuttledown) -"ad" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Blackshuttledown) -"ae" = (/obj/effect/decal/cleanable/blood,/turf/template_noop,/area/submap/Blackshuttledown) -"af" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Blackshuttledown) -"ag" = (/obj/structure/table/steel,/turf/template_noop,/area/submap/Blackshuttledown) -"ah" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual"; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/template_noop,/area/submap/Blackshuttledown) -"ai" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark6"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) -"aj" = (/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) -"ak" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark10"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) -"al" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/shuttle/wall/dark{icon_state = "dark0"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) -"am" = (/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/template_noop,/area/submap/Blackshuttledown) -"an" = (/obj/machinery/light{dir = 1},/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ao" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ap" = (/obj/machinery/door/airlock/external{density = 1; frequency = 1331; id_tag = "merc_shuttle_outer"; name = "Ship External Access"; req_access = list(150)},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aq" = (/obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 9},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"ar" = (/obj/machinery/gibber,/obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"as" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"at" = (/obj/machinery/bodyscanner{dir = 8},/obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"au" = (/obj/machinery/body_scanconsole,/obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"av" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) -"aw" = (/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"ax" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/automatic/wt550,/obj/item/weapon/gun/projectile/automatic/p90,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"ay" = (/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"az" = (/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aA" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aB" = (/obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 8},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aC" = (/obj/machinery/optable,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aD" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aE" = (/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aF" = (/obj/machinery/organ_printer/flesh,/obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aG" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) -"aH" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark6"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) -"aI" = (/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"aJ" = (/obj/structure/table/steel,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"aK" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aL" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aM" = (/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aN" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aO" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual"; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aP" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aQ" = (/obj/structure/table/steel,/obj/effect/floor_decal/borderfloor/full,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aR" = (/obj/structure/table/steel,/obj/item/weapon/grenade/smokebomb,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"aS" = (/obj/effect/floor_decal/borderfloor/corner,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aT" = (/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"aV" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/surgery,/obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aW" = (/obj/structure/table/standard,/obj/item/weapon/tank/anesthetic,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aX" = (/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aY" = (/obj/structure/table/standard,/obj/item/clothing/gloves/sterile,/obj/item/clothing/gloves/sterile,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"aZ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/item/weapon/reagent_containers/spray/sterilizine,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"ba" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/masks,/obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 6},/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"bb" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bc" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bd" = (/obj/machinery/door/airlock/security{locked = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"be" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/white,/area/submap/Blackshuttledown) -"bf" = (/turf/simulated/floor/tiled/steel,/turf/simulated/shuttle/wall/dark{icon_state = "dark10"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) -"bg" = (/obj/machinery/computer/communications,/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bh" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bi" = (/obj/effect/floor_decal/borderfloor{dir = 9},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bj" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bk" = (/obj/structure/table/steel,/obj/item/weapon/material/knife,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bl" = (/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bm" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bn" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual"; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bo" = (/obj/structure/table/steel,/obj/random/toolbox,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) -"bp" = (/obj/structure/table/steel,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) -"bq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) -"br" = (/obj/structure/table/steel,/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bs" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bu" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bv" = (/obj/structure/table/steel,/obj/random/projectile,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) -"bw" = (/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) -"bx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) -"by" = (/obj/machinery/door/airlock/glass,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bz" = (/obj/effect/floor_decal/corner/grey,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bA" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bB" = (/obj/structure/table/steel,/obj/item/pizzabox,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bC" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bD" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bE" = (/obj/machinery/door/airlock/glass,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bF" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/submap/Blackshuttledown) -"bH" = (/obj/machinery/power/apc{dir = 8; name = "BSD APC"; pixel_x = -24},/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) -"bI" = (/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual"; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) -"bJ" = (/obj/machinery/computer/area_atmos,/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bK" = (/obj/effect/floor_decal/borderfloor{dir = 4},/mob/living/simple_animal/hostile/syndicate/ranged{desc = "Dosen't look friendly in the slightest."; name = "Unknown Individual"; say_got_target = list("Looks like trouble!","Contact!","We've got company!","Perimeter Breached!!"); speak = list("One day the'll fix that damn engine..","Next time, We're hidding on the tropical beach planet.","Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Hate this blocky ass ship.")},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bL" = (/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bM" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bN" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; name = "Operation Progress/M-53"},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bO" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bP" = (/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bQ" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) -"bR" = (/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) -"bS" = (/obj/machinery/atmospherics/pipe/tank/oxygen,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/yellow,/area/submap/Blackshuttledown) -"bT" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bU" = (/obj/structure/bed/chair/office/dark,/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bV" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"bW" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bX" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bY" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"bZ" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) -"ca" = (/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) -"cb" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"cc" = (/obj/structure/table/steel,/obj/item/weapon/gun/projectile/pistol,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"cd" = (/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ce" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/bed,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"cf" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) -"cg" = (/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"ch" = (/obj/structure/table/steel,/obj/random/energy,/turf/simulated/floor/tiled/steel_grid,/area/submap/Blackshuttledown) -"ci" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/tiled/hydro,/area/submap/Blackshuttledown) -"cj" = (/obj/machinery/light,/obj/structure/table/rack,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/effect/floor_decal/borderfloor{dir = 10},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"ck" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/borderfloor{dir = 6},/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"cl" = (/obj/structure/table/woodentable,/obj/random/projectile,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"cm" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"cn" = (/obj/structure/table/woodentable,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"co" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/tiled/steel,/area/submap/Blackshuttledown) -"cp" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark5"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) -"cq" = (/turf/template_noop,/turf/simulated/shuttle/wall/dark{icon_state = "dark9"; name = "Unknown Shuttle"},/area/submap/Blackshuttledown) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/template_noop, +/area/submap/Blackshuttledown) +"ac" = ( +/obj/effect/decal/remains/human, +/turf/template_noop, +/area/submap/Blackshuttledown) +"ad" = ( +/turf/simulated/mineral/ignore_mapgen, +/area/submap/Blackshuttledown) +"ae" = ( +/obj/effect/decal/cleanable/blood, +/turf/template_noop, +/area/submap/Blackshuttledown) +"af" = ( +/obj/structure/flora/tree/sif, +/turf/template_noop, +/area/submap/Blackshuttledown) +"ag" = ( +/obj/structure/table/steel, +/turf/template_noop, +/area/submap/Blackshuttledown) +"ah" = ( +/mob/living/simple_animal/hostile/syndicate/ranged/poi, +/turf/template_noop, +/area/submap/Blackshuttledown) +"ai" = ( +/turf/template_noop, +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark6"; + name = "Unknown Shuttle" + }, +/area/submap/Blackshuttledown) +"aj" = ( +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark0"; + name = "Unknown Shuttle" + }, +/area/submap/Blackshuttledown) +"ak" = ( +/turf/template_noop, +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark10"; + name = "Unknown Shuttle" + }, +/area/submap/Blackshuttledown) +"al" = ( +/obj/structure/shuttle/engine/heater{ + icon_state = "heater"; + dir = 4 + }, +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark0"; + name = "Unknown Shuttle" + }, +/area/submap/Blackshuttledown) +"am" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 4; + icon_state = "propulsion_l" + }, +/turf/template_noop, +/area/submap/Blackshuttledown) +"an" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/rack, +/obj/item/clothing/head/helmet/space, +/obj/item/clothing/head/helmet/space, +/obj/item/clothing/head/helmet/space, +/obj/item/clothing/head/helmet/space, +/obj/item/clothing/suit/space, +/obj/item/clothing/suit/space, +/obj/item/clothing/suit/space, +/obj/item/clothing/suit/space, +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"ao" = ( +/obj/structure/dispenser/oxygen, +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"ap" = ( +/obj/machinery/door/airlock/external{ + density = 1; + frequency = 1331; + id_tag = "merc_shuttle_outer"; + name = "Ship External Access"; + req_access = list(150) + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"aq" = ( +/obj/effect/floor_decal/corner/green/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"ar" = ( +/obj/machinery/gibber, +/obj/effect/floor_decal/corner/green/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"as" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/corner/green/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"at" = ( +/obj/machinery/bodyscanner{ + dir = 8 + }, +/obj/effect/floor_decal/corner/green/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"au" = ( +/obj/machinery/body_scanconsole, +/obj/effect/floor_decal/corner/green/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"av" = ( +/turf/simulated/floor/tiled/steel, +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark5"; + name = "Unknown Shuttle" + }, +/area/submap/Blackshuttledown) +"aw" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/submap/Blackshuttledown) +"ax" = ( +/obj/structure/table/steel, +/obj/item/weapon/gun/projectile/automatic/wt550, +/obj/item/weapon/gun/projectile/automatic/p90, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/Blackshuttledown) +"ay" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"az" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"aA" = ( +/obj/machinery/door/airlock/external, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"aB" = ( +/obj/effect/floor_decal/corner/green/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aC" = ( +/obj/machinery/optable, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aD" = ( +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aE" = ( +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aF" = ( +/obj/machinery/organ_printer/flesh, +/obj/effect/floor_decal/corner/green/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aG" = ( +/turf/simulated/floor/tiled/steel, +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark9"; + name = "Unknown Shuttle" + }, +/area/submap/Blackshuttledown) +"aH" = ( +/turf/simulated/floor/tiled/steel, +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark6"; + name = "Unknown Shuttle" + }, +/area/submap/Blackshuttledown) +"aI" = ( +/mob/living/simple_animal/hostile/viscerator, +/mob/living/simple_animal/hostile/viscerator, +/mob/living/simple_animal/hostile/viscerator, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/Blackshuttledown) +"aJ" = ( +/obj/structure/table/steel, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/Blackshuttledown) +"aK" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"aL" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"aM" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"aN" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aO" = ( +/mob/living/simple_animal/hostile/syndicate/melee/poi, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aP" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/obj/effect/floor_decal/corner/green/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aQ" = ( +/obj/structure/table/steel, +/obj/effect/floor_decal/borderfloor/full, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"aR" = ( +/obj/structure/table/steel, +/obj/item/weapon/grenade/smokebomb, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/Blackshuttledown) +"aS" = ( +/obj/effect/floor_decal/borderfloor/corner, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"aT" = ( +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"aU" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"aV" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/firstaid/surgery, +/obj/effect/floor_decal/corner/green/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aW" = ( +/obj/structure/table/standard, +/obj/item/weapon/tank/anesthetic, +/obj/effect/floor_decal/corner/green/border, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aX" = ( +/obj/effect/floor_decal/corner/green/border, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aY" = ( +/obj/structure/table/standard, +/obj/item/clothing/gloves/sterile, +/obj/item/clothing/gloves/sterile, +/obj/effect/floor_decal/corner/green/border, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"aZ" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/spray/sterilizine, +/obj/item/weapon/reagent_containers/spray/sterilizine, +/obj/effect/floor_decal/corner/green/border, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"ba" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/box/masks, +/obj/effect/floor_decal/corner/green/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"bb" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bc" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bd" = ( +/obj/machinery/door/airlock/security{ + locked = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"be" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/white, +/area/submap/Blackshuttledown) +"bf" = ( +/turf/simulated/floor/tiled/steel, +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark10"; + name = "Unknown Shuttle" + }, +/area/submap/Blackshuttledown) +"bg" = ( +/obj/machinery/computer/communications, +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bh" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bi" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bj" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bk" = ( +/obj/structure/table/steel, +/obj/item/weapon/material/knife, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bl" = ( +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bm" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bn" = ( +/mob/living/simple_animal/hostile/syndicate/ranged/poi, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bo" = ( +/obj/structure/table/steel, +/obj/random/toolbox, +/turf/simulated/floor/tiled/yellow, +/area/submap/Blackshuttledown) +"bp" = ( +/obj/structure/table/steel, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/yellow, +/area/submap/Blackshuttledown) +"bq" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/Blackshuttledown) +"br" = ( +/obj/structure/table/steel, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bs" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bt" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bu" = ( +/obj/item/weapon/stool, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bv" = ( +/obj/structure/table/steel, +/obj/random/projectile, +/turf/simulated/floor/tiled/yellow, +/area/submap/Blackshuttledown) +"bw" = ( +/turf/simulated/floor/tiled/yellow, +/area/submap/Blackshuttledown) +"bx" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/submap/Blackshuttledown) +"by" = ( +/obj/machinery/door/airlock/glass, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bz" = ( +/obj/effect/floor_decal/corner/grey, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bA" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bB" = ( +/obj/structure/table/steel, +/obj/item/pizzabox, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bC" = ( +/obj/structure/table/steel, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bD" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bE" = ( +/obj/machinery/door/airlock/glass, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bF" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bG" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/submap/Blackshuttledown) +"bH" = ( +/obj/machinery/power/apc{ + dir = 8; + name = "BSD APC"; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/yellow, +/area/submap/Blackshuttledown) +"bI" = ( +/mob/living/simple_animal/hostile/syndicate/melee/poi, +/turf/simulated/floor/tiled/yellow, +/area/submap/Blackshuttledown) +"bJ" = ( +/obj/machinery/computer/area_atmos, +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bK" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/mob/living/simple_animal/hostile/syndicate/ranged/laser/poi, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bL" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bM" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bN" = ( +/obj/structure/table/steel, +/obj/item/weapon/paper{ + info = "We need to take a short stop. The engine's are in need of minor repairs due to turbulence, should be a week's time. We've got reserve food supplies but pleanty of locale fauna to subsist on too if need be. PCRC is keeping most of there assets near New Reykjavik and locale authorities are more mindful then most to travel in this kind of weather. Our outfit should be at the rendezvous point in less then ten days assuming the upper ecehelon hasn't dropped ties with us yet."; + name = "Operation Progress/M-53" + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bO" = ( +/obj/structure/table/steel, +/obj/item/weapon/paper_bin, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bP" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bQ" = ( +/obj/structure/closet/toolcloset, +/turf/simulated/floor/tiled/yellow, +/area/submap/Blackshuttledown) +"bR" = ( +/obj/machinery/portable_atmospherics/canister/empty/oxygen, +/turf/simulated/floor/tiled/yellow, +/area/submap/Blackshuttledown) +"bS" = ( +/obj/machinery/atmospherics/pipe/tank/oxygen, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/yellow, +/area/submap/Blackshuttledown) +"bT" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bU" = ( +/obj/structure/bed/chair/office/dark, +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bV" = ( +/obj/structure/table/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/Blackshuttledown) +"bW" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bX" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bY" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"bZ" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/tiled/hydro, +/area/submap/Blackshuttledown) +"ca" = ( +/turf/simulated/floor/tiled/hydro, +/area/submap/Blackshuttledown) +"cb" = ( +/mob/living/simple_animal/hostile/viscerator, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/Blackshuttledown) +"cc" = ( +/obj/structure/table/steel, +/obj/item/weapon/gun/projectile/pistol, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/Blackshuttledown) +"cd" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"ce" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet, +/obj/structure/bed, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"cf" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Blackshuttledown) +"cg" = ( +/mob/living/simple_animal/hostile/viscerator, +/mob/living/simple_animal/hostile/viscerator, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/Blackshuttledown) +"ch" = ( +/obj/structure/table/steel, +/obj/random/energy, +/turf/simulated/floor/tiled/steel_grid, +/area/submap/Blackshuttledown) +"ci" = ( +/obj/structure/toilet{ + dir = 1 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Blackshuttledown) +"cj" = ( +/obj/machinery/light, +/obj/structure/table/rack, +/obj/item/clothing/head/helmet/space, +/obj/item/clothing/head/helmet/space, +/obj/item/clothing/head/helmet/space, +/obj/item/clothing/head/helmet/space, +/obj/item/clothing/suit/space, +/obj/item/clothing/suit/space, +/obj/item/clothing/suit/space, +/obj/item/clothing/suit/space, +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"ck" = ( +/obj/structure/dispenser/oxygen, +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"cl" = ( +/obj/structure/table/woodentable, +/obj/random/projectile, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"cm" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet, +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"cn" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"co" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet, +/obj/item/toy/plushie/spider, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"cp" = ( +/turf/template_noop, +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark5"; + name = "Unknown Shuttle" + }, +/area/submap/Blackshuttledown) +"cq" = ( +/turf/template_noop, +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark9"; + name = "Unknown Shuttle" + }, +/area/submap/Blackshuttledown) +"EI" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/mob/living/simple_animal/hostile/syndicate/melee/poi, +/turf/simulated/floor/tiled/steel, +/area/submap/Blackshuttledown) +"SN" = ( +/mob/living/simple_animal/hostile/syndicate/ranged/laser/poi, +/turf/template_noop, +/area/submap/Blackshuttledown) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaabababababacababababababababadadabacabababababacabababababababababaa -aaababababababaeabababababababadadababababababababababababadafababacaa -aaabababababababababababababadadabababafabababafababaeababadadabababaa -aaababafabadadadababababafababababababababababababababababadadabababaa -aaabababababadadadabacababababagagagagagagabababababacabafabadabababaa -aaababababababadadabafababababagahabababagabababababababababababababaa -aaabababababababaiajajajakababagabababahagabababafaiajajajajakabababaa -aaabababababababajajajajajajajajajababajajajajajajajajajajajalamababaa -aaababababafababajajajajajajanaoajapapajaqarasatauajajajajajalamababaa -aaabababababababavajajawaxajayazajaAaAajaBaCaDaEaEaEaFajajaGababababaa -aaabababababababaHajajaIaJajayaKaLaLaMajaBaNaNaEaOaDaPajaGabababababaa -aaabafababababaHajaQajawaRajayaSaTaTaUajaVaWaEaXaYaZbaajababababafabaa -aaabababababaHajbbbcajbdajajayazajajajajajajbeajajajajajbfabababababaa -aaabababababajbgbhazajbiaLaLbhazajbjbkblbmblbnblajbobobpajbfababababaa -aaabababababbqbrblazajbsblblblbtajblblbububublblajbvblblbwalamabababaa -aaabababababbxbrblaKbybhblbzblblbAblblbBbCbCblblbDblblblbwalamabababaa -aaabababababbxbrblaSbEbFblblblblbAblblbCbCbCblblbDblblblbwalamabababaa -aaabababababbGbrblazajbsblblblbtajblblbububublblajbHblblbIalamabababaa -aaabababababajbJbFbKajbLaTaTbFbMajbNbOblbPbnblblajbQbRbSajaGababababaa -aaabababababavajbTbUajbdajajayazajajajajajajbAajajajajajaGabababababaa -aaababababababavajaQajawbVajaybWaLaLbXajbYblblblblbZcaajababababababaa -aaabafabababababavajajcbccajayaSaTaTcdajceblbYblbYajcfajbfabafabababaa -aaabababababababaHajajcgchajaybKajaAaAajbYblbYblbYajciajajbfababababaa -aaabababababababajajajajajajcjckajapapajbYclcmcncoajajajajalamabababaa -aaabababababababajajajajajajajajajababajajajajajajajajajajalamabababaa -aaababafababababcpajajajcqababagahabababagabababcpajajajajcqababababaa -aaabababadabababababafababababagabababahagababafabafabababadadadababaa -aaababadadabacababababafabababagagagagagagababababacababadadadadababaa -aaabadadadabababababababaeababababababababababadadabababadadadadababaa -aaababadadababacabadababababababababababababadadadababababadadabababaa -aaabababababababadadafabababafababababacabadadadafabababababababababaa -aaabababafababadadadababababababababafabadadadadabababababababafababaa -aaabababababababadadabacabababababababababababadaeabacafababababababaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(3,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +af +ab +ab +ab +ab +ab +ab +ab +ab +ab +af +ab +ab +ab +ab +ab +ab +ad +ab +ab +ab +ab +aa +"} +(4,1,1) = {" +aa +ab +ab +ab +af +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +af +ab +ad +ad +ad +ab +ab +ab +aa +"} +(5,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ad +ad +ad +ad +ab +af +ab +aa +"} +(6,1,1) = {" +aa +ab +ab +ab +ad +ab +ab +ab +ab +af +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(7,1,1) = {" +aa +ac +ab +ab +ad +ad +ab +ab +ab +ab +ab +ab +ab +aH +aj +bq +bx +bx +bG +aj +av +ab +ab +ab +ab +ab +ab +ab +ac +ab +ab +ab +ab +ab +aa +"} +(8,1,1) = {" +aa +ab +ae +ab +ad +ad +ad +ab +ab +ab +ab +ab +aH +aj +bg +br +br +br +br +bJ +aj +av +ab +ab +ab +ab +ab +ab +ab +ab +ac +ab +ad +ab +aa +"} +(9,1,1) = {" +aa +ab +ab +ab +ab +ad +ad +ai +aj +aj +av +aH +aj +bb +bh +bl +bl +bl +bl +bF +bT +aj +av +aH +aj +aj +cp +ab +ab +ab +ab +ad +ad +ad +aa +"} +(10,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aQ +bc +az +az +aK +aS +az +bK +bU +aQ +aj +aj +aj +aj +aj +ab +ab +ab +ad +ad +ad +ad +aa +"} +(11,1,1) = {" +aa +ab +ab +ab +ab +ac +af +aj +aj +aj +aj +aj +aj +aj +aj +aj +by +bE +aj +aj +aj +aj +aj +aj +aj +aj +aj +af +ab +ab +ab +af +ab +ab +aa +"} +(12,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +aw +aI +aw +bd +bi +bs +bh +bF +bs +bL +bd +aw +cb +cg +aj +aj +aj +ab +af +ab +ab +ab +ab +ac +aa +"} +(13,1,1) = {" +aa +ab +ab +ab +af +ab +ab +ak +aj +aj +ax +aJ +aR +aj +aL +bl +bl +bl +bl +aT +aj +bV +cc +ch +aj +aj +cq +ab +ab +ae +ab +ab +ab +ab +aa +"} +(14,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aL +bl +bz +bl +bl +aT +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(15,1,1) = {" +aa +ab +ab +ad +ab +ab +ab +ab +aj +an +ay +ay +ay +ay +bh +bl +bl +bl +bl +bF +ay +ay +ay +ay +cj +aj +ab +ab +ab +ab +ab +af +ab +ab +aa +"} +(16,1,1) = {" +aa +ad +ad +ad +ab +ag +ag +ag +aj +ao +az +aK +aS +az +az +bt +bl +bl +bt +bM +az +bW +aS +EI +ck +aj +ag +ag +ag +ab +ab +ab +ab +ab +aa +"} +(17,1,1) = {" +aa +ad +ad +ab +ab +ag +ah +ab +aj +aj +aj +aL +aT +aj +aj +aj +bA +bA +aj +aj +aj +aL +aT +aj +aj +aj +SN +ab +ag +ab +ab +ab +ab +ab +aa +"} +(18,1,1) = {" +aa +ab +ab +ab +ab +ag +ab +ab +ab +ap +aA +aL +aT +aj +bj +bl +bl +bl +bl +bN +aj +aL +aT +aA +ap +ab +ab +ab +ag +ab +ab +ab +ab +ab +aa +"} +(19,1,1) = {" +aa +ac +ab +ab +ab +ag +ab +ab +ab +ap +aA +aM +aU +aj +bk +bl +bl +bl +bl +bO +aj +bX +cd +aA +ap +ab +ab +ab +ag +ab +ab +ab +af +ab +aa +"} +(20,1,1) = {" +aa +ab +ab +af +ab +ag +ab +SN +aj +aj +aj +aj +aj +aj +bl +bu +bB +bC +bu +bl +aj +aj +aj +aj +aj +aj +ab +ah +ag +ab +ab +ac +ab +ab +aa +"} +(21,1,1) = {" +aa +ab +ab +ab +ab +ag +ag +ag +aj +aq +aB +aB +aV +aj +bm +bu +bC +bC +bu +bP +aj +bY +ce +bY +bY +aj +ag +ag +ag +ab +ab +ab +ad +ab +aa +"} +(22,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +aj +ar +aC +aN +aW +aj +bl +bu +bC +bC +bu +bn +aj +bl +bl +bl +cl +aj +ab +ab +ab +ab +ab +ad +ad +ab +aa +"} +(23,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +aj +as +aD +aN +aE +be +bn +bl +bl +bl +bl +bl +bA +bl +bY +bY +cm +aj +ab +ab +ab +ab +ad +ad +ad +ab +aa +"} +(24,1,1) = {" +aa +ab +ab +af +ab +ab +ab +ab +aj +at +aE +aE +aX +aj +bl +bl +bl +bl +bl +bl +aj +bl +bl +bl +cn +aj +ab +af +ab +ad +ad +ad +ad +ad +aa +"} +(25,1,1) = {" +aa +ac +ab +ab +ab +ab +ab +af +aj +au +aE +aO +aY +aj +aj +aj +bD +bD +aj +aj +aj +bl +bY +bY +co +aj +cp +ab +ab +ad +ad +af +ab +ae +aa +"} +(26,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ai +aj +aj +aE +aD +aZ +aj +bo +bv +bl +bl +bH +bQ +aj +bZ +aj +aj +aj +aj +aj +af +ac +ab +ab +ab +ab +ab +aa +"} +(27,1,1) = {" +aa +ab +ab +ae +ab +ac +ab +aj +aj +aj +aF +aP +ba +aj +bo +bl +bl +bl +bl +bR +aj +ca +cf +ci +aj +aj +aj +ab +ab +ab +ab +ab +ab +ac +aa +"} +(28,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +bp +bl +bl +bl +bl +bS +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +af +aa +"} +(29,1,1) = {" +aa +ab +ab +ab +ab +af +ab +aj +aj +aj +aj +aG +ab +bf +aj +bw +bw +bw +bI +aj +aG +ab +bf +aj +aj +aj +aj +ab +ad +ad +ab +ab +ab +ab +aa +"} +(30,1,1) = {" +aa +ab +ad +ad +ad +ab +ab +aj +aj +aj +aG +ab +ab +ab +bf +al +al +al +al +aG +ab +ab +ab +bf +al +al +cq +ad +ad +ad +ad +ab +ab +ab +aa +"} +(31,1,1) = {" +aa +ab +af +ad +ad +ad +ab +ak +al +al +ab +ab +ab +ab +ab +am +am +am +am +ab +ab +ab +af +ab +am +am +ab +ad +ad +ad +ad +ab +ab +ab +aa +"} +(32,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +am +am +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ad +ad +ad +ab +ab +af +ab +aa +"} +(33,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +af +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(34,1,1) = {" +aa +ab +ac +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa "} diff --git a/maps/submaps/surface_submaps/wilderness/DoomP.dmm b/maps/submaps/surface_submaps/wilderness/DoomP.dmm index ba8b1c0a440..bde323248c4 100644 --- a/maps/submaps/surface_submaps/wilderness/DoomP.dmm +++ b/maps/submaps/surface_submaps/wilderness/DoomP.dmm @@ -72,7 +72,7 @@ /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/DoomP) "as" = ( -/obj/machinery/porta_turret, +/obj/machinery/porta_turret/poi, /turf/simulated/floor/plating, /area/submap/DoomP) "at" = ( @@ -109,17 +109,6 @@ }, /turf/simulated/floor/tiled, /area/submap/DoomP) -"aA" = ( -/obj/structure/bed/chair, -/obj/effect/floor_decal/borderfloor{ - dir = 1 - }, -/mob/living/simple_animal/hostile/syndicate/ranged{ - desc = "Even less friendly than he looks."; - speak = list("Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Anyone else smell that?") - }, -/turf/simulated/floor/tiled, -/area/submap/DoomP) "aB" = ( /obj/machinery/light/small{ dir = 1 @@ -211,10 +200,6 @@ /obj/effect/floor_decal/borderfloor{ dir = 8 }, -/mob/living/simple_animal/hostile/syndicate/ranged{ - desc = "Even less friendly than he looks."; - speak = list("Wish I had better equipment...","I knew I should have been a line chef...","Fuckin' helmet keeps fogging up.","Anyone else smell that?") - }, /turf/simulated/floor/tiled, /area/submap/DoomP) "aN" = ( @@ -271,6 +256,7 @@ icon_state = "4-8"; pixel_x = 0 }, +/mob/living/simple_animal/hostile/syndicate/melee/poi, /turf/simulated/floor/tiled/techfloor/grid, /area/submap/DoomP) "aU" = ( @@ -339,6 +325,7 @@ /obj/effect/floor_decal/borderfloor/corner{ dir = 8 }, +/mob/living/simple_animal/hostile/syndicate/ranged/laser/poi, /turf/simulated/floor/tiled, /area/submap/DoomP) "bh" = ( @@ -537,6 +524,17 @@ /obj/structure/lattice, /turf/simulated/floor/outdoors/grass/sif/forest, /area/submap/DoomP) +"ta" = ( +/mob/living/simple_animal/hostile/syndicate/melee/poi, +/turf/simulated/floor/tiled/techfloor, +/area/submap/DoomP) +"ND" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/mob/living/simple_animal/hostile/syndicate/ranged/poi, +/turf/simulated/floor/tiled, +/area/submap/DoomP) (1,1,1) = {" aa @@ -2056,7 +2054,7 @@ ad ad ad at -az +ND aO aN be @@ -2118,7 +2116,7 @@ ad ad ad at -aA +ay aN aN bf @@ -2186,7 +2184,7 @@ aN be at bp -bl +ta at ac af @@ -2242,7 +2240,7 @@ ad ad ad at -aA +ay aN aN be diff --git a/maps/submaps/surface_submaps/wilderness/Rockybase.dmm b/maps/submaps/surface_submaps/wilderness/Rockybase.dmm index cb62587c48e..e805a56a6d1 100644 --- a/maps/submaps/surface_submaps/wilderness/Rockybase.dmm +++ b/maps/submaps/surface_submaps/wilderness/Rockybase.dmm @@ -1,228 +1,3284 @@ -"aa" = (/turf/template_noop,/area/template_noop) -"ab" = (/obj/effect/decal/remains,/turf/template_noop,/area/template_noop) -"ac" = (/obj/item/weapon/grenade/chem_grenade/metalfoam,/turf/template_noop,/area/template_noop) -"ad" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/template_noop,/area/template_noop) -"ae" = (/obj/effect/decal/remains,/turf/template_noop,/area/submap/Rockybase) -"af" = (/turf/template_noop,/area/submap/Rockybase) -"ag" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Rockybase) -"ah" = (/obj/effect/gibspawner/robot,/turf/template_noop,/area/submap/Rockybase) -"ai" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rockybase) -"aj" = (/obj/effect/decal/remains/robot,/turf/template_noop,/area/template_noop) -"ak" = (/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/template_noop,/area/submap/Rockybase) -"al" = (/turf/simulated/floor,/area/submap/Rockybase) -"am" = (/obj/effect/decal/remains/posi,/turf/simulated/floor,/area/submap/Rockybase) -"an" = (/obj/machinery/porta_turret/stationary,/turf/simulated/floor,/area/submap/Rockybase) -"ao" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/submap/Rockybase) -"ap" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/template_noop) -"aq" = (/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase) -"ar" = (/obj/machinery/light,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase) -"as" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase) -"at" = (/turf/simulated/wall/r_wall,/area/submap/Rockybase) -"au" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/submap/Rockybase) -"av" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aw" = (/obj/effect/decal/remains/deer,/turf/template_noop,/area/template_noop) -"ax" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"ay" = (/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"az" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/item/weapon/soap,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"aA" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aB" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aC" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aD" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/weapon/pickaxe/plasmacutter,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aE" = (/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aF" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aG" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aH" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aI" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aJ" = (/obj/structure/closet/l3closet/janitor,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aK" = (/mob/living/bot/cleanbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aL" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aM" = (/obj/item/weapon/storage/belt/janitor,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aN" = (/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aO" = (/obj/structure/table/standard,/obj/item/device/laptop,/obj/effect/floor_decal/corner/red/border{ icon_state = "bordercolor"; dir = 9},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aP" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/border{ icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/pistol,/obj/effect/floor_decal/corner/red/border{ icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aR" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/taser,/obj/effect/floor_decal/corner/red/border{ icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aS" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/red/border{ icon_state = "bordercolor"; dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aT" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/red/border{ icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aU" = (/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"aV" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"aW" = (/obj/machinery/vending/hydronutrients,/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 9},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aX" = (/obj/structure/closet/crate/hydroponics,/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 5},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aY" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"aZ" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"ba" = (/obj/structure/janitorialcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bb" = (/obj/structure/table/standard,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bc" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bd" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note"},/obj/effect/floor_decal/corner/red/border{ icon_state = "bordercolor"; dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"be" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bf" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bg" = (/obj/machinery/vending/security,/obj/effect/floor_decal/corner/red/border{ icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bh" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/cell/device/weapon,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"bi" = (/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bj" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bk" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bl" = (/obj/item/mecha_parts/part/gygax_left_leg,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"bm" = (/obj/machinery/light,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"bn" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/gun/projectile/pistol,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"bo" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bp" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bq" = (/obj/structure/table/standard,/obj/item/weapon/storage/bag/trash,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"br" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/effect/floor_decal/corner/red/border{ icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bs" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bt" = (/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bu" = (/obj/effect/floor_decal/corner/red/border,/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bv" = (/obj/machinery/door/airlock/security{icon_state = "door_locked"; locked = 1},/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"bw" = (/obj/machinery/light,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"bx" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle/pistol,/turf/simulated/floor/tiled/techfloor,/area/submap/Rockybase) -"by" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bz" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bA" = (/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 8},/mob/living/bot/farmbot{faction = "malf_drone"; name = "Mr. Weddleton"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bB" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bC" = (/obj/effect/decal/remains/posi,/turf/template_noop,/area/template_noop) -"bD" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bE" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bF" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bG" = (/obj/structure/door_assembly,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bH" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bI" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb2,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bJ" = (/obj/effect/decal/mecha_wreckage/hoverpod,/turf/template_noop,/area/template_noop) -"bK" = (/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bL" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bM" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bN" = (/obj/effect/decal/remains,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bO" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bP" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bQ" = (/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bR" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bS" = (/obj/item/stack/rods,/obj/structure/girder,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bT" = (/obj/effect/decal/remains,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bU" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bV" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bW" = (/obj/item/mecha_parts/part/gygax_right_arm,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bX" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bY" = (/mob/living/simple_animal/hostile/viscerator{returns_home = 1},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bZ" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ca" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cb" = (/turf/simulated/wall,/area/submap/Rockybase) -"cc" = (/obj/structure/table/standard,/obj/item/device/kit/paint/gygax/darkgygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cd" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; name = "V-Grenade Notice 2"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ce" = (/obj/structure/table/standard,/obj/random/toolbox,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cf" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cg" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; name = "V-Grenade Notice 1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ch" = (/obj/structure/table/standard,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ci" = (/obj/structure/table/standard,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cj" = (/obj/structure/table/standard,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ck" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/obj/item/weapon/circuitboard/mecha/gygax/main,/obj/item/weapon/circuitboard/mecha/gygax/peripherals,/obj/item/weapon/circuitboard/mecha/gygax/targeting,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cl" = (/obj/structure/door_assembly,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cm" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) -"cn" = (/obj/structure/table/standard,/obj/fiftyspawner/rods,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"co" = (/obj/machinery/vending/engivend,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cp" = (/obj/machinery/vending/tool,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cq" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cr" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cs" = (/obj/item/mecha_parts/part/gygax_torso,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ct" = (/obj/machinery/light{dir = 1},/obj/structure/closet/crate/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cu" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cv" = (/obj/structure/table/standard,/obj/item/clothing/mask/breath/medical,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cw" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cx" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"cy" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"cz" = (/obj/structure/table/standard,/obj/item/device/mmi/digital/robot,/obj/item/weapon/stock_parts/capacitor/adv,/obj/item/weapon/stock_parts/scanning_module/adv,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor,/area/submap/Rockybase) -"cD" = (/obj/structure/door_assembly,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cE" = (/obj/item/stack/rods,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cF" = (/obj/effect/decal/cleanable/dirt,/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase) -"cG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) -"cH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/turf/simulated/floor,/area/submap/Rockybase) -"cI" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase) -"cJ" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cK" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"cL" = (/obj/machinery/drone_fabricator{fabricator_tag = "Unknown"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cM" = (/obj/machinery/drone_fabricator{fabricator_tag = "Unknown"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cN" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cO" = (/obj/machinery/pros_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cP" = (/obj/structure/table/standard,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cQ" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cR" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cS" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cT" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/submap/Rockybase) -"cU" = (/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cV" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cW" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) -"cX" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) -"cY" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) -"cZ" = (/obj/item/mecha_parts/part/gygax_armour,/turf/simulated/floor,/area/submap/Rockybase) -"da" = (/obj/item/mecha_parts/chassis/gygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"db" = (/mob/living/simple_animal/hostile/mecha/malf_drone{name = "Autonomous Mechanized Drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dc" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dd" = (/obj/machinery/vending/robotics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"de" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"df" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dg" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dh" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"di" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/submap/Rockybase) -"dj" = (/obj/item/mecha_parts/part/gygax_right_leg,/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dk" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/mecha_parts/part/gygax_left_arm,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"dl" = (/obj/machinery/vending,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dm" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dn" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green,/turf/simulated/floor,/area/submap/Rockybase) -"do" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dp" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dq" = (/obj/structure/closet/secure_closet/hydroponics,/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dr" = (/obj/effect/decal/cleanable/blood/oil,/turf/template_noop,/area/template_noop) -"ds" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dt" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"du" = (/obj/structure/table/standard,/obj/item/stack/material/plasteel,/obj/item/stack/material/glass/reinforced,/obj/item/stack/material/phoron{amount = 25},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dv" = (/obj/structure/table/standard,/obj/item/stack/material/glass,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dw" = (/obj/structure/table/standard,/obj/item/mecha_parts/part/gygax_head,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dx" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dy" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dz" = (/obj/item/weapon/surgical/surgicaldrill,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dA" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dB" = (/obj/effect/decal/cleanable/dirt,/mob/living/bot/medbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dC" = (/obj/machinery/vending/hydroseeds,/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 10},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dD" = (/obj/structure/closet/crate/secure/hydrosec,/obj/effect/floor_decal/corner/lime/border{ icon_state = "bordercolor"; dir = 6},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"dE" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/gravemarker{dir = 1},/turf/template_noop,/area/template_noop) -"dF" = (/obj/effect/gibspawner/robot,/turf/template_noop,/area/template_noop) -"dG" = (/obj/effect/gibspawner/human,/turf/template_noop,/area/template_noop) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/obj/effect/decal/remains, +/turf/template_noop, +/area/template_noop) +"ac" = ( +/obj/item/weapon/grenade/chem_grenade/metalfoam, +/turf/template_noop, +/area/template_noop) +"ad" = ( +/mob/living/simple_animal/hostile/viscerator{ + returns_home = 1 + }, +/turf/template_noop, +/area/template_noop) +"ae" = ( +/obj/effect/decal/remains, +/turf/template_noop, +/area/submap/Rockybase) +"af" = ( +/turf/template_noop, +/area/submap/Rockybase) +"ag" = ( +/obj/structure/flora/tree/sif, +/turf/template_noop, +/area/submap/Rockybase) +"ah" = ( +/obj/effect/gibspawner/robot, +/turf/template_noop, +/area/submap/Rockybase) +"ai" = ( +/turf/simulated/mineral/ignore_mapgen, +/area/submap/Rockybase) +"aj" = ( +/obj/effect/decal/remains/robot, +/turf/template_noop, +/area/template_noop) +"ak" = ( +/mob/living/simple_animal/hostile/malf_drone/lesser, +/turf/template_noop, +/area/submap/Rockybase) +"al" = ( +/turf/simulated/floor, +/area/submap/Rockybase) +"am" = ( +/obj/effect/decal/remains/posi, +/turf/simulated/floor, +/area/submap/Rockybase) +"an" = ( +/obj/machinery/porta_turret/poi, +/turf/simulated/floor, +/area/submap/Rockybase) +"ao" = ( +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor, +/area/submap/Rockybase) +"ap" = ( +/obj/structure/flora/tree/sif, +/turf/template_noop, +/area/template_noop) +"aq" = ( +/obj/effect/floor_decal/industrial/danger, +/turf/simulated/floor, +/area/submap/Rockybase) +"ar" = ( +/obj/machinery/light, +/obj/effect/floor_decal/industrial/danger, +/turf/simulated/floor, +/area/submap/Rockybase) +"as" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/floor_decal/industrial/danger, +/turf/simulated/floor, +/area/submap/Rockybase) +"at" = ( +/turf/simulated/wall/r_wall, +/area/submap/Rockybase) +"au" = ( +/obj/structure/sign/securearea, +/turf/simulated/wall/r_wall, +/area/submap/Rockybase) +"av" = ( +/obj/machinery/door/airlock/external, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aw" = ( +/obj/effect/decal/remains/deer, +/turf/template_noop, +/area/template_noop) +"ax" = ( +/obj/machinery/shower{ + dir = 4; + icon_state = "shower"; + pixel_x = 5; + pixel_y = 0 + }, +/obj/structure/curtain/open/shower, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"ay" = ( +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"az" = ( +/obj/machinery/shower{ + dir = 8; + icon_state = "shower"; + pixel_x = -5; + pixel_y = 0 + }, +/obj/structure/curtain/open/shower, +/obj/item/weapon/soap, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"aA" = ( +/obj/structure/table/woodentable, +/obj/effect/decal/cleanable/cobweb, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"aB" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"aC" = ( +/obj/structure/table/woodentable, +/obj/item/device/flashlight/lamp, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"aD" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/obj/item/weapon/pickaxe/plasmacutter, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"aE" = ( +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"aF" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"aG" = ( +/obj/structure/table/woodentable, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"aH" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet, +/mob/living/simple_animal/hostile/viscerator{ + returns_home = 1 + }, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"aI" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet, +/obj/item/toy/plushie/spider, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"aJ" = ( +/obj/structure/closet/l3closet/janitor, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aK" = ( +/mob/living/bot/cleanbot{ + faction = "malf_drone" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aL" = ( +/obj/item/weapon/stool, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aM" = ( +/obj/item/weapon/storage/belt/janitor, +/obj/structure/table/standard, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aN" = ( +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aO" = ( +/obj/structure/table/standard, +/obj/item/device/laptop, +/obj/effect/floor_decal/corner/red/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aP" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/corner/red/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aQ" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/projectile/pistol, +/obj/effect/floor_decal/corner/red/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aR" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/gun/taser, +/obj/effect/floor_decal/corner/red/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aS" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/corner/red/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aT" = ( +/obj/machinery/vending/coffee, +/obj/effect/floor_decal/corner/red/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aU" = ( +/turf/simulated/floor/tiled/techfloor, +/area/submap/Rockybase) +"aV" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/turf/simulated/floor/tiled/techfloor, +/area/submap/Rockybase) +"aW" = ( +/obj/machinery/vending/hydronutrients, +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aX" = ( +/obj/structure/closet/crate/hydroponics, +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"aY" = ( +/obj/machinery/shower{ + dir = 4; + icon_state = "shower"; + pixel_x = 5; + pixel_y = 0 + }, +/obj/structure/curtain/open/shower, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"aZ" = ( +/obj/machinery/shower{ + dir = 8; + icon_state = "shower"; + pixel_x = -5; + pixel_y = 0 + }, +/obj/structure/curtain/open/shower, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"ba" = ( +/obj/structure/janitorialcart, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bb" = ( +/obj/structure/table/standard, +/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bc" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bd" = ( +/obj/structure/table/standard, +/obj/item/weapon/paper{ + info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; + name = "Note" + }, +/obj/effect/floor_decal/corner/red/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"be" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bf" = ( +/mob/living/simple_animal/hostile/viscerator{ + returns_home = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bg" = ( +/obj/machinery/vending/security, +/obj/effect/floor_decal/corner/red/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bh" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/box/shotgunshells, +/obj/item/weapon/storage/box/shotgunshells, +/obj/item/weapon/cell/device/weapon, +/turf/simulated/floor/tiled/techfloor, +/area/submap/Rockybase) +"bi" = ( +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bj" = ( +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 11; + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bk" = ( +/obj/machinery/shower{ + dir = 8; + icon_state = "shower"; + pixel_x = -5; + pixel_y = 0 + }, +/obj/structure/curtain/open/shower, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"bl" = ( +/obj/item/mecha_parts/part/gygax_left_leg, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"bm" = ( +/obj/machinery/light, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"bn" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet, +/obj/item/weapon/gun/projectile/pistol, +/turf/simulated/floor/holofloor/lino, +/area/submap/Rockybase) +"bo" = ( +/obj/structure/closet/crate/trashcart, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bp" = ( +/obj/structure/loot_pile/maint/trash, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bq" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/bag/trash, +/obj/item/weapon/storage/bag/trash, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"br" = ( +/obj/structure/table/standard, +/obj/item/weapon/paper_bin, +/obj/effect/floor_decal/corner/red/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bs" = ( +/obj/machinery/light, +/obj/structure/table/standard, +/obj/item/weapon/pen, +/obj/effect/floor_decal/corner/red/border, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bt" = ( +/obj/effect/floor_decal/corner/red/border, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bu" = ( +/obj/effect/floor_decal/corner/red/border, +/mob/living/simple_animal/hostile/viscerator{ + returns_home = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bv" = ( +/obj/machinery/door/airlock/security{ + icon_state = "door_locked"; + locked = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/submap/Rockybase) +"bw" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/submap/Rockybase) +"bx" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/ionrifle/pistol, +/turf/simulated/floor/tiled/techfloor, +/area/submap/Rockybase) +"by" = ( +/obj/machinery/portable_atmospherics/hydroponics, +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bz" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bA" = ( +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/mob/living/bot/farmbot{ + faction = "malf_drone"; + name = "Mr. Weddleton" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bB" = ( +/obj/machinery/portable_atmospherics/hydroponics, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bC" = ( +/obj/effect/decal/remains/posi, +/turf/template_noop, +/area/template_noop) +"bD" = ( +/obj/machinery/vending/cola, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bE" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bF" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bG" = ( +/obj/structure/door_assembly, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb2, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bJ" = ( +/obj/effect/decal/mecha_wreckage/hoverpod, +/turf/template_noop, +/area/template_noop) +"bK" = ( +/mob/living/simple_animal/hostile/malf_drone/lesser, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bL" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bM" = ( +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bN" = ( +/obj/effect/decal/remains, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bO" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"bP" = ( +/obj/machinery/vending/snack, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bQ" = ( +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bS" = ( +/obj/item/stack/rods, +/obj/structure/girder, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bT" = ( +/obj/effect/decal/remains, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bU" = ( +/obj/machinery/light, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bV" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bW" = ( +/obj/item/mecha_parts/part/gygax_right_arm, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"bX" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"bY" = ( +/mob/living/simple_animal/hostile/viscerator{ + returns_home = 1 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"bZ" = ( +/obj/machinery/door/airlock/engineering, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"ca" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cb" = ( +/turf/simulated/wall, +/area/submap/Rockybase) +"cc" = ( +/obj/structure/table/standard, +/obj/item/device/kit/paint/gygax/darkgygax, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cd" = ( +/obj/structure/table/standard, +/obj/item/weapon/paper{ + info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; + name = "V-Grenade Notice 2" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"ce" = ( +/obj/structure/table/standard, +/obj/random/toolbox, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cf" = ( +/obj/structure/table/standard, +/obj/random/toolbox, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cg" = ( +/obj/structure/table/standard, +/obj/item/weapon/paper{ + info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; + name = "V-Grenade Notice 1" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"ch" = ( +/obj/structure/table/standard, +/obj/item/stack/material/diamond, +/obj/item/stack/material/diamond, +/obj/item/stack/material/diamond, +/obj/item/stack/material/diamond, +/obj/item/stack/material/diamond, +/obj/item/stack/material/diamond, +/obj/item/stack/material/diamond, +/obj/item/stack/material/diamond, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"ci" = ( +/obj/structure/table/standard, +/obj/item/weapon/grenade/spawnergrenade/manhacks, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cj" = ( +/obj/structure/table/standard, +/obj/item/stack/material/steel, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"ck" = ( +/obj/structure/table/standard, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/weapon/circuitboard/mecha/gygax/main, +/obj/item/weapon/circuitboard/mecha/gygax/peripherals, +/obj/item/weapon/circuitboard/mecha/gygax/targeting, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cl" = ( +/obj/structure/door_assembly, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cm" = ( +/obj/item/weapon/material/shard, +/turf/simulated/floor, +/area/submap/Rockybase) +"cn" = ( +/obj/structure/table/standard, +/obj/fiftyspawner/rods, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"co" = ( +/obj/machinery/vending/engivend, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cp" = ( +/obj/machinery/vending/tool, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cq" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/toolbox, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cr" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/toolbox/mechanical, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cs" = ( +/obj/item/mecha_parts/part/gygax_torso, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"ct" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/closet/crate/medical, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cu" = ( +/obj/structure/table/standard, +/obj/structure/table/standard, +/obj/effect/decal/cleanable/dirt, +/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cv" = ( +/obj/structure/table/standard, +/obj/item/clothing/mask/breath/medical, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cw" = ( +/obj/structure/closet/secure_closet/medical2, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cx" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"cy" = ( +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 11; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"cz" = ( +/obj/structure/table/standard, +/obj/item/device/mmi/digital/robot, +/obj/item/weapon/stock_parts/capacitor/adv, +/obj/item/weapon/stock_parts/scanning_module/adv, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cA" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cB" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_x = 0 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cC" = ( +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/port_gen/pacman, +/turf/simulated/floor, +/area/submap/Rockybase) +"cD" = ( +/obj/structure/door_assembly, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cE" = ( +/obj/item/stack/rods, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder, +/turf/simulated/floor, +/area/submap/Rockybase) +"cG" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/submap/Rockybase) +"cH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/turf/simulated/floor, +/area/submap/Rockybase) +"cI" = ( +/obj/structure/girder, +/turf/simulated/floor, +/area/submap/Rockybase) +"cJ" = ( +/obj/structure/closet/secure_closet/medical1, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cK" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"cL" = ( +/obj/machinery/drone_fabricator{ + fabricator_tag = "Unknown" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cN" = ( +/obj/machinery/mecha_part_fabricator, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cO" = ( +/obj/machinery/pros_fabricator, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cP" = ( +/obj/structure/table/standard, +/obj/item/mecha_parts/mecha_equipment/repair_droid, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cQ" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/mob/living/simple_animal/hostile/malf_drone/lesser, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cS" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cT" = ( +/obj/machinery/power/smes/buildable/point_of_interest, +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/turf/simulated/floor, +/area/submap/Rockybase) +"cU" = ( +/obj/machinery/vending/medical, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"cW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/submap/Rockybase) +"cX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/weapon/material/shard, +/turf/simulated/floor, +/area/submap/Rockybase) +"cY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/submap/Rockybase) +"cZ" = ( +/obj/item/mecha_parts/part/gygax_armour, +/turf/simulated/floor, +/area/submap/Rockybase) +"da" = ( +/obj/item/mecha_parts/chassis/gygax, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"db" = ( +/mob/living/simple_animal/hostile/mecha/malf_drone{ + name = "Autonomous Mechanized Drone" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dc" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dd" = ( +/obj/machinery/vending/robotics, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"de" = ( +/obj/machinery/power/apc{ + cell_type = /obj/item/weapon/cell/super; + dir = 8; + name = "Unknown APC"; + pixel_x = -24 + }, +/obj/structure/cable/green{ + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"df" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dh" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"di" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood, +/turf/simulated/floor, +/area/submap/Rockybase) +"dj" = ( +/obj/item/mecha_parts/part/gygax_right_leg, +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dk" = ( +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 11; + pixel_y = 0 + }, +/obj/item/mecha_parts/part/gygax_left_arm, +/turf/simulated/floor/tiled/hydro, +/area/submap/Rockybase) +"dl" = ( +/obj/machinery/vending, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dm" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dn" = ( +/obj/machinery/power/smes/buildable/point_of_interest, +/obj/structure/cable/green, +/turf/simulated/floor, +/area/submap/Rockybase) +"do" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/closet/secure_closet/medical3, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/malf_drone/lesser, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dq" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dr" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/template_noop, +/area/template_noop) +"ds" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dt" = ( +/obj/machinery/mech_recharger, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"du" = ( +/obj/structure/table/standard, +/obj/item/stack/material/plasteel, +/obj/item/stack/material/glass/reinforced, +/obj/item/stack/material/phoron{ + amount = 25 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dv" = ( +/obj/structure/table/standard, +/obj/item/stack/material/glass, +/obj/item/stack/material/steel, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dw" = ( +/obj/structure/table/standard, +/obj/item/mecha_parts/part/gygax_head, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dx" = ( +/obj/structure/closet/toolcloset, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dy" = ( +/obj/structure/closet/secure_closet/medical3, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dz" = ( +/obj/item/weapon/surgical/surgicaldrill, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dA" = ( +/obj/structure/loot_pile/maint/technical, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dB" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/bot/medbot{ + faction = "malf_drone" + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dC" = ( +/obj/machinery/vending/hydroseeds, +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dD" = ( +/obj/structure/closet/crate/secure/hydrosec, +/obj/effect/floor_decal/corner/lime/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled, +/area/submap/Rockybase) +"dE" = ( +/obj/machinery/portable_atmospherics/hydroponics/soil, +/obj/structure/gravemarker{ + dir = 1 + }, +/turf/template_noop, +/area/template_noop) +"dF" = ( +/obj/effect/gibspawner/robot, +/turf/template_noop, +/area/template_noop) +"dG" = ( +/obj/effect/gibspawner/human, +/turf/template_noop, +/area/template_noop) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaabacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaa -aaaaaaaaaeafafafagafafafafagafafafafafaeafafafafafafafafafafafafafagafafafafafafafafafafafafaeafafafafafaaaaaaaa -aaaaaaaaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafahafafafafafafafafafafafafafaaaaaaaa -aaaaaaaaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaaaaaaaa -aaaaaaaaafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafaaaaaaaa -abaaaaaaafafaiaiaiaiaiafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafaaaaajaa -aaaaaaaaafafaiaiaiaiaiaiakafafafaiaiaiaiaiafafafafafafafafalalamalalalafafafafafafafafafaiaiaiakafafafafaaaaaaaa -aaaaaaaaafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafanalalaoalalalalalanafafafafafaiaiaiaiaiaiaiaiaiafaaaaaaaa -aaaaaaapafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaqaqaraqaqaqaqaqasaraqaqaiaiaiaiaiaiaiaiaiaiaiaiaiafaaaaaaaa -aaaaaaaaafaiaiatatatatatatatatatatatatatatatatatatatatatatatauavavauatatatatatatatatatatatatataiaiaiaiafaaawaaaa -aaaaaaaaafaiatataxayazataAaBaCaDaEaEaBaFaGaHaBaIatataJaKaLaMataNaNataOaPaQaRaSaTataUaVataWaXatataiaiaiafaaaaaaaa -aaaaaaaaaiaiatataYayaZataEaEaEaEaEaEaEaEaEaEaEaEatatbaaNaNbbatbcaNatbdbebfaNaNbgataUbhatbibjatataiaiaiafaaaaaaaa -aaaaaaaaaiaiatataYaybkataEblaEaEbmaEaBbnaBaHaBaFatatboaNbpbqataNaNatbrbsbtbtbubtbvbwbxatbibyatataiaiaiafaaaaaaaa -aaaaaaabaiaiatatayayayatatatbzatatatatatatatatatatatatbzatatatavavatatatatatbzatatatatatbAbBatataiaiaiafaaaaaabC -aaaaaaaaaiaiatatatbzatatbDbEbEbEbEbFbEbEbEbEbGbEbFbEbEbEbEbEbEbEbEbEbEbFbEbEbEbEbHbHbIatbibyatataiaiaiafaaaabJaa -aaaaaaaaaiaiatatbcaNaNaNaNaNaNbKbLbLaNbMbNaNaNaNaNaNaNaNaNaNaNbLaNaNaNaNaNaNaNaNbKbLbLbzbibyatataiaiaiafaaaaaaaa -aaaaaaaaafaiatatatbOatatbPbQbQbRbRbRbQbQbQbSaNalbTbUbQbVbQbRbRbRbQbQbQbQbQbUbQbQbQbQbWatbibBatataiaiaiafaaaaaaaa -aaaaaaaaafaiatatbXaybYatatatatatatatatatatatalalatatatatbZatatatatcaatatatatatatatatatatbibyatataiaiaiafaaaaaaaa -aaaaaaaaafaiatatcbcbayatcccdcecfcgchcicjckclalcmcnatcocpaNcqcratcscaaNctcucvbLaNaNaNcwatbibyatataiaiaiafaaaaaaaa -aaaaaaaaafaiatatcxbOcyataNaNaNaNaNaNaNaNaNcacaalczataNaNcAcBcCatcDaNbLbLcEcFcGcHcIaNcJatbibBatataiaiaiagaaaaaaaa -aaaaaaaaafaiatatcbcbcKataNcLaNaNcMaNaNcNaNcOcaalcPatcQbLcRcScTatcUaNbLcVcWcXcYcWcZalaNatbibyatataiaiafafaaaaaaaa -aaaaaaaaafaiatatcxbOayatcQaNaNdaaNdbaNdcbLdccacaddatdedfdgdfdhataNaNbLdicYcYcWcHalcmaNatbidjatataiaiafafaaaaaaaa -aaaaabaaafaiatatcbcbdkataNcLaNaNalalbLbLbLbLaNaNdlataNaNdmcSdnatdoaNaNdpcWcGcGcGcGalbLatbidqatataiakafafaaaadraa -aaaaaaaaafaiatatcxbOayataNaNaNaNaNaNdsdtaNdtaNaNcpatdudvdwaNdxatdyaNdzaNaNdAcIdAbLbLdBatdCdDatataiaiafafaaaabCaa -aaaaaaaaafaiaiatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataiaiafafafaaaaaaaa -aaaaaaaaafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafaaaaaaaa -aaaaaaaaafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafaiaiaiafafafaiaiaiaiaiaiaiafafafafaaaaaaaa -aaaaaaaaafafaiaiaiaiaiaiaiaiaiaiaiaiakafafafaiaiaiaiaiaiafafafafafafafafafafafafafafafafafafafafafafafafaaaadraa -aaaaaaaaafagafafafafafafaiaiaiaiaiafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaaaaaaaa -aaaaaaadaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaapaaaaaaaaaaaaabaaapaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaadEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadFaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaadFaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGaaaaaaaaaaaaabaa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ap +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +aa +dF +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +ae +af +af +af +af +af +af +af +af +af +ai +ai +ai +ai +ai +af +af +af +af +af +af +af +af +af +af +af +af +af +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +af +ag +ab +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +af +af +af +af +ai +ai +ai +ai +ai +at +at +at +at +at +at +at +at +at +at +at +at +at +at +ai +ai +ai +ai +af +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +af +af +af +af +ai +ai +ai +ai +at +at +at +at +at +at +at +at +at +at +at +at +at +at +at +at +ai +ai +ai +af +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +ag +af +af +af +ai +ai +ai +ai +at +ax +aY +aY +ay +at +bc +at +bX +cb +cx +cb +cx +cb +cx +at +ai +ai +ai +af +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +ab +aa +aa +af +af +af +af +ai +ai +ai +ai +at +ay +ay +ay +ay +bz +aN +bO +ay +cb +bO +cb +bO +cb +bO +at +ai +ai +ai +af +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +ac +aa +aa +af +af +af +af +ai +ai +ai +ai +at +az +aZ +bk +ay +at +aN +at +bY +ay +cy +cK +ay +dk +ay +at +ai +ai +ai +af +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +ai +ai +ai +at +at +at +at +at +at +aN +at +at +at +at +at +at +at +at +at +ai +ai +ai +af +aa +dE +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +ak +ai +ai +at +aA +aE +aE +at +bD +aN +bP +at +cc +aN +aN +cQ +aN +aN +at +ai +ai +ai +ai +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +ag +af +af +af +af +af +ai +ai +at +aB +aE +bl +at +bE +aN +bQ +at +cd +aN +cL +aN +cL +aN +at +ai +ai +ai +ai +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +ai +ai +at +aC +aE +aE +bz +bE +aN +bQ +at +ce +aN +aN +aN +aN +aN +at +ai +ai +ai +ai +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +ai +ai +at +aD +aE +aE +at +bE +bK +bR +at +cf +aN +aN +da +aN +aN +at +ai +ai +ai +ai +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +ai +ai +ai +at +aE +aE +bm +at +bE +bL +bR +at +cg +aN +cL +aN +al +aN +at +ai +ai +ai +ai +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +ai +ai +ai +at +aE +aE +aE +at +bF +bL +bR +at +ch +aN +aN +db +al +aN +at +ai +ai +ai +af +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +ai +ai +ai +at +aB +aE +aB +at +bE +aN +bQ +at +ci +aN +aN +aN +bL +ds +at +ai +ai +ak +af +aa +aa +ab +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +ae +af +af +ag +af +ai +ai +ai +at +aF +aE +bn +at +bE +bM +bQ +at +cj +aN +cN +dc +bL +dt +at +ai +ai +af +af +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +ai +ai +ai +at +aG +aE +aB +at +bE +bN +bQ +at +ck +aN +aN +bL +bL +aN +at +ai +ai +af +af +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +ai +ai +at +aH +aE +aH +at +bE +aN +bS +at +cl +ca +cO +dc +bL +dt +at +ai +ai +af +af +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +af +ai +at +aB +aE +aB +at +bG +aN +aN +al +al +ca +ca +ca +aN +aN +at +ai +ai +ai +af +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +ad +af +af +af +af +af +af +af +ai +at +aI +aE +aF +at +bE +aN +al +al +cm +al +al +ca +aN +aN +at +ai +ai +ai +af +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +af +ai +at +at +at +at +at +bF +aN +bT +at +cn +cz +cP +dd +dl +cp +at +ai +ai +ai +af +ad +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +af +ai +at +at +at +at +at +bE +aN +bU +at +at +at +at +at +at +at +at +ai +ai +ai +af +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +af +aq +at +aJ +ba +bo +at +bE +aN +bQ +at +co +aN +cQ +de +aN +du +at +ai +ai +ai +af +aa +aa +dF +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +an +aq +at +aK +aN +aN +bz +bE +aN +bV +at +cp +aN +bL +df +aN +dv +at +ai +ai +ai +af +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +al +ar +at +aL +aN +bp +at +bE +aN +bQ +bZ +aN +cA +cR +dg +dm +dw +at +ai +ai +af +af +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +al +al +aq +at +aM +bb +bq +at +bE +aN +bR +at +cq +cB +cS +df +cS +aN +at +ai +ai +af +af +aa +aa +aa +aa +"} +(31,1,1) = {" +ab +aa +aa +aa +af +af +af +af +af +al +ao +aq +au +at +at +at +at +bE +aN +bR +at +cr +cC +cT +dh +dn +dx +at +ai +ai +af +af +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +am +al +aq +av +aN +bc +aN +av +bE +bL +bR +at +at +at +at +at +at +at +at +ai +ai +af +af +ab +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +al +al +aq +av +aN +aN +aN +av +bE +aN +bQ +at +cs +cD +cU +aN +do +dy +at +ai +ai +af +af +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +ag +af +af +af +af +al +al +aq +au +at +at +at +at +bE +aN +bQ +ca +ca +aN +aN +aN +aN +aN +at +ai +ai +af +af +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +al +al +as +at +aO +bd +br +at +bE +aN +bQ +at +aN +bL +bL +bL +aN +dz +at +ai +af +af +af +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +al +ar +at +aP +be +bs +at +bF +aN +bQ +at +ct +bL +cV +di +dp +aN +at +ai +ai +af +af +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +an +aq +at +aQ +bf +bt +at +bE +aN +bQ +at +cu +cE +cW +cY +cW +aN +at +ai +ai +af +af +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +af +aq +at +aR +aN +bt +at +bE +aN +bU +at +cv +cF +cX +cY +cG +dA +at +ai +ai +af +af +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +af +ah +af +af +af +af +af +ai +at +aS +aN +bu +bz +bE +aN +bQ +at +bL +cG +cY +cW +cG +cI +at +ai +af +af +af +aa +dr +ab +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +af +ai +at +aT +bg +bt +at +bE +aN +bQ +at +aN +cH +cW +cH +cG +dA +at +ai +af +af +af +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +af +ai +at +at +at +bv +at +bH +bK +bQ +at +aN +cI +cZ +al +cG +bL +at +ai +af +af +af +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +af +af +af +af +ag +af +af +ai +at +aU +aU +bw +at +bH +bL +bQ +at +aN +aN +al +cm +al +bL +at +ai +ai +af +af +ap +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +ai +ai +at +aV +bh +bx +at +bI +bL +bW +at +cw +cJ +aN +aN +bL +dB +at +ai +ai +af +af +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +ai +ai +at +at +at +at +at +at +bz +at +at +at +at +at +at +at +at +at +ai +ai +af +af +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +ai +ai +ai +at +aW +bi +bi +bA +bi +bi +bi +bi +bi +bi +bi +bi +bi +dC +at +ai +ai +af +af +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +ai +ai +ai +at +aX +bj +by +bB +by +by +bB +by +by +bB +by +dj +dq +dD +at +ai +ai +af +af +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +ae +af +af +af +af +ai +ai +ai +at +at +at +at +at +at +at +at +at +at +at +at +at +at +at +at +ai +ai +af +af +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +ak +ai +ai +ai +at +at +at +at +at +at +at +at +at +at +at +at +at +at +ai +ai +ai +af +af +aa +aa +aa +dG +"} +(49,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +af +af +af +ab +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ak +ai +af +af +af +af +af +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +aa +aa +aa +af +af +af +ag +af +af +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +af +af +af +af +af +af +af +af +af +ap +aa +aa +aa +"} +(52,1,1) = {" +aa +aa +aa +aa +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ag +af +af +af +af +af +af +af +af +af +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(54,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(55,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aj +aa +aa +aa +aa +aa +aa +aa +aa +bJ +aa +aa +aa +aa +aa +aa +aa +dr +bC +aa +aa +aa +dr +aa +aa +aa +aa +ab +"} +(56,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa "} diff --git a/vorestation.dme b/vorestation.dme index 91e021c205d..6a3c7c5f0c1 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -377,6 +377,7 @@ #include "code\datums\wires\particle_accelerator.dm" #include "code\datums\wires\radio.dm" #include "code\datums\wires\robot.dm" +#include "code\datums\wires\seedstorage.dm" #include "code\datums\wires\smartfridge.dm" #include "code\datums\wires\smes.dm" #include "code\datums\wires\suit_storage_unit.dm" @@ -889,6 +890,7 @@ #include "code\game\objects\effects\explosion_particles.dm" #include "code\game\objects\effects\gibs.dm" #include "code\game\objects\effects\glowshroom.dm" +#include "code\game\objects\effects\item_pickup_ghost.dm" #include "code\game\objects\effects\landmarks.dm" #include "code\game\objects\effects\manifest.dm" #include "code\game\objects\effects\mines.dm" @@ -2038,6 +2040,7 @@ #include "code\modules\mob\living\carbon\human\species\species_shapeshift.dm" #include "code\modules\mob\living\carbon\human\species\species_shapeshift_vr.dm" #include "code\modules\mob\living\carbon\human\species\species_vr.dm" +#include "code\modules\mob\living\carbon\human\species\outsider\event.dm" #include "code\modules\mob\living\carbon\human\species\outsider\shadow.dm" #include "code\modules\mob\living\carbon\human\species\outsider\skeleton.dm" #include "code\modules\mob\living\carbon\human\species\outsider\vox.dm" @@ -2312,6 +2315,7 @@ #include "code\modules\organs\internal\lungs.dm" #include "code\modules\organs\internal\organ_internal.dm" #include "code\modules\organs\subtypes\diona.dm" +#include "code\modules\organs\subtypes\indestructible.dm" #include "code\modules\organs\subtypes\machine.dm" #include "code\modules\organs\subtypes\nano.dm" #include "code\modules\organs\subtypes\seromi.dm" @@ -2321,6 +2325,7 @@ #include "code\modules\organs\subtypes\standard_vr.dm" #include "code\modules\organs\subtypes\unathi.dm" #include "code\modules\organs\subtypes\unbreakable.dm" +#include "code\modules\organs\subtypes\unseverable.dm" #include "code\modules\organs\subtypes\vox.dm" #include "code\modules\organs\subtypes\vox_vr.dm" #include "code\modules\organs\subtypes\xenos.dm"