diff --git a/code/datums/abnormality/_ego_datum/he.dm b/code/datums/abnormality/_ego_datum/he.dm index 94855db4cddf..62200ef356c5 100644 --- a/code/datums/abnormality/_ego_datum/he.dm +++ b/code/datums/abnormality/_ego_datum/he.dm @@ -192,6 +192,10 @@ item_path = /obj/item/ego_weapon/homing_instinct cost = 35 +/datum/ego_datum/weapon/brick_road + item_path = /obj/item/ego_weapon/lance/brick_road + cost = 35 + /datum/ego_datum/armor/homing_instinct_old item_path = /obj/item/clothing/suit/armor/ego_gear/he/brick cost = 35 // Unused, available from the well. diff --git a/code/game/objects/items/ego_weapons/he.dm b/code/game/objects/items/ego_weapons/he.dm index a0a81e8988c3..527bc4a7df0a 100644 --- a/code/game/objects/items/ego_weapons/he.dm +++ b/code/game/objects/items/ego_weapons/he.dm @@ -1652,3 +1652,79 @@ 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/mob/living/simple_animal/hostile/H in get_turf(src)) + if(faction_check(H.faction, faction)) + continue + H.apply_status_effect(/datum/status_effect/brown_bricks) diff --git a/code/modules/mob/living/simple_animal/abnormality/he/road_home.dm b/code/modules/mob/living/simple_animal/abnormality/he/road_home.dm index fe96cacab0c2..18c2cf6b2651 100644 --- a/code/modules/mob/living/simple_animal/abnormality/he/road_home.dm +++ b/code/modules/mob/living/simple_animal/abnormality/he/road_home.dm @@ -28,6 +28,7 @@ can_patrol = FALSE deathsound = 'sound/abnormalities/roadhome/House_NormalAtk.ogg' ego_list = list( + /datum/ego_datum/weapon/brick_road, /datum/ego_datum/weapon/homing_instinct, /datum/ego_datum/armor/homing_instinct ) diff --git a/icons/mob/inhands/96x96_lefthand.dmi b/icons/mob/inhands/96x96_lefthand.dmi index 1bd6c2169a20..20647bce5fe2 100644 Binary files a/icons/mob/inhands/96x96_lefthand.dmi and b/icons/mob/inhands/96x96_lefthand.dmi differ diff --git a/icons/mob/inhands/96x96_righthand.dmi b/icons/mob/inhands/96x96_righthand.dmi index e6caf72b1be6..af2f6c721a35 100644 Binary files a/icons/mob/inhands/96x96_righthand.dmi and b/icons/mob/inhands/96x96_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/ego_lefthand.dmi b/icons/mob/inhands/weapons/ego_lefthand.dmi index dc2cb2d64cc0..1cf5be5efa8c 100644 Binary files a/icons/mob/inhands/weapons/ego_lefthand.dmi and b/icons/mob/inhands/weapons/ego_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/ego_righthand.dmi b/icons/mob/inhands/weapons/ego_righthand.dmi index 5ff990386f8b..2bf34f7a25c7 100644 Binary files a/icons/mob/inhands/weapons/ego_righthand.dmi and b/icons/mob/inhands/weapons/ego_righthand.dmi differ diff --git a/icons/obj/ego_weapons.dmi b/icons/obj/ego_weapons.dmi index ecfcf35d2e24..36fba9c71b8d 100644 Binary files a/icons/obj/ego_weapons.dmi and b/icons/obj/ego_weapons.dmi differ