Off Balance for Guns only again
Was intended for guns
This commit is contained in:
@@ -159,6 +159,9 @@
|
|||||||
#define SHOVE_STAGGER_DURATION 35
|
#define SHOVE_STAGGER_DURATION 35
|
||||||
/// how long they're off balance for
|
/// how long they're off balance for
|
||||||
#define SHOVE_OFFBALANCE_DURATION 30
|
#define SHOVE_OFFBALANCE_DURATION 30
|
||||||
|
//Shove disarming item list
|
||||||
|
GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
|
||||||
|
/obj/item/gun)))
|
||||||
|
|
||||||
|
|
||||||
//Embedded objects
|
//Embedded objects
|
||||||
|
|||||||
@@ -108,7 +108,7 @@
|
|||||||
|
|
||||||
/datum/status_effect/off_balance/on_remove()
|
/datum/status_effect/off_balance/on_remove()
|
||||||
var/active_item = owner.get_active_held_item()
|
var/active_item = owner.get_active_held_item()
|
||||||
if(active_item)
|
if(is_type_in_typecache(active_item, GLOB.shove_disarming_types))
|
||||||
owner.visible_message("<span class='warning'>[owner.name] regains their grip on \the [active_item]!</span>", "<span class='warning'>You regain your grip on \the [active_item]</span>", null, COMBAT_MESSAGE_RANGE)
|
owner.visible_message("<span class='warning'>[owner.name] regains their grip on \the [active_item]!</span>", "<span class='warning'>You regain your grip on \the [active_item]</span>", null, COMBAT_MESSAGE_RANGE)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
|||||||
@@ -2038,6 +2038,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
|||||||
user, "<span class='danger'>You shove [target.name]!</span>")
|
user, "<span class='danger'>You shove [target.name]!</span>")
|
||||||
target.Stagger(SHOVE_STAGGER_DURATION)
|
target.Stagger(SHOVE_STAGGER_DURATION)
|
||||||
var/obj/item/target_held_item = target.get_active_held_item()
|
var/obj/item/target_held_item = target.get_active_held_item()
|
||||||
|
if(!is_type_in_typecache(target_held_item, GLOB.shove_disarming_types))
|
||||||
|
target_held_item = null
|
||||||
if(!target.has_status_effect(STATUS_EFFECT_OFF_BALANCE))
|
if(!target.has_status_effect(STATUS_EFFECT_OFF_BALANCE))
|
||||||
if(target_held_item)
|
if(target_held_item)
|
||||||
if(!HAS_TRAIT(target_held_item, TRAIT_NODROP))
|
if(!HAS_TRAIT(target_held_item, TRAIT_NODROP))
|
||||||
|
|||||||
Reference in New Issue
Block a user