From 126ad4c01768fbe9718ccb22846377ee4d5c751c Mon Sep 17 00:00:00 2001 From: CrabbytheCrab <79179107+CrabbytheCrab@users.noreply.github.com> Date: Thu, 12 Oct 2023 15:40:28 -0400 Subject: [PATCH] Update he.dm --- code/game/objects/items/ego_weapons/he.dm | 143 ++++++++++++---------- 1 file changed, 80 insertions(+), 63 deletions(-) diff --git a/code/game/objects/items/ego_weapons/he.dm b/code/game/objects/items/ego_weapons/he.dm index 9e5bd97a795a..a0e6071d5d1b 100644 --- a/code/game/objects/items/ego_weapons/he.dm +++ b/code/game/objects/items/ego_weapons/he.dm @@ -589,69 +589,6 @@ if(force < 100) force += 0.25 //It charges pretty slowly, but people walk pretty fast thanks to justice. -/obj/item/ego_weapon/lance/brick_road - name = "brick road" - desc = "To the wizard we go!" - special = "This weapon leaves slowing yellow bricks from charging" - icon_state = "brick_road" - lefthand_file = 'icons/mob/inhands/96x96_lefthand.dmi' - righthand_file = 'icons/mob/inhands/96x96_righthand.dmi' - damtype = WHITE_DAMAGE - armortype = WHITE_DAMAGE - force = 50 - inhand_x_dimension = 96 - inhand_y_dimension = 96 - attack_speed = 4//Really really slow. - attack_verb_continuous = list("stabs", "impales") - attack_verb_simple = list("stab", "impale") - hitsound = 'sound/weapons/ego/spear1.ogg' - attribute_requirements = list( - JUSTICE_ATTRIBUTE = 40 - ) - reach = 2 - force_cap = 100 //Old max damage when it was damage = amount you walked. - force_per_tile = 5 //if I can read, this means you need to cross 20 tiles for max damage - pierce_force_cost = 20 - charge_speed_cap = 2//more of a jog then a ram - couch_cooldown_time = 5 SECONDS - -/obj/item/ego_weapon/lance/brick_road/UserMoved(mob/user) - ..() - if(!raised) - playsound(src, 'sound/abnormalities/roadhome/House_MakeRoad.ogg', 100, FALSE, 8) - new /obj/effect/golden_road2(get_turf(user)) - -//Not an actual floor, but an effect you put on top of it. -/obj/effect/golden_road2 - name = "Golden Road" - icon = 'icons/turf/floors.dmi' - icon_state = "gold" //note : find a proper brick road sprite later - alpha = 0 - anchored = TRUE - var/slow_down = 0.75//25% slow - var/list/faction = list("neutral") - -/obj/effect/golden_road2/Initialize() - . = ..() - QDEL_IN(src, 30 SECONDS) - animate(src, alpha = 255,transform= transform, time = 0.5 SECONDS) - addtimer(CALLBACK(src, .proc/FadeOut), 29.5 SECONDS) - for(var/i = 1 to 30) - addtimer(CALLBACK(src, .proc/Slow), i * 1 SECONDS) - -/obj/effect/golden_road2/proc/FadeOut() - animate(src, alpha = 0, time = 0.5 SECONDS) - -/obj/effect/golden_road2/proc/Slow() - for(var/turf/T in range(0, src)) - if(T.z != z) - continue - for(var/mob/living/L in T) - if(faction_check(L.faction, src.faction)) - continue - var/mob/living/simple_animal/hostile/H = L - H.TemporarySpeedChange(H.move_to_delay*slow_down , 3 SECONDS) - /obj/item/ego_weapon/shield/maneater name = "man eater" desc = "If friends were flowers, I'd pick you!" @@ -1715,3 +1652,83 @@ new /obj/effect/temp_visual/beakbite(get_turf(owner)) #undef STATUS_EFFECT_FAIRYBITE + +/obj/item/ego_weapon/lance/brick_road + name = "brick road" + desc = "To the wizard we go!" + special = "This weapon leaves slowing yellow bricks from charging" + icon_state = "brick_road" + lefthand_file = 'icons/mob/inhands/96x96_lefthand.dmi' + righthand_file = 'icons/mob/inhands/96x96_righthand.dmi' + damtype = WHITE_DAMAGE + armortype = WHITE_DAMAGE + force = 50 + inhand_x_dimension = 96 + inhand_y_dimension = 96 + attack_speed = 4//Really really slow. + attack_verb_continuous = list("stabs", "impales") + attack_verb_simple = list("stab", "impale") + hitsound = 'sound/weapons/ego/spear1.ogg' + attribute_requirements = list( + JUSTICE_ATTRIBUTE = 40 + ) + reach = 2 + force_cap = 100 //Old max damage when it was damage = amount you walked. + force_per_tile = 5 //if I can read, this means you need to cross 20 tiles for max damage + pierce_force_cost = 20 + charge_speed_cap = 2//more of a jog then a ram + couch_cooldown_time = 5 SECONDS + +/obj/item/ego_weapon/lance/brick_road/UserMoved(mob/user) + ..() + if(!raised) + playsound(src, 'sound/abnormalities/roadhome/House_MakeRoad.ogg', 100, FALSE, 8) + new /obj/effect/golden_road2(get_turf(user)) + +/datum/status_effect/brown_bricks + id = "brown_bricks" + status_type = STATUS_EFFECT_UNIQUE + duration = 3 SECONDS + alert_type = /atom/movable/screen/alert/status_effect/brown_bricks + +/datum/status_effect/brown_bricks/on_apply() + . = ..() + if(!isanimal(owner)) + return + var/mob/living/simple_animal/hostile/M = owner + M.TemporarySpeedChange(M.move_to_delay*0.25 , 3 SECONDS) + +/atom/movable/screen/alert/status_effect/brown_bricks + name = "Yello Bricks" + desc = "These DAMN bricks are slowing you down by 25%!" + icon = 'icons/turf/floors.dmi' + icon_state = "gold" //note : find a proper brick road sprite later + +//Not an actual floor, but an effect you put on top of it. +/obj/effect/golden_road2 + name = "Golden Road" + icon = 'icons/turf/floors.dmi' + icon_state = "gold" //note : find a proper brick road sprite later + alpha = 0 + anchored = TRUE + var/list/faction = list("neutral") + +/obj/effect/golden_road2/Initialize() + . = ..() + QDEL_IN(src, 30 SECONDS) + animate(src, alpha = 255,transform= transform, time = 0.5 SECONDS) + addtimer(CALLBACK(src, .proc/FadeOut), 29.5 SECONDS) + addtimer(CALLBACK(src, .proc/Slow),1 SECONDS, TIMER_LOOP) + +/obj/effect/golden_road2/proc/FadeOut() + animate(src, alpha = 0, time = 0.5 SECONDS) + +/obj/effect/golden_road2/proc/Slow() + for(var/turf/T in range(0, src)) + if(T.z != z) + continue + for(var/mob/living/L in T) + if(faction_check(L.faction, src.faction)) + continue + var/mob/living/simple_animal/hostile/H = L + H.apply_status_effect(/datum/status_effect/brown_bricks)