adds contort body to changelings (#21259)

* adds contort body to changelings

* more changes

* sprite by mcramon

* Update code/game/machinery/doors/firedoor.dm

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

* steels review

---------

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
This commit is contained in:
GDN
2023-06-28 14:29:39 +01:00
committed by GitHub
co-authored by SteelSlayer
parent b1565a36e9
commit 1d21a78814
15 changed files with 89 additions and 21 deletions
@@ -70,11 +70,13 @@
playsound(loc, close_sound, close_sound_volume, TRUE, -3)
var/itemcount = 0
for(var/obj/O in get_turf(src))
for(var/atom/movable/O in get_turf(src))
if(itemcount >= storage_capacity)
break
if(O.density || O.anchored || istype(O,/obj/structure/closet))
continue
if(ismob(O) && !HAS_TRAIT(O, TRAIT_CONTORTED_BODY))
continue
if(istype(O, /obj/structure/bed)) //This is only necessary because of rollerbeds and swivel chairs.
var/obj/structure/bed/B = O
if(B.has_buckled_mobs())
+8 -5
View File
@@ -254,18 +254,21 @@
connected = null
return ..()
/obj/structure/tray/m_tray/CanPass(atom/movable/mover, turf/target, height=0)
/obj/structure/m_tray/CanPass(atom/movable/mover, turf/target, height=0)
if(height == 0)
return TRUE
if(istype(mover) && mover.checkpass(PASSTABLE))
return TRUE
if(istype(mover))
if(mover.checkpass(PASSTABLE))
return TRUE
var/mob/living/our_mover = mover
if(istype(our_mover) && IS_HORIZONTAL(our_mover) && HAS_TRAIT(our_mover, TRAIT_CONTORTED_BODY))
return TRUE
if(locate(/obj/structure/table) in get_turf(mover))
return TRUE
return FALSE
/obj/structure/tray/m_tray/CanPathfindPass(obj/item/card/id/ID, dir, caller, no_id = FALSE)
/obj/structure/m_tray/CanPathfindPass(obj/item/card/id/ID, dir, caller, no_id = FALSE)
. = !density
if(ismovable(caller))
var/atom/movable/mover = caller
+4 -4
View File
@@ -80,8 +80,8 @@
if(istype(mover, /obj/item/projectile))
return TRUE
if(ismob(mover))
var/mob/M = mover
if(M.flying)
var/mob/living/M = mover
if(M.flying || (IS_HORIZONTAL(M) && HAS_TRAIT(M, TRAIT_CONTORTED_BODY)))
return TRUE
if(mover.throwing)
return TRUE
@@ -107,8 +107,8 @@
return TRUE
if(istype(O, /obj/item/projectile))
return TRUE
if(ismob(O))
if(M.flying || M.floating)
if(istype(M))
if(M.flying || M.floating || (IS_HORIZONTAL(M) && HAS_TRAIT(M, TRAIT_CONTORTED_BODY)))
return TRUE
if(O.throwing)
return TRUE
+8 -4
View File
@@ -122,8 +122,8 @@
if(istype(mover,/obj/item/projectile))
return (check_cover(mover,target))
if(ismob(mover))
var/mob/M = mover
if(M.flying)
var/mob/living/M = mover
if(M.flying || (IS_HORIZONTAL(M) && HAS_TRAIT(M, TRAIT_CONTORTED_BODY)))
return TRUE
if(istype(mover) && mover.checkpass(PASSTABLE))
return TRUE
@@ -868,8 +868,12 @@
return 1
if(!density) //Because broken racks -Agouri |TODO: SPRITE!|
return 1
if(istype(mover) && mover.checkpass(PASSTABLE))
return 1
if(istype(mover))
if(mover.checkpass(PASSTABLE))
return TRUE
var/mob/living/living_mover = mover
if(istype(living_mover) && IS_HORIZONTAL(living_mover) && HAS_TRAIT(living_mover, TRAIT_CONTORTED_BODY))
return TRUE
if(mover.throwing)
return 1
else