From c0385296771b374a9257d20a620abce4f17cbb75 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 12 Sep 2021 19:55:20 -0700 Subject: [PATCH 1/6] Update holy_weapons.dm --- code/game/objects/items/holy_weapons.dm | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 44121d64d1..eda1016b46 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -769,12 +769,30 @@ STOP_PROCESSING(SSobj, src) . = ..() +/obj/item/nullrod/tribal_knife/pickup(mob/user) + . = ..() + reroll() + /obj/item/nullrod/tribal_knife/process() - slowdown = rand(-2, 2) + reroll() + +/obj/item/nullrod/tribal_knife if(iscarbon(loc)) var/mob/living/carbon/wielder = loc if(wielder.is_holding(src)) - wielder.update_equipment_speed_mods() + wielder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/item/arrythmic_knife, multiplicative_slowdown = pick(-10, 0, ((10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - 3) / 10)) + +/obj/item/nullrod/tribal_knife/dropped(mob/user) + user.remove_movespeed_modifier(/datum/movespeed_modifier/item/arrhythmic_knife) + return ..() + +/datum/movespeed_modifier/item/arrhythmic_knife + variable = TRUE + flags = IGNORE_NOSLOW + movetypes = ~FLOATING + priority = 750 + absolute_max_tiles_per_second = 20 + max_tiles_per_second_boost = 3 /obj/item/nullrod/pitchfork icon_state = "pitchfork0" From baa8d2642841b067b7dfc235db95f094e8df3e29 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 12 Sep 2021 20:03:26 -0700 Subject: [PATCH 2/6] Update holy_weapons.dm --- code/game/objects/items/holy_weapons.dm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index eda1016b46..7cea56ce53 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -780,7 +780,14 @@ if(iscarbon(loc)) var/mob/living/carbon/wielder = loc if(wielder.is_holding(src)) - wielder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/item/arrythmic_knife, multiplicative_slowdown = pick(-10, 0, ((10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - 3) / 10)) + var/datum/movespeed_modifier/M = wielder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/item/arrythmic_knife, multiplicative_slowdown = + pick( + -10, + -10, + 0, + ((10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - 2) / 10), + ((10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - 4) / 10)) + M.max_tiles_per_second_boost = pick(3, 6) /obj/item/nullrod/tribal_knife/dropped(mob/user) user.remove_movespeed_modifier(/datum/movespeed_modifier/item/arrhythmic_knife) @@ -792,7 +799,7 @@ movetypes = ~FLOATING priority = 750 absolute_max_tiles_per_second = 20 - max_tiles_per_second_boost = 3 + max_tiles_per_second_boost = 6 /obj/item/nullrod/pitchfork icon_state = "pitchfork0" From 7aae90a360850ef70770f07ff90c16533638ebb8 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 12 Sep 2021 20:05:47 -0700 Subject: [PATCH 3/6] Update holy_weapons.dm --- code/game/objects/items/holy_weapons.dm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 7cea56ce53..bb3631c555 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -780,14 +780,19 @@ if(iscarbon(loc)) var/mob/living/carbon/wielder = loc if(wielder.is_holding(src)) - var/datum/movespeed_modifier/M = wielder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/item/arrythmic_knife, multiplicative_slowdown = - pick( - -10, - -10, - 0, - ((10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - 2) / 10), - ((10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - 4) / 10)) + var/datum/movespeed_modifier/M = wielder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/item/arrythmic_knife, + update = FALSE, + multiplicative_slowdown = + pick( + -10, + -10, + 0, + ((10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - 2) / 10), + ((10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - 4) / 10) + ) + ) M.max_tiles_per_second_boost = pick(3, 6) + wielder.update_movespeed() // update movespeed manually /obj/item/nullrod/tribal_knife/dropped(mob/user) user.remove_movespeed_modifier(/datum/movespeed_modifier/item/arrhythmic_knife) From 037f466a4789c8961ad6b216c47ba189332eb43a Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 12 Sep 2021 20:12:31 -0700 Subject: [PATCH 4/6] Update holy_weapons.dm --- code/game/objects/items/holy_weapons.dm | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index bb3631c555..bd17181d04 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -780,17 +780,8 @@ if(iscarbon(loc)) var/mob/living/carbon/wielder = loc if(wielder.is_holding(src)) - var/datum/movespeed_modifier/M = wielder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/item/arrythmic_knife, - update = FALSE, - multiplicative_slowdown = - pick( - -10, - -10, - 0, - ((10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - 2) / 10), - ((10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - 4) / 10) - ) - ) + var/current_tiles = 10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) + var/datum/movespeed_modifier/M = wielder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/item/arrythmic_knife, update = FALSE, multiplicative_slowdown = pick(-10, -10, 0, (current_tiles - 2) / 10, (current_tiles - 4) / 10)) M.max_tiles_per_second_boost = pick(3, 6) wielder.update_movespeed() // update movespeed manually From 57b6946fbb3d8837bd0c917a780a72a8cd1f7f38 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 12 Sep 2021 20:18:48 -0700 Subject: [PATCH 5/6] Update holy_weapons.dm --- code/game/objects/items/holy_weapons.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index bd17181d04..06fd79bb79 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -776,7 +776,7 @@ /obj/item/nullrod/tribal_knife/process() reroll() -/obj/item/nullrod/tribal_knife +/obj/item/nullrod/tribal_knife/proc/reroll() if(iscarbon(loc)) var/mob/living/carbon/wielder = loc if(wielder.is_holding(src)) From d2f3ff4d118d999f0526f29c3e6174e3e6cc9afc Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 12 Sep 2021 20:23:00 -0700 Subject: [PATCH 6/6] Update holy_weapons.dm --- code/game/objects/items/holy_weapons.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 06fd79bb79..1360fb970e 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -780,8 +780,8 @@ if(iscarbon(loc)) var/mob/living/carbon/wielder = loc if(wielder.is_holding(src)) - var/current_tiles = 10 / max(wielder.cached_multiplicative_movespeed, world.tick_lag) - var/datum/movespeed_modifier/M = wielder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/item/arrythmic_knife, update = FALSE, multiplicative_slowdown = pick(-10, -10, 0, (current_tiles - 2) / 10, (current_tiles - 4) / 10)) + var/current_tiles = 10 / max(wielder.cached_multiplicative_slowdown, world.tick_lag) + var/datum/movespeed_modifier/M = wielder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/item/arrhythmic_knife, update = FALSE, multiplicative_slowdown = pick(-10, -10, 0, (current_tiles - 2) / 10, (current_tiles - 4) / 10)) M.max_tiles_per_second_boost = pick(3, 6) wielder.update_movespeed() // update movespeed manually