From 26525b8fa76c4fe1975991aac0878045e745a588 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 16 Jan 2020 00:14:03 -0700 Subject: [PATCH] s --- code/datums/action.dm | 19 +++++++++++-------- code/datums/martial/sleeping_carp.dm | 2 +- code/game/objects/items/holy_weapons.dm | 4 ++-- .../crates_lockers/closets/cardboardbox.dm | 2 +- .../bloodsucker/items/bloodsucker_stake.dm | 14 ++++---------- .../bloodsucker/powers/bs_lunge.dm | 2 +- .../mob/living/silicon/pai/update_icon.dm | 2 +- 7 files changed, 21 insertions(+), 24 deletions(-) diff --git a/code/datums/action.dm b/code/datums/action.dm index 77aa729eb1..40532987fd 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -8,6 +8,7 @@ var/desc = null var/obj/target = null var/check_flags = 0 + var/required_mobility_flags = MOBILITY_USE var/processing = FALSE var/obj/screen/movable/action_button/button = null var/buttontooltipstyle = "" @@ -95,20 +96,22 @@ /datum/action/proc/IsAvailable() if(!owner) - return 0 + return FALSE + if(!CHECK_ALL_MOBILITY(owner, required_mobility_flags)) + return FALSE if(check_flags & AB_CHECK_RESTRAINED) if(owner.restrained()) - return 0 + return FALSE if(check_flags & AB_CHECK_STUN) - if(owner.IsKnockdown() || owner.IsStun()) - return 0 + if(!CHECK_MOBILITY(owner, MOBILITY_USE)) + return FALSE if(check_flags & AB_CHECK_LYING) - if(owner.lying) - return 0 + if(!CHECK_MOBILITY(owner, MOBILITY_STAND)) + return FALSE if(check_flags & AB_CHECK_CONSCIOUS) if(owner.stat) - return 0 - return 1 + return FALSE + return TRUE /datum/action/proc/UpdateButtonIcon(status_only = FALSE, force = FALSE) if(button) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 9aab8b7c47..1860c0a0e9 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -227,7 +227,7 @@ H.visible_message("[H] collapses!", \ "Your legs give out!") H.DefaultCombatKnockdown(80) - if(H.staminaloss && !H.IsSleeping()) + if(H.staminaloss && !_REFACTORING_H.IsSleeping()) var/total_health = (H.health - H.staminaloss) if(total_health <= HEALTH_THRESHOLD_CRIT && !H.stat) H.visible_message("[user] delivers a heavy hit to [H]'s head, knocking [H.p_them()] out cold!", \ diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 1899c18aca..c445749658 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -243,7 +243,7 @@ if(user.mind && (user.mind.isholy) && !reskinned) reskin_holy_weapon(user) -/obj/item/nullrod/proc/reskin_holy_weapon(mob/M) +/obj/item/nullrod/proc/reskin_holy_weapon(mob/living/M) if(GLOB.holy_weapon_type) return var/obj/item/holy_weapon @@ -255,7 +255,7 @@ display_names[initial(rodtype.name)] = rodtype var/choice = input(M,"What theme would you like for your holy weapon?","Holy Weapon Theme") as null|anything in display_names - if(QDELETED(src) || !choice || M.stat || !in_range(M, src) || M.restrained() || !M.canmove || reskinned) + if(QDELETED(src) || !choice || !in_range(M, src) || !CHECK_MOBILITY(M, MOBILITY_USE) || reskinned) return var/A = display_names[choice] // This needs to be on a separate var as list member access is not allowed for new diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index 1c9f59942e..50d9599220 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -18,7 +18,7 @@ var/egged = 0 var/use_mob_movespeed = FALSE //Citadel adds snowflake box handling -/obj/structure/closet/cardboard/relaymove(mob/user, direction) +/obj/structure/closet/cardboard/relaymove(mob/living/user, direction) if(opened || move_delay || !CHECK_BITFIELD(user.mobility_flags, MOBILITY_MOVE) || !isturf(loc) || !has_gravity(loc)) return move_delay = TRUE diff --git a/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm b/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm index 9db4cae1ff..15370a5473 100644 --- a/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm +++ b/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm @@ -1,9 +1,5 @@ - - // organ_internal.dm -- /obj/item/organ - - // Do I have a stake in my heart? /mob/living/AmStaked() var/obj/item/bodypart/BP = get_bodypart("chest") @@ -13,16 +9,14 @@ if (istype(I,/obj/item/stake/)) return TRUE return FALSE + /mob/proc/AmStaked() return FALSE - /mob/living/proc/StakeCanKillMe() - return IsSleeping() || stat >= UNCONSCIOUS || blood_volume <= 0 || HAS_TRAIT(src, TRAIT_DEATHCOMA) // NOTE: You can't go to sleep in a coffin with a stake in you. + return _REFACTORING_IsSleeping() || stat >= UNCONSCIOUS || blood_volume <= 0 || HAS_TRAIT(src, TRAIT_DEATHCOMA) // NOTE: You can't go to sleep in a coffin with a stake in you. - -///obj/item/weapon/melee/stake -/obj/item/stake/ +/obj/item/stake name = "wooden stake" desc = "A simple wooden stake carved to a sharp point." icon = 'icons/obj/items_and_weapons.dmi' @@ -113,7 +107,7 @@ // Can this target be staked? If someone stands up before this is complete, it fails. Best used on someone stationary. /mob/living/carbon/proc/can_be_staked() //return resting || IsKnockdown() || IsUnconscious() || (stat && (stat != SOFT_CRIT || pulledby)) || (has_trait(TRAIT_FAKEDEATH)) || resting || IsStun() || IsFrozen() || (pulledby && pulledby.grab_state >= GRAB_NECK) - return (src.resting || src.lying) + return !CHECK_MOBILITY(src, MOBILITY_STAND) // ABOVE: Taken from update_mobility() in living.dm /obj/item/stake/hardened diff --git a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm b/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm index d6f3d87461..a4869923ff 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm @@ -61,7 +61,7 @@ walk_towards(owner, T, 0.1, 10) // NOTE: this runs in the background! to cancel it, you need to use walk(owner.current,0), or give them a new path. addtimer(CALLBACK(owner, .proc/_walk, 0), 2 SECONDS) - if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && owner.resting) + if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && !CHECK_MOBILITY(owner, MOBILITY_STAND)) var/send_dir = get_dir(owner, T) new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE) owner.spin(10) diff --git a/code/modules/mob/living/silicon/pai/update_icon.dm b/code/modules/mob/living/silicon/pai/update_icon.dm index 3ef5a6cae9..d52523a367 100644 --- a/code/modules/mob/living/silicon/pai/update_icon.dm +++ b/code/modules/mob/living/silicon/pai/update_icon.dm @@ -7,7 +7,7 @@ icon = dynamic_chassis_icons[dynamic_chassis] var/list/states = icon_states(icon) icon_state = "" - if(resting) //The next line is some bullshit but I can make it worse if you want and make it a single line instead of four.. :) + if(_REFACTORING_resting) //The next line is some bullshit but I can make it worse if you want and make it a single line instead of four.. :) if(dynamic_chassis_sit && ("sit") in states) icon_state = "sit" else if(dynamic_chassis_bellyup && ("bellyup") in states)