mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 05:57:24 +01:00
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:
@@ -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())
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user