Xenofauna map update. (#9135)

* Repaths badges, ribbons, pins and permits to /medal.

* Drakes can now wear pride pins.

* Updates xenofauna map, repaths some accessories.

* Added fence door interaction for drakes (open but not close)

* Adds stasis cages to the Xenofauna lab.

* Corrects some Cynosure badge paths.

* Allows mobs to climb into stasis cages themselves.

* Added lower temperature sensor alarms to xenofauna.
This commit is contained in:
MistakeNot4892
2023-07-08 17:51:00 -08:00
committed by GitHub
parent 0e46b5880b
commit f192cfd812
39 changed files with 288 additions and 201 deletions
+2 -2
View File
@@ -27,11 +27,11 @@
uniform = /obj/item/clothing/under/rank/bartender
id_type = /obj/item/card/id/civilian/bartender
pda_type = /obj/item/pda/bar
backpack_contents = list(/obj/item/clothing/accessory/permit/gun/bar = 1)
backpack_contents = list(/obj/item/clothing/accessory/medal/permit/gun/bar = 1)
/decl/hierarchy/outfit/job/service/bartender/post_equip(mob/living/carbon/human/H)
..()
for(var/obj/item/clothing/accessory/permit/gun/bar/permit in H.back.contents)
for(var/obj/item/clothing/accessory/medal/permit/gun/bar/permit in H.back.contents)
permit.set_name(H.real_name)
/decl/hierarchy/outfit/job/service/bartender/barista
+5 -5
View File
@@ -493,7 +493,7 @@
/obj/item/clothing/suit/storage/forensics/red,
/obj/item/clothing/suit/storage/forensics/blue,
/obj/item/clothing/under/det/corporate = 2,
/obj/item/clothing/accessory/badge/holo/detective = 2,
/obj/item/clothing/accessory/medal/badge/holo/detective = 2,
/obj/item/clothing/gloves/black = 2
)
cost = 10
@@ -507,8 +507,8 @@
/obj/item/clothing/suit/storage/vest/officer,
/obj/item/clothing/head/helmet,
/obj/item/cartridge/security,
/obj/item/clothing/accessory/badge/holo,
/obj/item/clothing/accessory/badge/holo/cord,
/obj/item/clothing/accessory/medal/badge/holo,
/obj/item/clothing/accessory/medal/badge/holo/cord,
/obj/item/radio/headset/headset_sec,
/obj/item/storage/belt/security,
/obj/item/flash,
@@ -545,7 +545,7 @@
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/hailer,
/obj/item/clothing/accessory/badge/holo/warden,
/obj/item/clothing/accessory/medal/badge/holo/warden,
/obj/item/storage/box/flashbangs,
/obj/item/storage/belt/security,
/obj/item/reagent_containers/spray/pepper,
@@ -573,7 +573,7 @@
/obj/item/storage/belt/security,
/obj/item/flash,
/obj/item/hailer,
/obj/item/clothing/accessory/badge/holo/hos,
/obj/item/clothing/accessory/medal/badge/holo/hos,
/obj/item/clothing/accessory/holster/waist,
/obj/item/melee/telebaton,
/obj/item/shield/riot/tele,
+6 -2
View File
@@ -100,6 +100,10 @@
TLV["temperature"] = list(20, 40, 140, 160) // K
target_temperature = 90
/obj/machinery/alarm/outside/Initialize(mapload)
. = ..()
TLV["temperature"] = list(T0C-26, T0C-10, T0C+40, T0C+66) // K
/obj/machinery/alarm/Initialize(mapload)
. = ..()
first_run()
@@ -527,7 +531,7 @@
"unit" = "%",
"danger_level" = get_danger_level(environment.gas[gas_id] * partial_pressure, TLV[gas_id])
))
if(!locked || issilicon(user) || data["remoteUser"])
data["vents"] = list()
for(var/id_tag in A.air_vent_names)
@@ -632,7 +636,7 @@
else
target_temperature = input_temperature + T0C
return TRUE
// Account for remote users here.
// Yes, this is kinda snowflaky; however, I would argue it would be far more snowflakey
// to include "custom hrefs" and all the other bullshit that nano states have just for the
+2 -2
View File
@@ -19,7 +19,7 @@
/obj/random/plushie = 1,
/obj/item/toy/cultsword = 1,
/obj/item/toy/bouquet/fake = 1,
/obj/item/clothing/accessory/badge/sheriff = 2,
/obj/item/clothing/accessory/medal/badge/sheriff = 2,
/obj/item/clothing/head/cowboy_hat/small = 2,
/obj/item/toy/stickhorse = 2
)
@@ -1340,4 +1340,4 @@
to_chat(user, "<span class='notice'>You turn in 2 tickets to the [src] and claim a prize!</span>")
return
else
..() //You can now actually deconstruct these.
..() //You can now actually deconstruct these.
+6 -6
View File
@@ -24,7 +24,7 @@
item_path = /obj/item/bodybag/cryobag/robobag
tank_type = /obj/item/tank/stasis/nitro_cryo
stasis_level = 2 // Lower than the normal cryobag, because it's not made for meat that dies. It's made for robots and is freezing.
var/obj/item/clothing/accessory/badge/corptag // The tag on the bag.
var/obj/item/clothing/accessory/medal/badge/corptag // The tag on the bag.
/obj/structure/closet/body_bag/cryobag/robobag/examine(mob/user)
. = ..()
@@ -36,13 +36,13 @@
..()
if(corptag)
var/corptag_icon_state = "tag_blank"
if(istype(corptag,/obj/item/clothing/accessory/badge/holo/detective) || istype(corptag,/obj/item/clothing/accessory/badge/holo/detective) || istype(corptag, /obj/item/clothing/accessory/badge/holo/hos) || istype(corptag, /obj/item/clothing/accessory/badge/old) || istype(corptag, /obj/item/clothing/accessory/badge/sheriff))
if(istype(corptag,/obj/item/clothing/accessory/medal/badge/holo/detective) || istype(corptag,/obj/item/clothing/accessory/medal/badge/holo/detective) || istype(corptag, /obj/item/clothing/accessory/medal/badge/holo/hos) || istype(corptag, /obj/item/clothing/accessory/medal/badge/old) || istype(corptag, /obj/item/clothing/accessory/medal/badge/sheriff))
corptag_icon_state = "tag_badge_gold"
else if(istype(corptag, /obj/item/clothing/accessory/badge/holo/warden))
else if(istype(corptag, /obj/item/clothing/accessory/medal/badge/holo/warden))
corptag_icon_state = "tag_badge_silver"
else if(istype(corptag, /obj/item/clothing/accessory/badge/holo))
else if(istype(corptag, /obj/item/clothing/accessory/medal/badge/holo))
corptag_icon_state = "tag_badge_blue"
else if(istype(corptag, /obj/item/clothing/accessory/badge/corporate_tag))
else if(istype(corptag, /obj/item/clothing/accessory/medal/badge/corporate_tag))
corptag_icon_state = corptag.icon_state
add_overlay(corptag_icon_state)
@@ -86,7 +86,7 @@
for(var/mob/living/L in contents)
analyzer.attack(L,user)
else if(istype(W, /obj/item/clothing/accessory/badge))
else if(istype(W, /obj/item/clothing/accessory/medal/badge))
if(corptag)
var/old_tag = corptag
corptag.forceMove(get_turf(src))
@@ -187,7 +187,7 @@
/obj/item/hailer,
/obj/item/megaphone,
/obj/item/melee,
/obj/item/clothing/accessory/badge,
/obj/item/clothing/accessory/medal/badge,
/obj/item/gun/projectile/sec,
/obj/item/gun/projectile/p92x,
/obj/item/taperoll,
@@ -218,7 +218,7 @@
/obj/item/camera,
/obj/item/autopsy_scanner,
/obj/item/mass_spectrometer,
/obj/item/clothing/accessory/badge,
/obj/item/clothing/accessory/medal/badge,
/obj/item/reagent_scanner,
/obj/item/reagent_containers/dropper,
/obj/item/reagent_containers/syringe,
@@ -34,8 +34,8 @@
/obj/item/sample,
/obj/item/tool/screwdriver,
/obj/item/stamp,
/obj/item/clothing/accessory/permit,
/obj/item/clothing/accessory/badge,
/obj/item/clothing/accessory/medal/permit,
/obj/item/clothing/accessory/medal/badge,
/obj/item/makeover
)
cant_hold = list(/obj/item/tool/screwdriver/power)
@@ -84,7 +84,7 @@
/obj/item/shield/riot,
/obj/item/shield/riot/tele,
/obj/item/storage/box/holobadge/hos,
/obj/item/clothing/accessory/badge/holo/hos,
/obj/item/clothing/accessory/medal/badge/holo/hos,
/obj/item/reagent_containers/spray/pepper,
/obj/item/tool/crowbar/red,
/obj/item/storage/box/flashbangs,
@@ -134,7 +134,7 @@
/obj/item/radio/headset/headset_sec/alt,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/clothing/accessory/badge/holo/warden,
/obj/item/clothing/accessory/medal/badge/holo/warden,
/obj/item/storage/box/flashbangs,
/obj/item/storage/belt/security,
/obj/item/reagent_containers/spray/pepper,
@@ -230,7 +230,7 @@
close_sound = 'sound/machines/closet/closet_wood_close.ogg'
starts_with = list(
/obj/item/clothing/accessory/badge/holo/detective,
/obj/item/clothing/accessory/medal/badge/holo/detective,
/obj/item/clothing/gloves/black,
/obj/item/gunbox,
/obj/item/gun/energy/stunrevolver/vintage,
+9 -1
View File
@@ -66,4 +66,12 @@
name = "airtight plastic flaps"
desc = "Heavy duty, airtight, plastic flaps. Have extra safety installed, preventing passage of living beings."
can_atmos_pass = ATMOS_PASS_NO
can_pass_lying = FALSE
can_pass_lying = FALSE
/obj/structure/plasticflaps/xenofauna
name = "animal access flaps"
can_atmos_pass = ATMOS_PASS_NO
can_pass_lying = FALSE
mobs_can_pass = list(
/mob/living/simple_mob/animal
)
+30 -13
View File
@@ -24,7 +24,6 @@
/obj/structure/stasis_cage/proc/contain(var/mob/living/simple_mob/animal)
if(contained || !istype(animal))
return
contained = animal
animal.forceMove(src)
animal.in_stasis = 1
@@ -36,7 +35,6 @@
/obj/structure/stasis_cage/proc/release()
if(!contained)
return
contained.dropInto(src)
if(contained.buckled && istype(contained.buckled, /obj/effect/energy_net))
contained.buckled.dropInto(src)
@@ -48,20 +46,39 @@
/obj/structure/stasis_cage/Destroy()
release()
return ..()
/mob/living/simple_mob/MouseDrop(var/obj/structure/stasis_cage/over_object)
if(istype(over_object) && Adjacent(over_object) && CanMouseDrop(over_object, usr))
if(!istype(over_object) || !Adjacent(over_object) || !CanMouseDrop(over_object, usr))
return ..()
if(!src.buckled || !istype(src.buckled, /obj/effect/energy_net))
to_chat(usr, "It's going to be difficult to convince \the [src] to move into \the [over_object] without capturing it in a net.")
return
if(src != usr && !(sleeping || lying) && !istype(buckled, /obj/effect/energy_net))
to_chat(usr, SPAN_WARNING("It's going to be difficult to load \the [src] into \the [over_object] without putting it to sleep or capturing it in a net."))
return
usr.visible_message("[usr] begins stuffing \the [src] into \the [over_object].", "You begin stuffing \the [src] into \the [over_object].")
Bumped(usr)
if(do_after(usr, 20, over_object))
usr.visible_message("[usr] has stuffed \the [src] into \the [over_object].", "You have stuffed \the [src] into \the [over_object].")
over_object.contain(src)
if(usr == src)
usr.visible_message(
SPAN_NOTICE("\The [src] starts climbing into [src] \the [over_object]."),
SPAN_NOTICE("You start climbing into \the [over_object].")
)
else
return ..()
usr.visible_message(
SPAN_NOTICE("\The [usr] begins loading \the [src] into \the [over_object]."),
SPAN_NOTICE("You begin loading \the [src] into \the [over_object].")
)
Bumped(usr)
if(!do_after(usr, 20, over_object))
return
if(usr == src)
usr.visible_message(
SPAN_NOTICE("\The [usr] climbs into \the [over_object]."),
SPAN_NOTICE("You climb into \the [over_object].")
)
else
usr.visible_message(
SPAN_NOTICE("\The [usr] finishes loading \the [src] into \the [over_object]."),
SPAN_NOTICE("You finish loading \the [src] into \the [over_object].")
)
over_object.contain(src)
@@ -336,28 +336,28 @@
/datum/gear/accessory/pride
display_name = "pride pin selection"
path = /obj/item/clothing/accessory/pride
path = /obj/item/clothing/accessory/medal/pride
/datum/gear/accessory/pride/New()
..()
var/list/pridepins = list()
for(var/pridepin in typesof(/obj/item/clothing/accessory/pride))
var/obj/item/clothing/accessory/pridepin_type = pridepin
for(var/pridepin in typesof(/obj/item/clothing/accessory/medal/pride))
var/obj/item/clothing/accessory/medal/pridepin_type = pridepin
pridepins[initial(pridepin_type.name)] = pridepin_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(pridepins))
/datum/gear/accessory/corpbadge
display_name = "investigator holobadge (IAA)"
path = /obj/item/clothing/accessory/badge/holo/investigator
path = /obj/item/clothing/accessory/medal/badge/holo/investigator
allowed_roles = list("Internal Affairs Agent")
/datum/gear/accessory/pressbadge
display_name = "press pass, corporate"
path = /obj/item/clothing/accessory/badge/press
path = /obj/item/clothing/accessory/medal/badge/press
/datum/gear/accessory/pressbadgefreelance
display_name = "press pass, freelance"
path = /obj/item/clothing/accessory/badge/press/independent
path = /obj/item/clothing/accessory/medal/badge/press/independent
/datum/gear/accessory/legbrace
display_name = "leg braces"
@@ -465,37 +465,36 @@
icon_state = "sash"
slot = ACCESSORY_SLOT_OVER
/obj/item/clothing/accessory/pride
/obj/item/clothing/accessory/medal/pride
name = "pride pin"
desc = "A pin displaying pride in one's identity."
icon_state = "pride"
slot = ACCESSORY_SLOT_MEDAL
/obj/item/clothing/accessory/pride/bi
/obj/item/clothing/accessory/medal/pride/bi
name = "bisexual pride pin"
icon_state = "pride_bi"
/obj/item/clothing/accessory/pride/trans
/obj/item/clothing/accessory/medal/pride/trans
name = "transgender pride pin"
icon_state = "pride_trans"
/obj/item/clothing/accessory/pride/ace
/obj/item/clothing/accessory/medal/pride/ace
name = "asexual pride pin"
icon_state = "pride_ace"
/obj/item/clothing/accessory/pride/enby
/obj/item/clothing/accessory/medal/pride/enby
name = "nonbinary pride pin"
icon_state = "pride_enby"
/obj/item/clothing/accessory/pride/pan
/obj/item/clothing/accessory/medal/pride/pan
name = "pansexual pride pin"
icon_state = "pride_pan"
/obj/item/clothing/accessory/pride/lesbian
/obj/item/clothing/accessory/medal/pride/lesbian
name = "lesbian pride pin"
icon_state = "pride_lesbian"
/obj/item/clothing/accessory/pride/intersex
/obj/item/clothing/accessory/medal/pride/intersex
name = "intersex pride pin"
icon_state = "pride_intersex"
@@ -4,23 +4,22 @@
or they can be emagged to accept any ID for use in disguises.
*/
/obj/item/clothing/accessory/badge
/obj/item/clothing/accessory/medal/badge
name = "detective's badge"
desc = "NanoTrasen Security Department detective's badge, made from gold."
icon_state = "marshalbadge"
slot_flags = SLOT_BELT | SLOT_TIE
slot = ACCESSORY_SLOT_MEDAL
var/stored_name
var/badge_string = "Corporate Security"
/obj/item/clothing/accessory/badge/proc/set_name(var/new_name)
/obj/item/clothing/accessory/medal/badge/proc/set_name(var/new_name)
stored_name = new_name
name = "[initial(name)] ([stored_name])"
/obj/item/clothing/accessory/badge/proc/set_desc(var/mob/living/carbon/human/H)
/obj/item/clothing/accessory/medal/badge/proc/set_desc(var/mob/living/carbon/human/H)
/obj/item/clothing/accessory/badge/attack_self(mob/user as mob)
/obj/item/clothing/accessory/medal/badge/attack_self(mob/user as mob)
if(!stored_name)
to_chat(user, "You polish your old badge fondly, shining up the surface.")
@@ -33,47 +32,47 @@
else
user.visible_message("<span class='notice'>[user] displays their [src.name].\nIt reads: [badge_string].</span>","<span class='notice'>You display your [src.name]. It reads: [badge_string].</span>")
/obj/item/clothing/accessory/badge/attack(mob/living/carbon/human/M, mob/living/user)
/obj/item/clothing/accessory/medal/badge/attack(mob/living/carbon/human/M, mob/living/user)
if(isliving(user))
user.visible_message("<span class='danger'>[user] invades [M]'s personal space, thrusting [src] into their face insistently.</span>","<span class='danger'>You invade [M]'s personal space, thrusting [src] into their face insistently.</span>")
user.do_attack_animation(M)
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //to prevent spam
// Sheriff Badge (toy)
/obj/item/clothing/accessory/badge/sheriff
/obj/item/clothing/accessory/medal/badge/sheriff
name = "sheriff badge"
desc = "This town ain't big enough for the two of us, pardner."
icon_state = "sheriff_toy"
item_state = "sheriff_toy"
/obj/item/clothing/accessory/badge/sheriff/attack_self(mob/user as mob)
/obj/item/clothing/accessory/medal/badge/sheriff/attack_self(mob/user as mob)
user.visible_message("[user] shows their sheriff badge. There's a new sheriff in town!",\
"You flash the sheriff badge to everyone around you!")
/obj/item/clothing/accessory/badge/sheriff/attack(mob/living/carbon/human/M, mob/living/user)
/obj/item/clothing/accessory/medal/badge/sheriff/attack(mob/living/carbon/human/M, mob/living/user)
if(isliving(user))
user.visible_message("<span class='danger'>[user] invades [M]'s personal space, the sheriff badge into their face!.</span>","<span class='danger'>You invade [M]'s personal space, thrusting the sheriff badge into their face insistently.</span>")
user.do_attack_animation(M)
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //to prevent spam
//Security Holobadges
/obj/item/clothing/accessory/badge/holo
/obj/item/clothing/accessory/medal/badge/holo
name = "holobadge"
desc = "This glowing blue badge marks the holder as law enforcement."
icon_state = "holobadge"
var/emagged //Emagging removes Sec check.
/obj/item/clothing/accessory/badge/holo/cord
/obj/item/clothing/accessory/medal/badge/holo/cord
icon_state = "holobadge-cord"
slot_flags = SLOT_MASK | SLOT_TIE | SLOT_BELT
/obj/item/clothing/accessory/badge/holo/attack_self(mob/user as mob)
/obj/item/clothing/accessory/medal/badge/holo/attack_self(mob/user as mob)
if(!stored_name)
to_chat(user, "Waving around a holobadge before swiping an ID would be pretty pointless.")
return
return ..()
/obj/item/clothing/accessory/badge/holo/emag_act(var/remaining_charges, var/mob/user)
/obj/item/clothing/accessory/medal/badge/holo/emag_act(var/remaining_charges, var/mob/user)
if (emagged)
to_chat(user, "<span class='danger'>\The [src] is already cracked.</span>")
return
@@ -82,7 +81,7 @@
to_chat(user, "<span class='danger'>You crack the holobadge security checks.</span>")
return 1
/obj/item/clothing/accessory/badge/holo/attackby(var/obj/item/O as obj, var/mob/user as mob)
/obj/item/clothing/accessory/medal/badge/holo/attackby(var/obj/item/O as obj, var/mob/user as mob)
if(istype(O, /obj/item/card/id) || istype(O, /obj/item/pda))
var/obj/item/card/id/id_card = null
@@ -105,30 +104,30 @@
name = "holobadge box"
desc = "A box claiming to contain holobadges."
starts_with = list(
/obj/item/clothing/accessory/badge/holo = 4,
/obj/item/clothing/accessory/badge/holo/officer = 2,
/obj/item/clothing/accessory/badge/holo/cord = 2
/obj/item/clothing/accessory/medal/badge/holo = 4,
/obj/item/clothing/accessory/medal/badge/holo/officer = 2,
/obj/item/clothing/accessory/medal/badge/holo/cord = 2
)
/obj/item/clothing/accessory/badge/holo/officer
/obj/item/clothing/accessory/medal/badge/holo/officer
name = "officer's badge"
desc = "A bronze corporate security badge. Stamped with the words 'Security Officer.'"
icon_state = "bronzebadge"
slot_flags = SLOT_TIE | SLOT_BELT
/obj/item/clothing/accessory/badge/holo/warden
/obj/item/clothing/accessory/medal/badge/holo/warden
name = "warden's holobadge"
desc = "A silver corporate security badge. Stamped with the words 'Warden.'"
icon_state = "silverbadge"
slot_flags = SLOT_TIE | SLOT_BELT
/obj/item/clothing/accessory/badge/holo/hos
/obj/item/clothing/accessory/medal/badge/holo/hos
name = "head of security's holobadge"
desc = "An immaculately polished gold security badge. Stamped with the words 'Head of Security.'"
icon_state = "goldbadge"
slot_flags = SLOT_TIE | SLOT_BELT
/obj/item/clothing/accessory/badge/holo/detective
/obj/item/clothing/accessory/medal/badge/holo/detective
name = "detective's holobadge"
desc = "An immaculately polished gold security badge on leather. Labeled 'Detective.'"
icon_state = "marshalbadge"
@@ -138,22 +137,22 @@
name = "holobadge box"
desc = "A box claiming to contain holobadges."
starts_with = list(
/obj/item/clothing/accessory/badge/holo = 2,
/obj/item/clothing/accessory/badge/holo/warden = 1,
/obj/item/clothing/accessory/badge/holo/detective = 2,
/obj/item/clothing/accessory/badge/holo/hos = 1,
/obj/item/clothing/accessory/badge/holo/cord = 1
/obj/item/clothing/accessory/medal/badge/holo = 2,
/obj/item/clothing/accessory/medal/badge/holo/warden = 1,
/obj/item/clothing/accessory/medal/badge/holo/detective = 2,
/obj/item/clothing/accessory/medal/badge/holo/hos = 1,
/obj/item/clothing/accessory/medal/badge/holo/cord = 1
)
/obj/item/clothing/accessory/badge/holo/investigator
/obj/item/clothing/accessory/medal/badge/holo/investigator
name = "\improper Internal Investigations holobadge"
desc = "This badge marks the holder as an internal affairs investigator."
icon_state = "invbadge"
badge_string = "Internal Investigations"
slot_flags = SLOT_TIE | SLOT_BELT
/obj/item/clothing/accessory/badge/holo/sheriff
/obj/item/clothing/accessory/medal/badge/holo/sheriff
name = "sheriff badge"
desc = "A star-shaped brass badge denoting who the law is around these parts."
icon_state = "sheriff"
@@ -161,24 +160,24 @@
//Other badges
/obj/item/clothing/accessory/badge/old
/obj/item/clothing/accessory/medal/badge/old
name = "faded badge"
desc = "A faded law enforcement badge in an older design."
icon_state = "badge_round"
/obj/item/clothing/accessory/badge/solid
/obj/item/clothing/accessory/medal/badge/solid
name = "\improper SolGov ID badge"
desc = "A descriptive identification badge with the holder's credentials. This one indicates the holder is representing the SCG."
icon_state = "solbadge"
badge_string = null
/obj/item/clothing/accessory/badge/ntid
/obj/item/clothing/accessory/medal/badge/ntid
name = "\improper NT ID badge"
desc = "A descriptive identification badge with the holder's credentials. This one has red marks with the NanoTrasen logo on it."
icon_state = "ntbadge"
badge_string = null
/obj/item/clothing/accessory/badge/press
/obj/item/clothing/accessory/medal/badge/press
name = "corporate press pass"
desc = "A corporate reporter's pass, emblazoned with the NanoTrasen logo."
icon_state = "pressbadge"
@@ -189,13 +188,13 @@
drop_sound = 'sound/items/drop/rubber.ogg'
pickup_sound = 'sound/items/pickup/rubber.ogg'
/obj/item/clothing/accessory/badge/press/independent
/obj/item/clothing/accessory/medal/badge/press/independent
name = "press pass"
desc = "A freelance journalist's pass, certified by Oculum Broadcast."
icon_state = "pressbadge-i"
badge_string = "Freelance Journalist"
/obj/item/clothing/accessory/badge/press/plastic
/obj/item/clothing/accessory/medal/badge/press/plastic
name = "plastic press pass"
desc = "A journalist's 'pass' shaped, for whatever reason, like a security badge. It is made of plastic."
icon_state = "pbadge"
@@ -204,62 +203,62 @@
// Synthmorph bag / Corporation badges. Primarily used on the robobag, but can be worn. Default is NT.
/obj/item/clothing/accessory/badge/corporate_tag
/obj/item/clothing/accessory/medal/badge/corporate_tag
name = "NanoTrasen Badge"
desc = "A plain metallic plate that might denote the wearer as a member of NanoTrasen."
icon_state = "tag_nt"
item_state = "badge"
badge_string = "NanoTrasen"
/obj/item/clothing/accessory/badge/corporate_tag/morpheus
/obj/item/clothing/accessory/medal/badge/corporate_tag/morpheus
name = "Morpheus Badge"
desc = "A plain metallic plate that might denote the wearer as a member of Morpheus Cyberkinetics."
icon_state = "tag_blank"
badge_string = "Morpheus"
/obj/item/clothing/accessory/badge/corporate_tag/wardtaka
/obj/item/clothing/accessory/medal/badge/corporate_tag/wardtaka
name = "Ward-Takahashi Badge"
desc = "A plain metallic plate that might denote the wearer as a member of Ward-Takahashi."
icon_state = "tag_ward"
badge_string = "Ward-Takahashi"
/obj/item/clothing/accessory/badge/corporate_tag/zenghu
/obj/item/clothing/accessory/medal/badge/corporate_tag/zenghu
name = "Zeng-Hu Badge"
desc = "A plain metallic plate that might denote the wearer as a member of Zeng-Hu."
icon_state = "tag_zeng"
badge_string = "Zeng-Hu"
/obj/item/clothing/accessory/badge/corporate_tag/gilthari
/obj/item/clothing/accessory/medal/badge/corporate_tag/gilthari
name = "Gilthari Badge"
desc = "An opulent metallic plate that might denote the wearer as a member of Gilthari."
icon_state = "tag_gil"
badge_string = "Gilthari"
/obj/item/clothing/accessory/badge/corporate_tag/veymed
/obj/item/clothing/accessory/medal/badge/corporate_tag/veymed
name = "Vey-Medical Badge"
desc = "A plain metallic plate that might denote the wearer as a member of Vey-Medical."
icon_state = "tag_vey"
badge_string = "Vey-Medical"
/obj/item/clothing/accessory/badge/corporate_tag/hephaestus
/obj/item/clothing/accessory/medal/badge/corporate_tag/hephaestus
name = "Hephaestus Badge"
desc = "A rugged metallic plate that might denote the wearer as a member of Hephaestus."
icon_state = "tag_heph"
badge_string = "Hephaestus"
/obj/item/clothing/accessory/badge/corporate_tag/grayson
/obj/item/clothing/accessory/medal/badge/corporate_tag/grayson
name = "Grayson Badge"
desc = "A rugged metallic plate that might denote the wearer as a member of Grayson."
icon_state = "tag_grayson"
badge_string = "Grayson"
/obj/item/clothing/accessory/badge/corporate_tag/xion
/obj/item/clothing/accessory/medal/badge/corporate_tag/xion
name = "Xion Badge"
desc = "A rugged metallic plate that might denote the wearer as a member of Xion."
icon_state = "tag_xion"
badge_string = "Xion"
/obj/item/clothing/accessory/badge/corporate_tag/bishop
/obj/item/clothing/accessory/medal/badge/corporate_tag/bishop
name = "Bishop Badge"
desc = "A sleek metallic plate that might denote the wearer as a member of Bishop."
icon_state = "tag_bishop"
@@ -1,15 +1,14 @@
//This'll be used for gun permits, such as for heads of staff, antags, and bartenders
/obj/item/clothing/accessory/permit
/obj/item/clothing/accessory/medal/permit
name = "permit"
desc = "A permit for something."
icon = 'icons/obj/card_new.dmi'
icon_state = "permit-generic"
w_class = ITEMSIZE_TINY
slot = ACCESSORY_SLOT_MEDAL
var/owner = 0 //To prevent people from just renaming the thing if they steal it
/obj/item/clothing/accessory/permit/attack_self(mob/user as mob)
/obj/item/clothing/accessory/medal/permit/attack_self(mob/user as mob)
if(isliving(user))
if(!owner)
set_name(user.name)
@@ -17,31 +16,31 @@
else
to_chat(user, "[src] already has an owner!")
/obj/item/clothing/accessory/permit/proc/set_name(var/new_name)
/obj/item/clothing/accessory/medal/permit/proc/set_name(var/new_name)
owner = 1
if(new_name)
src.name += " ([new_name])"
desc += " It belongs to [new_name]."
/obj/item/clothing/accessory/permit/emag_act(var/remaining_charges, var/mob/user)
/obj/item/clothing/accessory/medal/permit/emag_act(var/remaining_charges, var/mob/user)
to_chat(user, "You reset the naming locks on [src]!")
owner = 0
/obj/item/clothing/accessory/permit/gun
/obj/item/clothing/accessory/medal/permit/gun
name = "weapon permit"
desc = "A card indicating that the owner is allowed to carry a firearm."
icon_state = "permit-security"
/obj/item/clothing/accessory/permit/gun/bar
/obj/item/clothing/accessory/medal/permit/gun/bar
name = "bar shotgun permit"
desc = "A card indicating that the owner is allowed to carry a shotgun in the bar."
/obj/item/clothing/accessory/permit/gun/planetside
/obj/item/clothing/accessory/medal/permit/gun/planetside
name = "planetside gun permit"
desc = "A card indicating that the owner is allowed to carry a firearm while on the surface."
icon_state = "permit-science"
/obj/item/clothing/accessory/permit/drone
/obj/item/clothing/accessory/medal/permit/drone
name = "drone identification card"
desc = "A card issued by the EIO, indicating that the owner is a Drone Intelligence. Drones are mandated to carry this card within SolGov space, by law."
icon_state = "permit-drone"
icon_state = "permit-drone"
@@ -111,30 +111,29 @@ medals
/******
ribbons
******/
/obj/item/clothing/accessory/ribbon/solgov
/obj/item/clothing/accessory/medal/ribbon/solgov
name = "ribbon"
desc = "A simple military decoration."
icon_state = "ribbon_marksman"
on_rolled = list("down" = "none")
slot = ACCESSORY_SLOT_MEDAL
w_class = ITEMSIZE_TINY
/obj/item/clothing/accessory/ribbon/solgov/marksman
/obj/item/clothing/accessory/medal/ribbon/solgov/marksman
name = "marksmanship ribbon"
desc = "A military decoration awarded to members of the SCG for good marksmanship scores in training. Common in the days of energy weapons."
icon_state = "ribbon_marksman"
/obj/item/clothing/accessory/ribbon/solgov/peace
/obj/item/clothing/accessory/medal/ribbon/solgov/peace
name = "peacekeeping ribbon"
desc = "A military decoration awarded to members of the SCG for service during a peacekeeping operation."
icon_state = "ribbon_peace"
/obj/item/clothing/accessory/ribbon/solgov/frontier
/obj/item/clothing/accessory/medal/ribbon/solgov/frontier
name = "frontier ribbon"
desc = "A military decoration awarded to members of the SCG for service along the frontier."
icon_state = "ribbon_frontier"
/obj/item/clothing/accessory/ribbon/solgov/instructor
/obj/item/clothing/accessory/medal/ribbon/solgov/instructor
name = "instructor ribbon"
desc = "A military decoration awarded to members of the SCG for service as an instructor."
icon_state = "ribbon_instructor"
@@ -196,14 +195,14 @@ specialty pins
/*****
badges
*****/
/obj/item/clothing/accessory/badge/solgov/security
/obj/item/clothing/accessory/medal/badge/solgov/security
name = "security forces badge"
desc = "A silver law enforcement badge. Stamped with the words 'Master at Arms'."
icon_state = "silverbadge"
slot_flags = SLOT_TIE
badge_string = "Sol Central Government"
/obj/item/clothing/accessory/badge/solgov/tags
/obj/item/clothing/accessory/medal/badge/solgov/tags
name = "dog tags"
desc = "Plain identification tags made from a durable metal. They are stamped with a variety of informational details."
gender = PLURAL
@@ -211,7 +210,7 @@ badges
badge_string = "Sol Central Government"
slot_flags = SLOT_MASK | SLOT_TIE
/obj/item/clothing/accessory/badge/solgov/tags/Initialize()
/obj/item/clothing/accessory/medal/badge/solgov/tags/Initialize()
. = ..()
var/mob/living/carbon/human/H
H = get_holder_of_type(src, /mob/living/carbon/human)
@@ -219,13 +218,13 @@ badges
set_name(H.real_name)
set_desc(H)
/obj/item/clothing/accessory/badge/solgov/tags/set_desc(var/mob/living/carbon/human/H)
/obj/item/clothing/accessory/medal/badge/solgov/tags/set_desc(var/mob/living/carbon/human/H)
if(!istype(H))
return
var/religion = "Unset"
desc = "[initial(desc)]\nName: [H.real_name] ([H.get_species_name()])\nReligion: [religion]\nBlood type: [H.b_type]"
/obj/item/clothing/accessory/badge/solgov/representative
/obj/item/clothing/accessory/medal/badge/solgov/representative
name = "representative's badge"
desc = "A leather-backed plastic badge with a variety of information printed on it. Belongs to a representative of the Sol Central Government."
icon_state = "solbadge"
@@ -1518,7 +1518,7 @@
var/braintype = get_FBP_type()
if(braintype == FBP_DRONE)
var/turf/T = get_turf(src)
var/obj/item/clothing/accessory/permit/drone/permit = new(T)
var/obj/item/clothing/accessory/medal/permit/drone/permit = new(T)
permit.set_name(real_name)
equip_to_appropriate_slot(permit) // If for some reason it can't find room, it'll still be on the floor.
@@ -46,7 +46,7 @@
if(!A || suit.loc != src || !(A in suit.accessories))
return
if(istype(A, /obj/item/clothing/accessory/badge) || istype(A, /obj/item/clothing/accessory/medal))
if(istype(A, /obj/item/clothing/accessory/medal/badge) || istype(A, /obj/item/clothing/accessory/medal))
user.visible_message("<span class='danger'>\The [user] tears off \the [A] from [src]'s [suit.name]!</span>")
add_attack_logs(user,src,"Stripped [A.name] off [suit.name]")
A.on_removed(user)
@@ -67,7 +67,7 @@
var/obj/item/grab/grab = held
if(istype(grab) && grab.affecting == src)
stripping = TRUE
if(stripping)
if(!istype(target_slot)) // They aren't holding anything valid and there's nothing to remove, why are we even here?
return
@@ -14,6 +14,7 @@
var/const/ATTACHED_ARMOR = "armor plate"
var/const/ATTACHED_LIGHT = "light"
var/const/ATTACHED_ID = "access card"
var/const/ATTACHED_TAG = "tag"
/// Contains valid types that the harness will attach to.
var/list/harnessable_types
@@ -19,7 +19,8 @@
/obj/item/storage/animal_harness/grafadreka/proc/UpdateArmor
),
/obj/item/card/id = ATTACHED_ID,
/obj/item/flashlight = ATTACHED_LIGHT
/obj/item/flashlight = ATTACHED_LIGHT,
/obj/item/clothing/accessory/medal = ATTACHED_TAG
)
@@ -13,6 +13,14 @@
Open()
/obj/structure/fence/door/interaction_grafadreka(mob/living/simple_mob/animal/sif/grafadreka/drake)
. = TRUE
if (drake.a_intent == I_HURT)
return ..()
if (!open && !locked)
toggle(drake)
/obj/structure/loot_pile/interaction_grafadreka(mob/living/simple_mob/animal/sif/grafadreka/drake)
. = TRUE
if (drake.a_intent == I_HURT)
+10 -10
View File
@@ -455,35 +455,35 @@
desc = "Used to identify an empty NanoTrasen FBP."
id = "misc_synth_bag_tag_nt"
materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000)
build_path = /obj/item/clothing/accessory/badge/corporate_tag
build_path = /obj/item/clothing/accessory/medal/badge/corporate_tag
/datum/design/item/prosfab/badge_morph
name = "Morpheus Tag"
desc = "Used to identify an empty Morpheus FBP."
id = "misc_synth_bag_tag_morph"
materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000)
build_path = /obj/item/clothing/accessory/badge/corporate_tag/morpheus
build_path = /obj/item/clothing/accessory/medal/badge/corporate_tag/morpheus
/datum/design/item/prosfab/badge_wardtaka
name = "Ward-Takahashi Tag"
desc = "Used to identify an empty Ward-Takahashi FBP."
id = "misc_synth_bag_tag_wardtaka"
materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000)
build_path = /obj/item/clothing/accessory/badge/corporate_tag/wardtaka
build_path = /obj/item/clothing/accessory/medal/badge/corporate_tag/wardtaka
/datum/design/item/prosfab/badge_zenghu
name = "Zeng-Hu Tag"
desc = "Used to identify an empty Zeng-Hu FBP."
id = "misc_synth_bag_tag_zenghu"
materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000)
build_path = /obj/item/clothing/accessory/badge/corporate_tag/zenghu
build_path = /obj/item/clothing/accessory/medal/badge/corporate_tag/zenghu
/datum/design/item/prosfab/badge_gilthari
name = "Gilthari Tag"
desc = "Used to identify an empty Gilthari FBP."
id = "misc_synth_bag_tag_gilthari"
materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_GOLD = 1000)
build_path = /obj/item/clothing/accessory/badge/corporate_tag/gilthari
build_path = /obj/item/clothing/accessory/medal/badge/corporate_tag/gilthari
req_tech = list(TECH_MATERIAL = 4, TECH_ILLEGAL = 2, TECH_PHORON = 2)
/datum/design/item/prosfab/badge_veymed
@@ -491,7 +491,7 @@
desc = "Used to identify an empty Vey-Medical FBP."
id = "misc_synth_bag_tag_veymed"
materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000)
build_path = /obj/item/clothing/accessory/badge/corporate_tag/veymed
build_path = /obj/item/clothing/accessory/medal/badge/corporate_tag/veymed
req_tech = list(TECH_MATERIAL = 3, TECH_ILLEGAL = 1, TECH_BIO = 4)
/datum/design/item/prosfab/badge_hephaestus
@@ -499,25 +499,25 @@
desc = "Used to identify an empty Hephaestus FBP."
id = "misc_synth_bag_tag_heph"
materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000)
build_path = /obj/item/clothing/accessory/badge/corporate_tag/hephaestus
build_path = /obj/item/clothing/accessory/medal/badge/corporate_tag/hephaestus
/datum/design/item/prosfab/badge_grayson
name = "Grayson Tag"
desc = "Used to identify an empty Grayson FBP."
id = "misc_synth_bag_tag_grayson"
materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000)
build_path = /obj/item/clothing/accessory/badge/corporate_tag/grayson
build_path = /obj/item/clothing/accessory/medal/badge/corporate_tag/grayson
/datum/design/item/prosfab/badge_xion
name = "Xion Tag"
desc = "Used to identify an empty Xion FBP."
id = "misc_synth_bag_tag_xion"
materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000)
build_path = /obj/item/clothing/accessory/badge/corporate_tag/xion
build_path = /obj/item/clothing/accessory/medal/badge/corporate_tag/xion
/datum/design/item/prosfab/badge_bishop
name = "Bishop Tag"
desc = "Used to identify an empty Bishop FBP."
id = "misc_synth_bag_tag_bishop"
materials = list(MAT_STEEL = 500, MAT_GLASS = 2000, MAT_PLASTIC = 500)
build_path = /obj/item/clothing/accessory/badge/corporate_tag/bishop
build_path = /obj/item/clothing/accessory/medal/badge/corporate_tag/bishop
@@ -4,7 +4,7 @@
"d" = (/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
"e" = (/obj/machinery/light/small,/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/shuttle/floor/voidcraft/light,/area/survivalpod)
"f" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/bed/chair/comfy/black{dir = 8},/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
"g" = (/obj/structure/table/glass,/obj/structure/closet/secure_closet/guncabinet/phase{pixel_y = -32},/obj/item/gun/energy/locked/frontier/holdout,/obj/item/gun/energy/locked/frontier/holdout,/obj/item/clothing/accessory/permit/gun/planetside,/obj/item/clothing/accessory/permit/gun/planetside,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
"g" = (/obj/structure/table/glass,/obj/structure/closet/secure_closet/guncabinet/phase{pixel_y = -32},/obj/item/gun/energy/locked/frontier/holdout,/obj/item/gun/energy/locked/frontier/holdout,/obj/item/clothing/accessory/medal/permit/gun/planetside,/obj/item/clothing/accessory/medal/permit/gun/planetside,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
"h" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner,/area/survivalpod)
"i" = (/obj/effect/floor_decal/industrial/danger/full,/obj/structure/fans/tiny,/obj/machinery/door/airlock/voidcraft/survival_pod,/turf/simulated/shuttle/floor/voidcraft/dark,/area/survivalpod)
"j" = (/obj/structure/sign/mining/survival,/turf/simulated/shuttle/wall/voidcraft/survival,/area/survivalpod)
+4 -3
View File
@@ -7431,10 +7431,11 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/door/airlock/maintenance{
req_one_access = list(5,12,47)
},
/obj/machinery/door/firedoor/border_only,
/obj/machinery/door/airlock/maintenance{
req_access = list(12, 67);
name = "Xenofauna Maintenance Access"
},
/turf/simulated/floor/plating,
/area/surface/station/maintenance/medical/west)
"pC" = (
+59 -41
View File
@@ -126,9 +126,6 @@
/turf/simulated/floor/tiled,
/area/surface/station/hallway/primary/groundfloor/north)
"aef" = (
/obj/effect/floor_decal/corner/purple/bordercorner{
dir = 1
},
/obj/effect/floor_decal/corner/purple/bordercorner{
dir = 4
},
@@ -2021,6 +2018,10 @@
name = "Trained Drake"
},
/obj/structure/animal_den,
/obj/machinery/camera/network/ground_floor{
c_tag = "Ground Floor - East Hallway 1";
dir = 4
},
/turf/simulated/floor/outdoors/dirt/sif,
/area/rnd/xenobiology/xenofauna)
"aXC" = (
@@ -3218,6 +3219,17 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/surface/station/medical/etc)
"bwx" = (
/obj/effect/landmark/start{
name = "Trained Drake"
},
/obj/structure/animal_den,
/obj/machinery/camera/network/ground_floor{
c_tag = "Ground Floor - Garage";
dir = 8
},
/turf/simulated/floor/outdoors/dirt/sif,
/area/rnd/xenobiology/xenofauna)
"bwR" = (
/obj/structure/stairs/spawner/north,
/turf/simulated/floor/plating,
@@ -11262,7 +11274,7 @@
"eYF" = (
/obj/machinery/door/airlock/glass_research{
name = "Xenofauna Lab";
req_one_access = list(55)
req_one_access = list(67)
},
/obj/machinery/door/firedoor/border_only,
/obj/effect/floor_decal/corner/purple/bordercorner,
@@ -13834,6 +13846,11 @@
},
/obj/item/reagent_containers/syringe/bicaridine,
/obj/item/storage/firstaid/surgery/simple,
/obj/machinery/camera/network/ground_floor{
c_tag = "Ground Floor - East Hallway 1";
dir = 4
},
/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat,
/turf/simulated/floor/tiled/white,
/area/rnd/xenobiology/xenofauna)
"giV" = (
@@ -15324,10 +15341,6 @@
name = "north bump";
pixel_y = 24
},
/obj/machinery/alarm{
dir = 4;
pixel_x = -22
},
/obj/structure/cable/green{
d2 = 4;
icon_state = "0-4"
@@ -15339,6 +15352,10 @@
/obj/item/melee/umbrella/random,
/obj/item/melee/umbrella/random,
/obj/item/melee/umbrella/random,
/obj/machinery/alarm/outside{
dir = 4;
pixel_x = -22
},
/turf/simulated/floor/tiled/techmaint,
/area/rnd/xenobiology/xenofauna)
"gPq" = (
@@ -17003,6 +17020,7 @@
/obj/effect/landmark/start{
name = "Xenofauna Technician"
},
/obj/item/book/manual/drake_handling,
/turf/simulated/floor/tiled/techmaint,
/area/rnd/xenobiology/xenofauna)
"hGr" = (
@@ -17890,6 +17908,10 @@
pixel_x = -18;
pixel_y = -4
},
/obj/machinery/camera/network/ground_floor{
c_tag = "Ground Floor - East Hallway 1";
dir = 4
},
/turf/simulated/floor/tiled/techmaint,
/area/rnd/xenobiology/xenofauna)
"idR" = (
@@ -19397,7 +19419,7 @@
},
/obj/machinery/door/airlock/glass_research{
name = "Xenofauna Lab";
req_one_access = list(55)
req_one_access = list(67)
},
/turf/simulated/floor/tiled/steel_grid,
/area/rnd/xenobiology/xenofauna)
@@ -20735,9 +20757,9 @@
dir = 6
},
/obj/structure/closet/wardrobe/red,
/obj/item/clothing/accessory/badge/holo,
/obj/item/clothing/accessory/badge/holo,
/obj/item/clothing/accessory/badge/holo/cord,
/obj/item/clothing/accessory/medal/badge/holo,
/obj/item/clothing/accessory/medal/badge/holo,
/obj/item/clothing/accessory/medal/badge/holo/cord,
/obj/item/clothing/suit/storage/hazardvest/green,
/obj/item/clothing/suit/storage/hazardvest/green,
/turf/simulated/floor/tiled/techmaint,
@@ -25251,12 +25273,11 @@
/turf/simulated/floor/tiled/white,
/area/surface/station/medical/etc)
"lwJ" = (
/obj/structure/table/steel_reinforced,
/obj/item/book/manual/drake_handling,
/obj/effect/floor_decal/corner/purple/border{
dir = 9
/obj/effect/floor_decal/industrial/warning{
dir = 5
},
/turf/simulated/floor/tiled/techmaint,
/obj/structure/stasis_cage,
/turf/simulated/floor/plating,
/area/rnd/xenobiology/xenofauna)
"lwM" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -26155,7 +26176,6 @@
/turf/simulated/floor/tiled,
/area/surface/station/security/processing)
"lQt" = (
/obj/structure/plasticflaps/mining,
/obj/effect/floor_decal/corner/purple/bordercorner{
dir = 4
},
@@ -26163,7 +26183,9 @@
dir = 1
},
/obj/machinery/door/firedoor/border_only,
/turf/simulated/floor/tiled/techmaint,
/obj/effect/floor_decal/industrial/warning/full,
/obj/structure/plasticflaps/xenofauna,
/turf/simulated/floor/plating,
/area/rnd/xenobiology/xenofauna)
"lQz" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on,
@@ -34249,7 +34271,7 @@
/obj/machinery/door/firedoor/border_only,
/obj/machinery/door/airlock/glass_research{
name = "Xenofauna Lab";
req_one_access = list(55)
req_one_access = list(67)
},
/turf/simulated/floor/tiled/steel_grid,
/area/rnd/xenobiology/xenofauna)
@@ -37431,10 +37453,11 @@
/turf/simulated/floor/carpet,
/area/surface/station/library)
"qwP" = (
/obj/effect/floor_decal/corner/purple/border{
dir = 10
/obj/effect/floor_decal/industrial/warning{
dir = 6
},
/turf/simulated/floor/tiled/techmaint,
/obj/structure/stasis_cage,
/turf/simulated/floor/plating,
/area/rnd/xenobiology/xenofauna)
"qwT" = (
/obj/structure/flora/ausbushes/sparsegrass,
@@ -41132,9 +41155,6 @@
/area/shuttle/exploration/general)
"sem" = (
/obj/effect/floor_decal/corner/purple/bordercorner,
/obj/effect/floor_decal/corner/purple/bordercorner{
dir = 8
},
/turf/simulated/floor/tiled/techmaint,
/area/rnd/xenobiology/xenofauna)
"seC" = (
@@ -47577,7 +47597,9 @@
/turf/simulated/floor/bluegrid,
/area/surface/station/ai/server_room)
"vfE" = (
/obj/machinery/door/window/brigdoor/northleft,
/obj/machinery/door/window/brigdoor/northleft{
req_access = list(67)
},
/turf/simulated/floor/tiled/white,
/area/rnd/xenobiology/xenofauna)
"vfM" = (
@@ -48680,6 +48702,14 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
/obj/machinery/camera/network/ground_floor{
c_tag = "Ground Floor - Garage";
dir = 8
},
/obj/machinery/alarm/outside{
dir = 8;
pixel_x = 22
},
/turf/simulated/floor/tiled/techmaint,
/area/rnd/xenobiology/xenofauna)
"vCf" = (
@@ -51259,18 +51289,6 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/surface/station/security/interrogation)
"wPB" = (
/obj/machinery/door/firedoor/border_only,
/obj/machinery/door/airlock/glass_research{
name = "Xenofauna Lab";
req_one_access = list(55)
},
/obj/effect/floor_decal/corner/purple/bordercorner,
/obj/effect/floor_decal/corner/purple/bordercorner{
dir = 8
},
/turf/simulated/floor/tiled/steel_grid,
/area/rnd/xenobiology/xenofauna)
"wPJ" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
dir = 6
@@ -83461,7 +83479,7 @@ xbF
kRE
kRE
jUn
aWY
bwx
jUn
jUn
iRX
@@ -84233,7 +84251,7 @@ kRE
kRE
kRE
vfV
wPB
bok
dzA
dwh
pYW
+3 -3
View File
@@ -10661,9 +10661,9 @@
/area/shuttle/merchant/home)
"lMq" = (
/obj/structure/table/standard,
/obj/item/clothing/accessory/permit,
/obj/item/clothing/accessory/permit,
/obj/item/clothing/accessory/permit,
/obj/item/clothing/accessory/medal/permit,
/obj/item/clothing/accessory/medal/permit,
/obj/item/clothing/accessory/medal/permit,
/turf/unsimulated/floor{
icon_state = "steel"
},
+1
View File
@@ -15,6 +15,7 @@
#include "loadout/loadout_uniform.dm"
#include "datums/supplypacks/munitions.dm"
#include "datums/supplypacks/science.dm"
#include "datums/random_map.dm"
#include "datums/spawn.dm"
+5 -2
View File
@@ -323,8 +323,11 @@ var/global/const/access_explorer = 43
/obj/item/card/id/drake_expedition
name = "animal access card"
access = list(access_explorer, access_research)
access = list(
access_explorer,
access_research,
access_xenofauna
)
/obj/item/storage/animal_harness/grafadreka/expedition
name = "expedition harness"
+21 -1
View File
@@ -32,4 +32,24 @@
cost = 50
containertype = /obj/structure/closet/crate/secure/ward
containername = "Phase Rifle crate"
access = access_explorer
access = access_explorer
/datum/supply_pack/munitions/tranq_pistols_xenofauna
name = "Weapons - Surplus Tranquilizer Pistols"
contains = list(
/obj/item/gun/energy/phasegun/tranq_pistol = 2,
)
cost = 25
containertype = /obj/structure/closet/crate/secure/ward
containername = "tranquilizer pistol crate"
access = access_xenofauna
/datum/supply_pack/munitions/tranq_rifles_xenofauna
name = "Weapons - Surplus Tranquilizer Rifles"
contains = list(
/obj/item/gun/energy/phasegun/tranq_rifle = 2,
)
cost = 50
containertype = /obj/structure/closet/crate/secure/ward
containername = "tranquilizer rifle crate"
access = access_xenofauna
@@ -0,0 +1,9 @@
/datum/supply_pack/sci/stasis_cages
name = "Stasis Cage"
contains = list(
/obj/structure/stasis_cage = 1
)
cost = 30
containertype = /obj/structure/closet/crate/large
containername = "stasis cage crate"
access = access_xenofauna
+2 -2
View File
@@ -17,11 +17,11 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
id_type = /obj/item/card/id/civilian
id_pda_assignment = "Explorer"
flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL
backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1)
backpack_contents = list(/obj/item/clothing/accessory/medal/permit/gun/planetside = 1)
/decl/hierarchy/outfit/job/explorer2/post_equip(mob/living/carbon/human/H)
..()
for(var/obj/item/clothing/accessory/permit/gun/planetside/permit in H.back.contents)
for(var/obj/item/clothing/accessory/medal/permit/gun/planetside/permit in H.back.contents)
permit.set_name(H.real_name)
/decl/hierarchy/outfit/job/explorer2/technician
+2 -2
View File
@@ -31,7 +31,7 @@
/obj/item/gun/energy/phasegun = 2,
/obj/item/gun/energy/phasegun/pistol,
/obj/item/cell/device/weapon = 2,
/obj/item/clothing/accessory/permit/gun/planetside)
/obj/item/clothing/accessory/medal/permit/gun/planetside)
/obj/structure/closet/secure_closet/guncabinet/tranq
name = "tranquilizer rifle cabinet"
@@ -41,7 +41,7 @@
/obj/item/gun/energy/phasegun/tranq_pistol,
/obj/item/gun/energy/phasegun/pistol,
/obj/item/cell/device/weapon = 2,
/obj/item/clothing/accessory/permit/gun/planetside
/obj/item/clothing/accessory/medal/permit/gun/planetside
)
//Explorer Lockers
+3 -3
View File
@@ -21,7 +21,7 @@
/obj/item/shield/riot,
/obj/item/shield/riot/tele,
/obj/item/storage/box/holobadge/hos,
/obj/item/clothing/accessory/badge/holo/hos,
/obj/item/clothing/accessory/medal/badge/holo/hos,
/obj/item/reagent_containers/spray/pepper,
/obj/item/tool/crowbar/red,
/obj/item/storage/box/flashbangs,
@@ -69,7 +69,7 @@
/obj/item/radio/headset/headset_sec/alt,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/clothing/accessory/badge/holo/warden,
/obj/item/clothing/accessory/medal/badge/holo/warden,
/obj/item/storage/box/flashbangs,
/obj/item/storage/belt/security,
/obj/item/reagent_containers/spray/pepper,
@@ -160,7 +160,7 @@
closet_appearance = /decl/closet_appearance/cabinet/secure
starts_with = list(
/obj/item/clothing/accessory/badge/holo/detective,
/obj/item/clothing/accessory/medal/badge/holo/detective,
/obj/item/clothing/gloves/black,
/obj/item/gunbox,
/obj/item/storage/belt/detective,
+1 -1
View File
@@ -886,7 +886,7 @@
"arb" = (/obj/effect/floor_decal/corner/red,/obj/machinery/camera/network/security{c_tag = "SEC - Briefing"; dir = 8},/turf/simulated/floor/tiled,/area/security/main)
"arc" = (/obj/structure/closet/secure_closet/security,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor/tiled,/area/security/security_lockerroom)
"ard" = (/obj/structure/closet/secure_closet/security,/obj/machinery/light,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/turf/simulated/floor/tiled,/area/security/security_lockerroom)
"are" = (/obj/structure/table/standard,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/accessory/badge/holo,/obj/item/clothing/accessory/badge/holo,/obj/item/clothing/accessory/badge/holo/cord,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled,/area/security/security_lockerroom)
"are" = (/obj/structure/table/standard,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/accessory/medal/badge/holo,/obj/item/clothing/accessory/medal/badge/holo,/obj/item/clothing/accessory/medal/badge/holo/cord,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled,/area/security/security_lockerroom)
"arf" = (/obj/structure/table/standard,/obj/structure/reagent_dispensers/peppertank{pixel_x = 30},/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/radio,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/flashlight,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/obj/item/tool/crowbar,/turf/simulated/floor/tiled,/area/security/security_lockerroom)
"arg" = (/obj/structure/curtain/open/shower/security,/obj/machinery/shower{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/northleft{name = "Shower"; req_access = list()},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom)
"arh" = (/obj/structure/curtain/open/shower/security,/obj/machinery/shower{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/northright{dir = 1; name = "Shower"; req_access = list()},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom)
+3 -3
View File
@@ -17,11 +17,11 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
id_type = /obj/item/card/id/science/explorer
id_pda_assignment = "Explorer"
flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL
backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1)
backpack_contents = list(/obj/item/clothing/accessory/medal/permit/gun/planetside = 1)
/decl/hierarchy/outfit/job/explorer2/post_equip(mob/living/carbon/human/H)
..()
for(var/obj/item/clothing/accessory/permit/gun/planetside/permit in H.back.contents)
for(var/obj/item/clothing/accessory/medal/permit/gun/planetside/permit in H.back.contents)
permit.set_name(H.real_name)
/decl/hierarchy/outfit/job/explorer2/technician
@@ -63,4 +63,4 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
pda_slot = slot_l_store
id_type = /obj/item/card/id/medical/sar
id_pda_assignment = "Search and Rescue"
flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL
flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL
+3 -3
View File
@@ -26231,9 +26231,9 @@
/area/security/security_restroom)
"aYL" = (
/obj/structure/closet/wardrobe/red,
/obj/item/clothing/accessory/badge/holo,
/obj/item/clothing/accessory/badge/holo,
/obj/item/clothing/accessory/badge/holo/cord,
/obj/item/clothing/accessory/medal/badge/holo,
/obj/item/clothing/accessory/medal/badge/holo,
/obj/item/clothing/accessory/medal/badge/holo/cord,
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
+1 -1
View File
@@ -961,7 +961,7 @@
"sy" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 5"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac)
"sz" = (/obj/structure/curtain/open/shower,/obj/machinery/shower{pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/shuttle/trade)
"sA" = (/obj/structure/table/standard,/obj/item/soap/deluxe,/turf/unsimulated/floor{icon_state = "white"},/area/shuttle/trade)
"sB" = (/obj/structure/table/standard,/obj/item/clothing/accessory/permit,/obj/item/clothing/accessory/permit,/obj/item/clothing/accessory/permit,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade)
"sB" = (/obj/structure/table/standard,/obj/item/clothing/accessory/medal/permit,/obj/item/clothing/accessory/medal/permit,/obj/item/clothing/accessory/medal/permit,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade)
"sC" = (/obj/structure/closet/wardrobe/white,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade)
"sD" = (/obj/structure/closet/wardrobe/green,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade)
"sE" = (/obj/structure/closet/wardrobe/grey,/turf/unsimulated/floor{icon_state = "steel"},/area/shuttle/trade)
@@ -31,7 +31,7 @@
/obj/item/gun/energy/phasegun = 2,
/obj/item/gun/energy/phasegun/pistol,
/obj/item/cell/device/weapon = 2,
/obj/item/clothing/accessory/permit/gun/planetside)
/obj/item/clothing/accessory/medal/permit/gun/planetside)
//Explorer Lockers
@@ -17,7 +17,7 @@
/obj/item/radio/headset/heads/hos,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/storage/box/holobadge/hos,
/obj/item/clothing/accessory/badge/holo/hos,
/obj/item/clothing/accessory/medal/badge/holo/hos,
/obj/item/clothing/accessory/holster/waist,
/obj/item/clothing/head/beret/sec/corporate/hos,
/obj/item/clothing/mask/gas/half)
@@ -9,7 +9,7 @@
"i" = (/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Shelter1)
"j" = (/obj/structure/bonfire/sifwood,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Shelter1)
"k" = (/obj/random/mob/robotic,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Shelter1)
"l" = (/obj/structure/bed/roller/adv,/obj/random/humanoidremains,/obj/random/cash,/obj/random/cigarettes,/obj/item/clothing/under/explorer,/obj/item/clothing/shoes/boots/winter/explorer,/obj/item/clothing/mask/gas/explorer,/obj/item/clothing/accessory/permit/gun/planetside,/obj/item/clothing/suit/armor/pcarrier/light/nt,/obj/random/projectile/scrapped_smg,/obj/random/projectile/scrapped_pistol,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Shelter1)
"l" = (/obj/structure/bed/roller/adv,/obj/random/humanoidremains,/obj/random/cash,/obj/random/cigarettes,/obj/item/clothing/under/explorer,/obj/item/clothing/shoes/boots/winter/explorer,/obj/item/clothing/mask/gas/explorer,/obj/item/clothing/accessory/medal/permit/gun/planetside,/obj/item/clothing/suit/armor/pcarrier/light/nt,/obj/random/projectile/scrapped_smg,/obj/random/projectile/scrapped_pistol,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Shelter1)
"m" = (/obj/random/medical/lite,/obj/random/toolbox,/obj/random/trash,/obj/random/technology_scanner/anom,/obj/random/tool/anom,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/Shelter1)
"n" = (/obj/structure/fence/corner{dir = 1; icon_state = "corner"},/obj/effect/landmark/snowy_turf,/turf/template_noop,/area/submap/Shelter1)
"o" = (/obj/structure/fence/door/locked{dir = 1; icon_state = "door_closed"},/obj/effect/landmark/snowy_turf,/turf/template_noop,/area/submap/Shelter1)