more reformatting
This commit is contained in:
@@ -39,12 +39,8 @@
|
||||
container = null
|
||||
return ..()
|
||||
|
||||
/mob/living/brain/update_canmove()
|
||||
if(in_contents_of(/obj/mecha))
|
||||
canmove = 1
|
||||
else
|
||||
canmove = 0
|
||||
return canmove
|
||||
/mob/living/brain/update_mobility()
|
||||
return ((mobility_flags = (in_contents_of(/obj/mecha)? MOBILITY_FLAGS_DEFAULT : NONE)))
|
||||
|
||||
/mob/living/brain/ex_act() //you cant blow up brainmobs because it makes transfer_to() freak out when borgs blow up.
|
||||
return
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
if(health<= -maxHealth || !getorgan(/obj/item/organ/brain))
|
||||
death()
|
||||
return
|
||||
if(IsUnconscious() || IsSleeping() || getOxyLoss() > 50 || (HAS_TRAIT(src, TRAIT_DEATHCOMA)) || health <= crit_threshold)
|
||||
if(_MOBILITYFLAGTEMPORARY_IsUnconscious() || _MOBILITYFLAGTEMPORARY_IsSleeping() || getOxyLoss() > 50 || (HAS_TRAIT(src, TRAIT_DEATHCOMA)) || health <= crit_threshold)
|
||||
if(stat == CONSCIOUS)
|
||||
stat = UNCONSCIOUS
|
||||
blind_eyes(1)
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
icon_state = "larva[state]_dead"
|
||||
else if(handcuffed || legcuffed) //This should be an overlay. Who made this an icon_state?
|
||||
icon_state = "larva[state]_cuff"
|
||||
else if(stat == UNCONSCIOUS || lying || resting)
|
||||
else if(stat == UNCONSCIOUS || lying || _MOBILTIYFLAGTEMPORARY_resting)
|
||||
icon_state = "larva[state]_sleep"
|
||||
else if(_MOBILTIYFLAGTEMPORARY_IsStun() || _MOBILITYFLAGTEMPORARY_IsParalyzed())
|
||||
else if(_MOBILTIYFLAGTEMPORARY_IsStun() || IsParalyzed())
|
||||
icon_state = "larva[state]_stun"
|
||||
else
|
||||
icon_state = "larva[state]"
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
. += "[t_He] [t_is] moving [t_his] body in an unnatural and blatantly unsimian manner."
|
||||
|
||||
if(combatmode)
|
||||
. += "[t_He] [t_is] visibly tense[resting ? "." : ", and [t_is] standing in combative stance."]"
|
||||
. += "[t_He] [t_is] visibly tense[CHECK_BITFIELD(mobility_flags, MOBILITY_STAND) ? "." : ", and [t_is] standing in combative stance."]"
|
||||
|
||||
var/trait_exam = common_trait_examine()
|
||||
if (!isnull(trait_exam))
|
||||
|
||||
@@ -50,17 +50,11 @@
|
||||
|
||||
// taken from /mob/living/carbon/human/interactive/
|
||||
/mob/living/carbon/monkey/proc/IsDeadOrIncap(checkDead = TRUE)
|
||||
if(!canmove)
|
||||
return 1
|
||||
if(!CHECK_BITFIELD(mobility_flags, MOBILITY_MOVE))
|
||||
return TRUE
|
||||
if(health <= 0 && checkDead)
|
||||
return 1
|
||||
if(IsUnconscious())
|
||||
return 1
|
||||
if(IsStun() || IsKnockdown())
|
||||
return 1
|
||||
if(stat)
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/monkey/proc/battle_screech()
|
||||
if(next_battle_screech < world.time)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
if(!client)
|
||||
if(stat == CONSCIOUS)
|
||||
if(on_fire || buckled || restrained() || (resting && canmove)) //CIT CHANGE - makes it so monkeys attempt to resist if they're resting)
|
||||
if(on_fire || buckled || restrained() || (!CHECK_BITFIELD(mobility_flags, MOBILITY_STAND) && CHECK_BITFIELD(mobility_flags, MOBILITY_MOVE))) //CIT CHANGE - makes it so monkeys attempt to resist if they're resting)
|
||||
if(!resisting && prob(MONKEY_RESIST_PROB))
|
||||
resisting = TRUE
|
||||
walk_to(src,0)
|
||||
|
||||
@@ -672,11 +672,11 @@
|
||||
var/obj/C = loc
|
||||
C.container_resist(src)
|
||||
|
||||
else if(canmove)
|
||||
else if(CHECK_BITFIELD(mobility_flags, MOBILITY_MOVE))
|
||||
if(on_fire)
|
||||
resist_fire() //stop, drop, and roll
|
||||
return
|
||||
if(resting) //cit change - allows resisting out of resting
|
||||
if(_MOBILTIYFLAGTEMPORARY_resting) //cit change - allows resisting out of resting
|
||||
resist_a_rest() // ditto
|
||||
return
|
||||
if(resist_embedded()) //Citadel Change for embedded removal memes
|
||||
|
||||
@@ -20,37 +20,28 @@
|
||||
if(disarm_items)
|
||||
drop_all_held_items()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/proc/lay_down()
|
||||
set name = "Rest"
|
||||
set category = "IC"
|
||||
|
||||
if(client && client.prefs && client.prefs.autostand)
|
||||
if(client?.prefs?.autostand)
|
||||
intentionalresting = !intentionalresting
|
||||
to_chat(src, "<span class='notice'>You are now attempting to [intentionalresting ? "[!resting ? "lay down and ": ""]stay down" : "[resting ? "get up and ": ""]stay up"].</span>")
|
||||
to_chat(src, "<span class='notice'>You are now attempting to [intentionalresting ? "[!_MOBILTIYFLAGTEMPORARY_resting ? "lay down and ": ""]stay down" : "[_MOBILTIYFLAGTEMPORARY_resting ? "get up and ": ""]stay up"].</span>")
|
||||
if(intentionalresting && !resting)
|
||||
resting = TRUE
|
||||
update_canmove()
|
||||
set_resting(TRUE, FALSE)
|
||||
else
|
||||
resist_a_rest()
|
||||
else
|
||||
if(!resting)
|
||||
resting = TRUE
|
||||
if(!_MOBILTIYFLAGTEMPORARY_resting)
|
||||
set_resting(TRUE, FALSE)
|
||||
to_chat(src, "<span class='notice'>You are now laying down.</span>")
|
||||
update_canmove()
|
||||
else
|
||||
resist_a_rest()
|
||||
|
||||
/mob/living/proc/resist_a_rest(automatic = FALSE, ignoretimer = FALSE) //Lets mobs resist out of resting. Major QOL change with combat reworks.
|
||||
if(!resting || stat || attemptingstandup)
|
||||
if(!_MOBILITYFLAGTEMPORARY_resting || stat || attemptingstandup)
|
||||
return FALSE
|
||||
if(ignoretimer)
|
||||
resting = FALSE
|
||||
update_canmove()
|
||||
set_resting(FALSE, FALSE)
|
||||
return TRUE
|
||||
else
|
||||
var/totaldelay = 3 //A little bit less than half of a second as a baseline for getting up from a rest
|
||||
@@ -77,9 +68,8 @@
|
||||
var/usernotice = automatic ? "<span class='notice'>You are now getting up. (Auto)</span>" : "<span class='notice'>You are now getting up.</span>"
|
||||
visible_message("<span class='notice'>[standupwarning]</span>", usernotice, vision_distance = 5)
|
||||
if(do_after(src, totaldelay, target = src))
|
||||
resting = FALSE
|
||||
set_resting(FALSE, FALSE)
|
||||
attemptingstandup = FALSE
|
||||
update_canmove()
|
||||
return TRUE
|
||||
else
|
||||
visible_message("<span class='notice'>[src] falls right back down.</span>", "<span class='notice'>You fall right back down.</span>")
|
||||
@@ -91,18 +81,72 @@
|
||||
//Updates canmove, lying and icons. Could perhaps do with a rename but I can't think of anything to describe it.
|
||||
//Robots, animals and brains have their own version so don't worry about them
|
||||
/mob/living/proc/update_mobility()
|
||||
/*
|
||||
var/stat_softcrit = stat == SOFT_CRIT
|
||||
var/stat_conscious = (stat == CONSCIOUS) || stat_softcrit
|
||||
var/conscious = !IsUnconscious() && stat_conscious && !HAS_TRAIT(src, TRAIT_DEATHCOMA)
|
||||
|
||||
var/conscious = !_MOBILITYFLAGTEMPORARY_IsUnconscious() && stat_conscious && !HAS_TRAIT(src, TRAIT_DEATHCOMA)
|
||||
|
||||
var/has_arms = get_num_arms()
|
||||
var/has_legs = get_num_legs()
|
||||
var/ignore_legs = get_leg_ignore()
|
||||
var/stun = _MOBILITYFLAGTEMPORARY_IsStun()
|
||||
var/paralyze = IsParalyzed()
|
||||
var/knockdown = _MOBILITYFLAGTEMPORARY_IsKnockdown()
|
||||
var/immobilize = IsImmobilized()
|
||||
|
||||
|
||||
|
||||
/*
|
||||
var/ko = IsKnockdown() || IsUnconscious() || (stat && (stat != SOFT_CRIT || pulledby)) || (HAS_TRAIT(src, TRAIT_DEATHCOMA))
|
||||
var/move_and_fall = stat == SOFT_CRIT && !pulledby
|
||||
var/chokehold = pulledby && pulledby.grab_state >= GRAB_NECK
|
||||
var/buckle_lying = !(buckled && !buckled.buckle_lying)
|
||||
var/pinned = resting && pulledby && pulledby.grab_state >= GRAB_AGGRESSIVE // Cit change - adds pinning for aggressive-grabbing people on the ground
|
||||
if(ko || move_and_fall || IsStun() || chokehold) // Cit change - makes resting not force you to drop everything
|
||||
drop_all_held_items()
|
||||
unset_machine()
|
||||
if(pulling)
|
||||
stop_pulling()
|
||||
else if(resting) //CIT CHANGE - makes resting make you stop pulling and interacting with machines
|
||||
unset_machine() //CIT CHANGE - Ditto!
|
||||
if(pulling) //CIT CHANGE - Ditto.
|
||||
stop_pulling() //CIT CHANGE - Ditto...
|
||||
else if(has_legs || ignore_legs)
|
||||
lying = 0
|
||||
if (pulledby)
|
||||
var/mob/living/L = pulledby
|
||||
L.update_pull_movespeed()
|
||||
if(buckled)
|
||||
lying = 90*buckle_lying
|
||||
else if(!lying)
|
||||
if(resting)
|
||||
lying = pick(90, 270) // Cit change - makes resting not force you to drop your held items
|
||||
if(has_gravity()) // Cit change - Ditto
|
||||
playsound(src, "bodyfall", 50, 1) // Cit change - Ditto!
|
||||
else if(ko || move_and_fall || (!has_legs && !ignore_legs) || chokehold)
|
||||
fall(forced = 1)
|
||||
canmove = !(ko || recoveringstam || pinned || IsStun() || IsFrozen() || chokehold || buckled || (!has_legs && !ignore_legs && !has_arms)) //Cit change - makes it plausible to move while resting, adds pinning and stamina crit
|
||||
density = !lying
|
||||
if(lying)
|
||||
if(layer == initial(layer)) //to avoid special cases like hiding larvas.
|
||||
layer = LYING_MOB_LAYER //so mob lying always appear behind standing mobs
|
||||
else
|
||||
if(layer == LYING_MOB_LAYER)
|
||||
layer = initial(layer)
|
||||
update_transform()
|
||||
if(!lying && lying_prev)
|
||||
if(client)
|
||||
client.move_delay = world.time + movement_delay()
|
||||
lying_prev = lying
|
||||
if(canmove && !intentionalresting && iscarbon(src) && client && client.prefs && client.prefs.autostand)//CIT CHANGE - adds autostanding as a preference
|
||||
addtimer(CALLBACK(src, .proc/resist_a_rest, TRUE), 0) //CIT CHANGE - ditto
|
||||
return canmove
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
var/chokehold = pulledby && pulledby.grab_state >= GRAB_NECK
|
||||
var/restrained = restrained()
|
||||
var/has_legs = get_num_legs()
|
||||
var/has_arms = get_num_arms()
|
||||
var/paralyzed = IsParalyzed()
|
||||
var/stun = IsStun()
|
||||
var/knockdown = IsKnockdown()
|
||||
var/ignore_legs = get_leg_ignore()
|
||||
var/canmove = !IsImmobilized() && !stun && conscious && !paralyzed && !buckled && (!stat_softcrit || !pulledby) && !chokehold && !IsFrozen() && !IS_IN_STASIS(src) && (has_arms || ignore_legs || has_legs)
|
||||
if(canmove)
|
||||
mobility_flags |= MOBILITY_MOVE
|
||||
@@ -172,55 +216,3 @@
|
||||
remove_movespeed_modifier(MOVESPEED_ID_LIVING_LIMBLESS, update=TRUE)
|
||||
*/
|
||||
|
||||
//Updates canmove, lying and icons. Could perhaps do with a rename but I can't think of anything to describe it.
|
||||
//Robots, animals and brains have their own version so don't worry about them
|
||||
/mob/living/proc/update_canmove()
|
||||
/*
|
||||
var/ko = IsKnockdown() || IsUnconscious() || (stat && (stat != SOFT_CRIT || pulledby)) || (HAS_TRAIT(src, TRAIT_DEATHCOMA))
|
||||
var/move_and_fall = stat == SOFT_CRIT && !pulledby
|
||||
var/chokehold = pulledby && pulledby.grab_state >= GRAB_NECK
|
||||
var/buckle_lying = !(buckled && !buckled.buckle_lying)
|
||||
var/has_legs = get_num_legs()
|
||||
var/has_arms = get_num_arms()
|
||||
var/ignore_legs = get_leg_ignore()
|
||||
var/pinned = resting && pulledby && pulledby.grab_state >= GRAB_AGGRESSIVE // Cit change - adds pinning for aggressive-grabbing people on the ground
|
||||
if(ko || move_and_fall || IsStun() || chokehold) // Cit change - makes resting not force you to drop everything
|
||||
drop_all_held_items()
|
||||
unset_machine()
|
||||
if(pulling)
|
||||
stop_pulling()
|
||||
else if(resting) //CIT CHANGE - makes resting make you stop pulling and interacting with machines
|
||||
unset_machine() //CIT CHANGE - Ditto!
|
||||
if(pulling) //CIT CHANGE - Ditto.
|
||||
stop_pulling() //CIT CHANGE - Ditto...
|
||||
else if(has_legs || ignore_legs)
|
||||
lying = 0
|
||||
if (pulledby)
|
||||
var/mob/living/L = pulledby
|
||||
L.update_pull_movespeed()
|
||||
if(buckled)
|
||||
lying = 90*buckle_lying
|
||||
else if(!lying)
|
||||
if(resting)
|
||||
lying = pick(90, 270) // Cit change - makes resting not force you to drop your held items
|
||||
if(has_gravity()) // Cit change - Ditto
|
||||
playsound(src, "bodyfall", 50, 1) // Cit change - Ditto!
|
||||
else if(ko || move_and_fall || (!has_legs && !ignore_legs) || chokehold)
|
||||
fall(forced = 1)
|
||||
canmove = !(ko || recoveringstam || pinned || IsStun() || IsFrozen() || chokehold || buckled || (!has_legs && !ignore_legs && !has_arms)) //Cit change - makes it plausible to move while resting, adds pinning and stamina crit
|
||||
density = !lying
|
||||
if(lying)
|
||||
if(layer == initial(layer)) //to avoid special cases like hiding larvas.
|
||||
layer = LYING_MOB_LAYER //so mob lying always appear behind standing mobs
|
||||
else
|
||||
if(layer == LYING_MOB_LAYER)
|
||||
layer = initial(layer)
|
||||
update_transform()
|
||||
if(!lying && lying_prev)
|
||||
if(client)
|
||||
client.move_delay = world.time + movement_delay()
|
||||
lying_prev = lying
|
||||
if(canmove && !intentionalresting && iscarbon(src) && client && client.prefs && client.prefs.autostand)//CIT CHANGE - adds autostanding as a preference
|
||||
addtimer(CALLBACK(src, .proc/resist_a_rest, TRUE), 0) //CIT CHANGE - ditto
|
||||
return canmove
|
||||
*/
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
return FALSE
|
||||
|
||||
emitter_next_use = world.time + emittercd
|
||||
canmove = TRUE
|
||||
density = TRUE
|
||||
if(istype(card.loc, /obj/item/pda))
|
||||
var/obj/item/pda/P = card.loc
|
||||
@@ -37,6 +36,7 @@
|
||||
C.push_data()
|
||||
forceMove(get_turf(card))
|
||||
card.forceMove(src)
|
||||
update_mobility()
|
||||
if(client)
|
||||
client.perspective = EYE_PERSPECTIVE
|
||||
client.eye = src
|
||||
@@ -63,11 +63,11 @@
|
||||
var/turf/T = drop_location()
|
||||
card.forceMove(T)
|
||||
forceMove(card)
|
||||
canmove = FALSE
|
||||
density = FALSE
|
||||
set_light(0)
|
||||
holoform = FALSE
|
||||
set_resting(FALSE, TRUE)
|
||||
set_resting(FALSE, TRUE, FALSE)
|
||||
update_mobility()
|
||||
|
||||
/mob/living/silicon/pai/proc/choose_chassis()
|
||||
if(!isturf(loc) && loc != card)
|
||||
@@ -100,7 +100,7 @@
|
||||
/mob/living/silicon/pai/lay_down()
|
||||
. = ..()
|
||||
if(loc != card)
|
||||
visible_message("<span class='notice'>[src] [resting? "lays down for a moment..." : "perks up from the ground"]</span>")
|
||||
visible_message("<span class='notice'>[src] [_MOBILITYFLAGTEMPORARY_resting? "lays down for a moment..." : "perks up from the ground"]</span>")
|
||||
update_icon()
|
||||
|
||||
/mob/living/silicon/pai/start_pulling(atom/movable/AM, gs)
|
||||
|
||||
@@ -675,7 +675,7 @@
|
||||
if(module.cyborg_base_icon == "robot")
|
||||
icon = 'icons/mob/robots.dmi'
|
||||
pixel_x = initial(pixel_x)
|
||||
if(stat != DEAD && !(IsUnconscious() || IsStun() || IsKnockdown() || low_power_mode)) //Not dead, not stunned.
|
||||
if(stat != DEAD && !(_MOBILITYFLAGTEMPORARY_IsUnconscious() ||_MOBILITYFLAGTEMPORARY_IsStun() || _MOBILITYFLAGTEMPORARY_IsKnockdown() || IsParalyzed() || low_power_mode)) //Not dead, not stunned.
|
||||
if(!eye_lights)
|
||||
eye_lights = new()
|
||||
if(lamp_intensity > 2)
|
||||
@@ -699,7 +699,7 @@
|
||||
update_fire()
|
||||
|
||||
if(client && stat != DEAD && module.dogborg == TRUE)
|
||||
if(resting)
|
||||
if(_MOBILITYFLAGTEMPORARY_resting)
|
||||
if(sitting)
|
||||
icon_state = "[module.cyborg_base_icon]-sit"
|
||||
if(bellyup)
|
||||
@@ -724,8 +724,6 @@
|
||||
connected_ai.connected_robots -= src
|
||||
src.connected_ai = null
|
||||
lawupdate = 0
|
||||
lockcharge = 0
|
||||
canmove = 1
|
||||
scrambledcodes = 1
|
||||
//Disconnect it's camera so it's not so easily tracked.
|
||||
if(!QDELETED(builtInCamera))
|
||||
@@ -734,6 +732,7 @@
|
||||
// Instead of being listed as "deactivated". The downside is that I'm going
|
||||
// to have to check if every camera is null or not before doing anything, to prevent runtime errors.
|
||||
// I could change the network to null but I don't know what would happen, and it seems too hacky for me.
|
||||
update_mobility()
|
||||
|
||||
/mob/living/silicon/robot/mode()
|
||||
set name = "Activate Held Object"
|
||||
@@ -1021,7 +1020,7 @@
|
||||
if(health <= -maxHealth) //die only once
|
||||
death()
|
||||
return
|
||||
if(_MOBILITYFLAGTEMPORARY_IsUnconscious() || _MOBILITYFLAGTEMPORARY_IsStun() || _MOBILITYFLAGTEMPORARY_IsParalyze() || getOxyLoss() > maxHealth*0.5)
|
||||
if(_MOBILITYFLAGTEMPORARY_IsUnconscious() || _MOBILITYFLAGTEMPORARY_IsStun() || IsParalyzed() || getOxyLoss() > maxHealth*0.5)
|
||||
if(stat == CONSCIOUS)
|
||||
stat = UNCONSCIOUS
|
||||
blind_eyes(1)
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
if(!..())
|
||||
return
|
||||
|
||||
if(IsStun())
|
||||
if(_MOBILITYFLAGTEMPORARY_IsStun() || IsParalyzed())
|
||||
old_target_fire = target_fire
|
||||
target_fire = null
|
||||
mode = BOT_IDLE
|
||||
@@ -287,7 +287,7 @@
|
||||
if(!on)
|
||||
icon_state = "firebot0"
|
||||
return
|
||||
if(IsStun())
|
||||
if(_MOBILITYFLAGTEMPORARY_IsStun() || IsParalyzed())
|
||||
icon_state = "firebots1"
|
||||
else if(stationary_mode) //Bot has yellow light to indicate stationary mode.
|
||||
icon_state = "firebots1"
|
||||
|
||||
@@ -417,17 +417,17 @@
|
||||
else
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/update_canmove(value_otherwise = TRUE)
|
||||
if(IsUnconscious() || IsStun() || IsKnockdown() || stat || resting)
|
||||
/mob/living/simple_animal/update_mobility(value_otherwise = MOBILITY_FLAGS_DEFAULT)
|
||||
if(_MOBILITYFLAGTEMPORARY_IsUnconscious() || _MOBILITYFLAGTEMPORARY_IsStun() || IsParalyzed() || stat || resting)
|
||||
drop_all_held_items()
|
||||
canmove = FALSE
|
||||
mobility_flags = NONE
|
||||
else if(buckled)
|
||||
canmove = FALSE
|
||||
mobility_flags = ~MOBILITY_MOVE
|
||||
else
|
||||
canmove = value_otherwise
|
||||
mobility_flags = MOBILITY_FLAGS_DEFAUTL
|
||||
update_transform()
|
||||
update_action_buttons_icon()
|
||||
return canmove
|
||||
return mobility_flags
|
||||
|
||||
/mob/living/simple_animal/update_transform()
|
||||
var/matrix/ntransform = matrix(transform) //aka transform.Copy()
|
||||
|
||||
@@ -244,27 +244,27 @@
|
||||
update_mobility()
|
||||
|
||||
/mob/living/proc/SetAllImmobility(amount, updating, ignore_canstun = FALSE)
|
||||
_MOBILITYFLAGTEMPORARY_SetParalyzed(amount, FALSE, ignore_canstun)
|
||||
SetParalyzed(amount, FALSE, ignore_canstun)
|
||||
_MOBILITYFLAGTEMPORARY_SetKnockdown(amount, FALSE, ignore_canstun)
|
||||
_MOBILITYFLAGTEMPORARY_SetStun(amount, FALSE, ignore_canstun)
|
||||
_MOBILITYFLAGTEMPORARY_SetImmobilized(amount, FALSE, ignore_canstun)
|
||||
SetImmobilized(amount, FALSE, ignore_canstun)
|
||||
if(updating)
|
||||
update_mobility()
|
||||
|
||||
/mob/living/proc/AdjustAllImmobility(amount, updating, ignore_canstun = FALSE)
|
||||
_MOBILITYFLAGTEMPORARY_AdjustParalyzed(amount, FALSE, ignore_canstun)
|
||||
AdjustParalyzed(amount, FALSE, ignore_canstun)
|
||||
_MOBILITYFLAGTEMPORARY_AdjustKnockdown(amount, FALSE, ignore_canstun)
|
||||
_MOBILITYFLAGTEMPORARY_AdjustStun(amount, FALSE, ignore_canstun)
|
||||
_MOBILITYFLAGTEMPORARY_AdjustImmobilized(amount, FALSE, ignore_canstun)
|
||||
AdjustImmobilized(amount, FALSE, ignore_canstun)
|
||||
if(updating)
|
||||
update_mobility()
|
||||
|
||||
/// Makes sure all 4 of the non-knockout immobilizing status effects are lower or equal to amount.
|
||||
/mob/living/proc/HealAllImmobilityupto(amount, updating, ignore_canstun = FALSE)
|
||||
if(AmountStun() > amount)
|
||||
SetStun(amount, FALSE, ignore_canstun)
|
||||
if(AmountKnockdown() > amount)
|
||||
SetKnockdown(amount, FALSE, ignore_canstun)
|
||||
if(_MOBILTIYFLAGTEMPORARY_AmountStun() > amount)
|
||||
_MOBILTIYFLAGTEMPORARY_SetStun(amount, FALSE, ignore_canstun)
|
||||
if(_MOBILTIYFLAGTEMPORARY_AmountKnockdown() > amount)
|
||||
_MOBILTIYFLAGTEMPORARY_SetKnockdown(amount, FALSE, ignore_canstun)
|
||||
if(AmountParalyzed() > amount)
|
||||
SetParalyzed(amount, FALSE, ignore_canstun)
|
||||
if(AmountImmobilized() > amount)
|
||||
@@ -286,7 +286,7 @@
|
||||
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
|
||||
return
|
||||
if(((status_flags & CANUNCONSCIOUS) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun)
|
||||
var/datum/status_effect/incapacitating/unconscious/U = IsUnconscious()
|
||||
var/datum/status_effect/incapacitating/unconscious/U = _MOBILTIYFLAGTEMPORARY_IsUnconscious()
|
||||
if(U)
|
||||
U.duration = max(world.time + amount, U.duration)
|
||||
else if(amount > 0)
|
||||
@@ -344,7 +344,7 @@
|
||||
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
|
||||
return
|
||||
if((!HAS_TRAIT(src, TRAIT_SLEEPIMMUNE)) || ignore_canstun)
|
||||
var/datum/status_effect/incapacitating/sleeping/S = IsSleeping()
|
||||
var/datum/status_effect/incapacitating/sleeping/S = _MOBILTIYFLAGTEMPORARY_IsSleeping()
|
||||
if(amount <= 0)
|
||||
if(S)
|
||||
qdel(S)
|
||||
|
||||
@@ -187,8 +187,7 @@
|
||||
|
||||
|
||||
//Make mob invisible and spawn animation
|
||||
notransform = 1
|
||||
canmove = 0
|
||||
notransform = TRUE
|
||||
Stun(22, ignore_canstun = TRUE)
|
||||
icon = null
|
||||
cut_overlays()
|
||||
@@ -365,8 +364,8 @@
|
||||
else
|
||||
dropItemToGround(W)
|
||||
regenerate_icons()
|
||||
notransform = 1
|
||||
canmove = 0
|
||||
notransform = TRUE
|
||||
Paralyze(INFINITY)
|
||||
icon = null
|
||||
invisibility = INVISIBILITY_MAXIMUM
|
||||
for(var/t in bodyparts)
|
||||
@@ -485,8 +484,8 @@
|
||||
for(var/obj/item/W in src)
|
||||
dropItemToGround(W)
|
||||
regenerate_icons()
|
||||
notransform = 1
|
||||
canmove = 0
|
||||
notransform = TRUE
|
||||
Paralyze(INFINITY)
|
||||
icon = null
|
||||
invisibility = INVISIBILITY_MAXIMUM
|
||||
for(var/t in bodyparts) //this really should not be necessary
|
||||
@@ -516,7 +515,7 @@
|
||||
|
||||
regenerate_icons()
|
||||
notransform = TRUE
|
||||
canmove = FALSE
|
||||
Paralyze(INFINITY)
|
||||
icon = null
|
||||
invisibility = INVISIBILITY_MAXIMUM
|
||||
var/mob/living/simple_animal/hostile/gorilla/new_gorilla = new (get_turf(src))
|
||||
@@ -545,7 +544,7 @@
|
||||
|
||||
regenerate_icons()
|
||||
notransform = TRUE
|
||||
canmove = FALSE
|
||||
Paralyze(INFINITY)
|
||||
icon = null
|
||||
invisibility = INVISIBILITY_MAXIMUM
|
||||
|
||||
|
||||
Reference in New Issue
Block a user