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
+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)