mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 11:05:03 +01:00
Adds crawling. (#17899)
* crawling? * knockdown. CONTAINS CHANGES THAT NEED REVERTING * plotting can_moves death * CANMOVE IS DEAD * mappers are insane * removes todos as the are todone * decreases crawling speed * silly-con fixes * surgery fixes * fixes death * pAI fixes * removes var/lying * runtime fix * decreases default crawling speed * correct crawling dir * some more fixes * stunbaton tweak, revert later * rejuv fix * restraint and incapacitated refactor * crawling dir in line with TG * fixes vehicle movement and grabs * alien rest fixes * antistun fixes * fixed fall sounds * forgor to stage this * first review * canmove zombie dispersal * fix * lots of fixes * defines * fixes the trait helper * if you got no legs you can still crawl * sillyconfix * no reverty keepy * jaunt fix * hopefully fixes perma sleepy zzz * admin rejuv temp fix * rest canceling * antistun chems now remove knockdown * buckle offset fix * fixes some stuff * crawling delay = 4 * descuffs bed * sleeping hotfix * fixes simple mob resting * V is the macro for resting * projectiles no dodgy * refines the projectile check * god I hate strings * MORE FIXES * I hate buckling * fixes capulettium plus * winding down * farie review * bugs did stop showing up * SEAN * todo * sean review * ed209 * i HATE cyborgs * steel review * laaaaaast things * reverts stun baton changes * and done
This commit is contained in:
@@ -236,7 +236,7 @@
|
||||
return
|
||||
if(O.loc == user)
|
||||
return
|
||||
if(user.restrained() || user.stat || user.IsWeakened() || user.IsStunned() || user.IsParalyzed() || user.lying)
|
||||
if(user.restrained() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
return
|
||||
if((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src)))
|
||||
return
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
set category = null
|
||||
set name = "Toggle Lock"
|
||||
|
||||
if(!usr.canmove || usr.stat || usr.restrained()) // Don't use it if you're not able to! Checks for stuns, ghost and restrain
|
||||
if(HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED) || usr.stat || usr.restrained()) // Don't use it if you're not able to! Checks for stuns, ghost and restrain
|
||||
return
|
||||
|
||||
if(ishuman(usr) || isrobot(usr))
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
set name = "Activate Electric Chair"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
if(usr.stat || !usr.canmove || usr.restrained())
|
||||
if(usr.stat || HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED) || usr.restrained())
|
||||
return
|
||||
if(last_time + delay_time > world.time)
|
||||
to_chat(usr, "<span class='warning'>\The [src] is not ready yet!</span>")
|
||||
|
||||
@@ -207,7 +207,7 @@
|
||||
return
|
||||
if(!ismob(O) && !istype(O, /obj/structure/closet/body_bag))
|
||||
return
|
||||
if(!ismob(user) || user.stat || user.lying || user.IsStunned())
|
||||
if(!ismob(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
return
|
||||
O.forceMove(loc)
|
||||
if(user != O)
|
||||
@@ -430,7 +430,7 @@
|
||||
return
|
||||
if(!ismob(O) && !istype(O, /obj/structure/closet/body_bag))
|
||||
return
|
||||
if(!ismob(user) || user.stat || user.lying || user.IsStunned())
|
||||
if(!ismob(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
return
|
||||
O.forceMove(loc)
|
||||
if(user != O)
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
return TRUE
|
||||
if(M.buckled && istype(M.buckled, /mob/living/simple_animal/bot/mulebot)) // mulebot passenger gets a free pass.
|
||||
return TRUE
|
||||
if(!M.lying && !M.ventcrawler && M.mob_size != MOB_SIZE_TINY) //If your not laying down, or a ventcrawler or a small creature, no pass.
|
||||
if(!IS_HORIZONTAL(M) && !M.ventcrawler && M.mob_size != MOB_SIZE_TINY) //If your not laying down, or a ventcrawler or a small creature, no pass.
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
add_overlay(nest_overlay)
|
||||
|
||||
/obj/structure/bed/nest/post_unbuckle_mob(mob/living/M)
|
||||
M.pixel_x = M.get_standard_pixel_x_offset(M.lying)
|
||||
M.pixel_y = M.get_standard_pixel_y_offset(M.lying)
|
||||
M.pixel_x = M.get_standard_pixel_x_offset()
|
||||
M.pixel_y = M.get_standard_pixel_y_offset()
|
||||
M.layer = initial(M.layer)
|
||||
cut_overlay(nest_overlay)
|
||||
|
||||
|
||||
@@ -62,6 +62,12 @@
|
||||
new buildstacktype(loc, buildstackamount)
|
||||
..()
|
||||
|
||||
/obj/structure/bed/post_buckle_mob(mob/living/M)
|
||||
M.pixel_y = M.get_standard_pixel_y_offset()
|
||||
|
||||
/obj/structure/bed/post_unbuckle_mob(mob/living/M)
|
||||
M.pixel_y = M.get_standard_pixel_y_offset()
|
||||
|
||||
/*
|
||||
* Roller beds
|
||||
*/
|
||||
@@ -70,6 +76,7 @@
|
||||
name = "roller bed"
|
||||
icon = 'icons/obj/rollerbed.dmi'
|
||||
icon_state = "down"
|
||||
buckle_offset = 0
|
||||
face_while_pulling = FALSE
|
||||
resistance_flags = NONE
|
||||
anchored = FALSE
|
||||
@@ -93,13 +100,12 @@
|
||||
/obj/structure/bed/roller/post_buckle_mob(mob/living/M)
|
||||
density = TRUE
|
||||
icon_state = "up"
|
||||
M.pixel_y = initial(M.pixel_y)
|
||||
..()
|
||||
|
||||
/obj/structure/bed/roller/post_unbuckle_mob(mob/living/M)
|
||||
density = FALSE
|
||||
icon_state = "down"
|
||||
M.pixel_x = M.get_standard_pixel_x_offset(M.lying)
|
||||
M.pixel_y = M.get_standard_pixel_y_offset(M.lying)
|
||||
..()
|
||||
|
||||
/obj/item/roller
|
||||
name = "roller bed"
|
||||
|
||||
@@ -761,7 +761,7 @@
|
||||
deconstruct(TRUE)
|
||||
|
||||
/obj/structure/rack/attack_hand(mob/living/user)
|
||||
if(user.IsWeakened() || user.resting || user.lying)
|
||||
if(user.IsWeakened())
|
||||
return
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.do_attack_animation(src, ATTACK_EFFECT_KICK)
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
set name = "Rotate Windoor Assembly"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
if(usr.stat || !usr.canmove || usr.restrained())
|
||||
if(usr.stat || HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED) || usr.restrained())
|
||||
return
|
||||
if(anchored)
|
||||
to_chat(usr, "<span class='warning'>[src] cannot be rotated while it is fastened to the floor!</span>")
|
||||
@@ -338,7 +338,7 @@
|
||||
set name = "Flip Windoor Assembly"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
if(usr.stat || !usr.canmove || usr.restrained())
|
||||
if(usr.stat || HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED) || usr.restrained())
|
||||
return
|
||||
|
||||
if(facing == "l")
|
||||
|
||||
Reference in New Issue
Block a user