From 1bb0c01ff19a10dd001be63baa99495b545260ea Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 20 Mar 2020 18:42:02 -0700 Subject: [PATCH] Hypereutactic blade properly slows you down again, adds set_slowdown() and hooks vv_edit_var for it (#11553) * ok * Update items.dm --- code/game/objects/items.dm | 17 ++++++++++++++++- code/game/objects/items/twohanded.dm | 4 ++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 5c2f151e38..a0f32fbb7b 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -855,4 +855,19 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) return /obj/item/proc/unembedded() - return \ No newline at end of file + return + +/** + * Sets our slowdown and updates equipment slowdown of any mob we're equipped on. + */ +/obj/item/proc/set_slowdown(new_slowdown) + slowdown = new_slowdown + if(CHECK_BITFIELD(item_flags, IN_INVENTORY)) + var/mob/living/L = loc + if(istype(L)) + L.update_equipment_speed_mods() + +/obj/item/vv_edit_var(var_name, var_value) + . = ..() + if(var_name == NAMEOF(src, slowdown)) + set_slowdown(var_value) //don't care if it's a duplicate edit as slowdown'll be set, do it anyways to force normal behavior. diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index 2c31e4addf..5137e1af42 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -58,7 +58,7 @@ var/obj/item/twohanded/offhand/O = user.get_inactive_held_item() if(O && istype(O)) O.unwield() - slowdown -= slowdown_wielded + set_slowdown(slowdown - slowdown_wielded) /obj/item/twohanded/proc/wield(mob/living/carbon/user) if(wielded) @@ -88,7 +88,7 @@ O.desc = "Your second grip on [src]." O.wielded = TRUE user.put_in_inactive_hand(O) - slowdown += slowdown_wielded + set_slowdown(slowdown + slowdown_wielded) /obj/item/twohanded/dropped(mob/user) . = ..()