FFsG!Pb^;mdk#TkU17LF-|(MK;6z
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
UF|+ns-~a#s07*qoM6N<$g7#bl+5i9m
diff --git a/code/modules/mob/living/simple_animal/abnormality/_auxiliary_modes/community/!icons/ego_worn.dmi b/code/modules/mob/living/simple_animal/abnormality/_auxiliary_modes/community/!icons/ego_worn.dmi
index 579626a08cd86d40798c67ec22153a7ffafdb859..926ed22c9c917a1e0001e78ec60b1bb6ed7a8d52 100644
GIT binary patch
literal 5000
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
SlkhkI0000;M1&*icMV
zMZmzoT24QplYxP7T5@Ah!n?1utDJjlSF50pxv!#;eP*4KeXOIAXj(|nULa3OKv_>l
z-)k*&W?D!a3v4G3R!%*!tDa+AP~&_?yj2~Xm4&LGjYCm
z3;=w>8w-&=qP_qC0{clsK~z|U?UsF4qCgbJ2Vz(XBq5oGB?pYOO)<(=?PY(-WY_xs
z-)Qe(qVghgI(zmXAJ0)3=lSu>WjI`f{*eSx6u;s>l0+*3!o@U%>a^&Hwp4_
zy+B72Bmiyrajgh~bb{4&1cB4)BuG}EYN@B8V5Qa?1ik`YT_*s$a=Z`VH2H2y(uu4Y
zDmFen4G6>;aA=xlnfa_`5psWi&JV$lHELkG0@zSR1!EC?H*LqUT4zQ6i?+oWA<2oX
zW0h)HO92uDz{jF1n+_pX`=Wr*YFl21vCGQ@KzR+-6+n=ns!&MLbpYUdR=br4SeAF?
zlWwou1`fC;&Xs3bc>wXRyiV`O4JWu@HaKGofJA@yIsy1_rJTP%
z7;%crO=m3AAp96xlHF*@?-(>+0Kf}=)Aj8K1Ksq910O3OxfJUQ@6IYg9
z3XnBG+JbCNE|TtoTVMN=ogkFY&&zNj!RA1to}bIzKCSIP=%D|u@%W2?$z%s%I^Bct
zIANvsr>8v#kIyfqc8vESJiq)Z@^d?=8t^!I!THf?Vvk-UJga{MjNj%(eyW2Xv8WUP
zEduW!gfV)XXV)+_FgCa!Ayx+9EkYcdCfr0e*E4_q#_+C7{D_s@qq7U%W006P87!Az
zmK31u_9kkzlOBUG=rNd{t>O$r#}MuELyKW~o=?o~4FHTh04hKWjj7^4ao=aL32%5t
zvj94yxV-#J5k_h!(U8FdVXQ
z*@)5t09`~Cfbji&)g%-wVWC$7Mjs!kKf4h*VG$X-0jb{R1rH+-s`f!DT5x@?vWMWH
agZ={SMNO*+7JOm=0000 combo_time)
+ chain = 0
+ if(activated)
+ activated = FALSE
+ to_chat(user, span_danger("You revoke your preparation of a heavy attack."))
+ else
+ activated = TRUE
+ to_chat(user, span_danger("You prep a heavy attack!"))
+
+
+/obj/item/ego_weapon/desert/attack(mob/living/target, mob/living/user)
+ if(!CanUseEgo(user))
+ return
+
+ if(world.time > combo_time)
+ chain = 0
+ combo_time = world.time + combo_wait
+
+ var/during_windup //can't attack during windup
+ if(during_windup)
+ return
+
+ //Setting chain and attack speed to 0
+ chain+=1
+ attack_speed = initial(attack_speed)
+
+ //Teh Chain of attacks. See the examine for what each chain does.
+
+ switch(chain)
+ if(1)
+ if(activated) //H - Drop Kick attack
+ to_chat(user, span_danger("You leap at your target."))
+ step_towards(user,target)
+ stuntime = 20
+ force *= 3
+ hitsound = 'sound/weapons/fixer/oldboys.ogg'
+ user.Knockdown(10)
+ knockback(target, user)
+
+ if(2)
+ if(activated) //LH - Knockback Palm Strike
+ to_chat(user, span_danger("You strike with your palm."))
+ hitsound = 'sound/weapons/fixer/generic/gen2.ogg'
+ knockback(target, user)
+ force *= 1.5
+
+ if(3)
+ if(activated) //LLH - Heavy hitting finisher
+ to_chat(user, span_danger("You strike a critical blow."))
+ during_windup = TRUE
+ force *= 2.5
+ hitsound = 'sound/weapons/fixer/generic/gen2.ogg'
+ else
+ force *= 0.7
+ attack_speed = 0.3
+ hitsound = 'sound/weapons/fixer/generic/dodge2.ogg'
+ user.spin(20, 1)
+ chain=0
+
+
+ //Special attacks are slower.
+ if(attack_speed == initial(attack_speed) && activated)
+ attack_speed = 2
+ . = ..()
+
+ //Reset Everything
+ if(activated)
+ chain=0
+ to_chat(user, span_danger("Your chain is reset."))
+ activated = FALSE
+ force = initial(force)
+ hitsound = initial(hitsound)
+ stuntime = initial(stuntime)
+
+/obj/item/ego_weapon/desert/proc/knockback(mob/living/target, mob/living/user)
+ var/atom/throw_target = get_edge_target_turf(target, user.dir)
+ if(!target.anchored)
+ var/whack_speed = (prob(60) ? 1 : 4)
+ target.throw_at(throw_target, rand(1, 3), whack_speed, user)
+
+/obj/item/ego_weapon/desert/afterattack(atom/A, mob/living/user, proximity_flag, params)
+ if(!CanUseEgo(user))
+ return
+ if(!isliving(A))
+ return
+ if(!activated || chain > 0)
+ return
+ if((get_dist(user, A) < 2) || (!(can_see(user, A, dash_range))))
+ return
+ ..()
+ for(var/i in 2 to get_dist(user, A))
+ step_towards(user,A)
+ if((get_dist(user, A) < 2))
+ A.attackby(src,user)
+ playsound(src, 'sound/weapons/fixer/generic/dodge.ogg', 50, FALSE, 9)
+ to_chat(user, "You dash to [A]!")
+
+// WAW
+/obj/item/ego_weapon/sunspit
+ name = "sunspit"
+ desc = "Goodness gracious, great mauls of fire!"
+ special = "Use in hand to prepare a powerful area attack. This attack becomes more powerful when charged."
+ icon_state = "sunspit"
+ icon = 'code/modules/mob/living/simple_animal/abnormality/_auxiliary_modes/community/!icons/ego_weapons.dmi'
+ force = 54
+ attack_speed = 1.6
+ swingstyle = WEAPONSWING_LARGESWEEP
+ damtype = RED_DAMAGE
+ hitsound = 'sound/abnormalities/seasons/fall_attack.ogg'
+ attribute_requirements = list(
+ FORTITUDE_ATTRIBUTE = 60,
+ JUSTICE_ATTRIBUTE = 60
+ )
+
+ charge = TRUE
+ ability_type = ABILITY_ON_ACTIVATION
+ charge_cost = 3
+ charge_cap = 6
+ allow_ability_cancel = FALSE
+ charge_effect = "Perform a powerful area attack."
+ successfull_activation = "You release your charge!"
+ var/can_spin = TRUE
+ var/spinning = FALSE
+ var/aoe_damage = 54
+ var/aoe_size = 2
+ var/wide_slash_angle = 290
+ var/current_orientation = 1
+
+/obj/item/ego_weapon/sunspit/proc/spin_reset()
+ can_spin = TRUE
+
+/obj/item/ego_weapon/sunspit/attack(mob/living/target, mob/living/user)
+ if(spinning)
+ return FALSE
+ ..()
+ if(charge_amount == charge_cost || charge_amount == charge_cap)//audio cue for when you have enough charge
+ playsound(src, 'sound/abnormalities/seasons/old_fall_attack.ogg', 25, TRUE)
+ can_spin = FALSE
+ addtimer(CALLBACK(src, PROC_REF(spin_reset)), 12)
+
+/obj/item/ego_weapon/sunspit/attack_self(mob/living/user)
+ if(!charge || !CanUseEgo(user))
+ return ..()
+ if(charge_amount >= charge_cost)
+ ChargeAttack(user = user)
+ return
+ return ..()
+
+/obj/item/ego_weapon/sunspit/ChargeAttack(mob/living/target, mob/living/user)
+ if(!can_spin)
+ to_chat(user,span_warning("You attacked too recently."))
+ return
+ if(do_after(user, 12, src))
+ charge_amount -= charge_cost
+ addtimer(CALLBACK(src, PROC_REF(spin_reset)), 12)
+ playsound(src, 'sound/abnormalities/seasons/summer_attack.ogg', 75, FALSE, 4)
+ var/userjust = (get_modified_attribute_level(user, JUSTICE_ATTRIBUTE))
+ var/justicemod = 1 + userjust/100
+ aoe_damage = (force * justicemod)
+ addtimer(CALLBACK(src, PROC_REF(WideSlash), user), 1)
+
+/obj/item/ego_weapon/sunspit/proc/WideSlash(mob/living/carbon/human/user)
+ var/turf/TT = get_turf(get_step(user, user.dir))
+ var/turf/T = get_turf(src)
+ current_orientation = -current_orientation // Makes it so AOE is flipped each time
+ var/rotate_dir = current_orientation
+ var/angle_to_target = Get_Angle(T, TT)
+ var/angle = angle_to_target + (wide_slash_angle * rotate_dir) * 0.5
+ if(angle > 360)
+ angle -= 360
+ else if(angle < 0)
+ angle += 360
+ var/turf/T2 = get_turf_in_angle(angle, T, aoe_size)
+ var/list/line = getline(T, T2)
+ for(var/i = 1 to 20)
+ angle += ((wide_slash_angle / 20) * rotate_dir)
+ if(angle > 360)
+ angle -= 360
+ else if(angle < 0)
+ angle += 360
+ T2 = get_turf_in_angle(angle, T, aoe_size)
+ line = getline(T, T2)
+ addtimer(CALLBACK(src, PROC_REF(DoLineAttack), line, TT, user), i * 0.12)
+
+/obj/item/ego_weapon/sunspit/proc/DoLineAttack(list/line, atom/target, mob/living/carbon/human/user)
+ var/list/been_hit = list()
+ for(var/turf/T in line)
+ if(locate(/obj/effect/temp_visual/smash_effect) in T)
+ continue
+ playsound(T, 'sound/weapons/fixer/generic/fire3.ogg', 30, TRUE, 3)
+ new /obj/effect/temp_visual/smash_effect(T)
+ new /obj/effect/temp_visual/fire/fast(T)
+ been_hit = user.HurtInTurf(T, been_hit, aoe_damage, RED_DAMAGE, check_faction = TRUE)
+
+/obj/item/ego_weapon/sunspit/get_clamped_volume()
+ return 40
+
+// ALEPH
+/obj/item/ego_weapon/mini/limos
+ name = "limos"
+ desc = "Food? Does it have to be human? Does it have to be mine? How am I supposed to get it?"
+ special = "This weapon has a combo system. To turn off this combo system, use in hand. \
+ This weapon has a fast attack speed, is capable of closing short gaps when attacking, and heals a small amount on a combo finsiher."
+ icon_state = "limos"
+ icon = 'code/modules/mob/living/simple_animal/abnormality/_auxiliary_modes/community/!icons/ego_weapons.dmi'
+ force = 14 // VERY fast attacks potentially
+ damtype = BLACK_DAMAGE
+ swingstyle = WEAPONSWING_THRUST
+ attack_verb_continuous = list("stabs", "attacks", "slashes")
+ attack_verb_simple = list("stab", "attack", "slash")
+ hitsound = 'sound/weapons/fixer/generic/knife4.ogg'
+ attribute_requirements = list(
+ FORTITUDE_ATTRIBUTE = 80,
+ PRUDENCE_ATTRIBUTE = 100,
+ TEMPERANCE_ATTRIBUTE = 80,
+ JUSTICE_ATTRIBUTE = 80
+ )
+ var/combo = 0
+ var/combo_time
+ var/combo_wait = 10
+ var/combo_on = TRUE
+ var/dash_range = 3
+
+/obj/item/ego_weapon/mini/limos/attack_self(mob/user)
+ ..()
+ if(combo_on)
+ to_chat(user,span_warning("You swap your grip, and will no longer perform a finisher."))
+ combo_on = FALSE
+ return
+ if(!combo_on)
+ to_chat(user,span_warning("You swap your grip, and will now perform a finisher."))
+ combo_on =TRUE
+ return
+
+/obj/item/ego_weapon/mini/limos/attack(mob/living/M, mob/living/user)
+ if(!CanUseEgo(user))
+ return
+ if(world.time > combo_time || !combo_on) //or you can turn if off I guess
+ combo = 0
+ combo_time = world.time + combo_wait
+ if(combo==4)
+ combo = 0
+ ComboAttack(M, user)
+ user.changeNext_move(CLICK_CD_MELEE * 2)
+ else
+ user.changeNext_move(CLICK_CD_MELEE * 0.4)
+ ..()
+ combo += 1
+
+/obj/item/ego_weapon/mini/limos/proc/ComboAttack(mob/living/target, mob/living/user)
+ set waitfor = FALSE
+ for(var/i = 1 to 4)
+ sleep(2)
+ if(target in view(reach,user))
+ switch(i)
+ if(2)
+ hitsound = 'sound/weapons/fixer/generic/knife2.ogg'
+ if(3)
+ hitsound = 'sound/weapons/fixer/generic/knife3.ogg'
+ if(4)
+ hitsound = 'sound/effects/ordeals/crimson/noon_bite.ogg'
+ force *= 1.5
+ if(!(target.status_flags & GODMODE) && target.stat != DEAD)
+ var/heal_amt = force*0.30
+ if(isanimal(target))
+ var/mob/living/simple_animal/S = target
+ if(S.damage_coeff.getCoeff(damtype) > 0)
+ heal_amt *= S.damage_coeff.getCoeff(damtype)
+ else
+ heal_amt = 0
+ user.adjustBruteLoss(-heal_amt)
+ playsound(loc, hitsound, get_clamped_volume(), TRUE, extrarange = stealthy_audio ? SILENCED_SOUND_EXTRARANGE : -1, falloff_distance = 0)
+ user.do_attack_animation(target)
+ target.attacked_by(src, user)
+ log_combat(user, target, pick(attack_verb_continuous), src.name, "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])")
+ hitsound = initial(hitsound)
+ force = initial(force)
+
+/obj/item/ego_weapon/mini/limos/melee_attack_chain(mob/living/user, atom/target, params)
+ if(!..())
+ return
+ if(isliving(target))
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(get_turf(target), pick(GLOB.alldirs))
+
+
+/obj/item/ego_weapon/mini/limos/afterattack(atom/A, mob/living/user, proximity_flag, params)
+ ..()
+ if(!CanUseEgo(user))
+ return
+ if(!isliving(A))
+ return
+ if((get_dist(user, A) < 2) || (!(can_see(user, A, dash_range))))
+ return
+ for(var/i in 2 to get_dist(user, A))
+ step_towards(user,A)
+ if((get_dist(user, A) < 2))
+ A.attackby(src,user)
+ playsound(src, 'sound/weapons/fixer/generic/dodge.ogg', 50, FALSE, 9)
+
+
+/obj/item/ego_weapon/wield/ochre
+ name = "ochre sheet"
+ desc = "Everyone says its a myth until one day something happens in the streets that brings it back to life."
+ special = "This weapon can fire a damaging projectile that scales with justice when held with both hands."
+ icon_state = "ochre"
+ icon = 'code/modules/mob/living/simple_animal/abnormality/_auxiliary_modes/community/!icons/ego_weapons.dmi'
+ special = "This weapon deals RED damage when wielded and WHITE otherwise."
+ force = 98
+ wielded_force = 98
+ reach = 2 //Has 2 Square Reach.
+ wielded_reach = 2
+ attack_speed = 0.9
+ wielded_attack_speed = 0.9
+ stuntime = 3 //Longer reach, gives you a short stun.
+ swingstyle = WEAPONSWING_THRUST
+ attack_verb_continuous = list("slashes", "slices", "rips", "cuts")
+ attack_verb_simple = list("slash", "slice", "rip", "cut")
+ hitsound = 'sound/weapons/fixer/generic/blade5.ogg'
+ attribute_requirements = list(
+ FORTITUDE_ATTRIBUTE = 80,
+ PRUDENCE_ATTRIBUTE = 80,
+ TEMPERANCE_ATTRIBUTE = 80,
+ JUSTICE_ATTRIBUTE = 100
+ )
+ var/firing_cooldown = 0
+ var/firing_cooldown_time = 1 SECONDS
+
+/obj/item/ego_weapon/wield/ochre/OnWield(obj/item/source, mob/user)
+ icon_state = "ochre_wielded"
+ return ..()
+
+/obj/item/ego_weapon/wield/ochre/on_unwield(obj/item/source, mob/user)
+ icon_state = "ochre"
+ return ..()
+
+/obj/item/ego_weapon/wield/ochre/afterattack(atom/target, mob/living/user, proximity_flag, clickparams)
+ if(!wielded)
+ return
+ if(!CanUseEgo(user))
+ return
+ if((get_dist(user,target)) < reach)
+ return
+ ..()
+ var/turf/proj_turf = user.loc
+ if(!isturf(proj_turf))
+ return
+ if(world.time >= user.next_click) //important - prevents comboing
+ return
+ if(firing_cooldown >= world.time)
+ to_chat(user, span_notice("[src] is not ready to fire!"))
+ return
+ var/obj/projectile/ego_bullet/ochre/G = new /obj/projectile/ego_bullet/ochre(proj_turf)
+ G.fired_from = src //for signal check
+ playsound(user, 'sound/weapons/fixer/generic/dodge.ogg', 100, TRUE)
+ G.firer = user
+ G.preparePixelProjectile(target, user, clickparams)
+ G.fire()
+ G.damage*=force_multiplier
+ var/userjust = (get_modified_attribute_level(user, JUSTICE_ATTRIBUTE))
+ var/justicemod = 1 + userjust/100
+ G.damage*=justicemod
+ firing_cooldown = firing_cooldown_time + world.time
+ user.changeNext_move(CLICK_CD_MELEE * attack_speed)
+
+/obj/projectile/ego_bullet/ochre
+ name = "ochre sheet"
+ icon_state = "ochre"
+ damage = 80
+ damage_type = RED_DAMAGE
+ hitsound = 'sound/weapons/fixer/generic/nail2.ogg'
+
+/obj/item/ego_weapon/lance/miasma
+ name = "miasma skin"
+ desc = "We human beings would have been wiped out a long time ago. \
+ Either the monsters would have gotten us or we would have killed each other off with greed and jealousy and anger."
+ special = "This lance randomly spews out caustic venom when charging."
+ icon_state = "miasma"
+ icon = 'code/modules/mob/living/simple_animal/abnormality/_auxiliary_modes/community/!icons/ego_weapons.dmi'
+ lefthand_file = 'icons/mob/inhands/96x96_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/96x96_righthand.dmi'
+ inhand_x_dimension = 96
+ inhand_y_dimension = 96
+ force = 120
+ reach = 2 //Has 2 Square Reach.
+ stuntime = 6 //Longer reach, gives you a short stun.
+ attack_speed = 1.8// really slow
+ damtype = BLACK_DAMAGE
+ attack_verb_continuous = list("stabs", "impales", "skewers", "shishkababs")
+ attack_verb_simple = list("stab", "impale", "skewer")
+ hitsound = 'sound/weapons/ego/spear1.ogg'
+ charge_speed_cap = 3 //Charges slower, weaker overall while charging, dealing less damage at a full charge. But it has an AOE!
+ force_per_tile = 2
+ pierce_force_cost = 15
+ attribute_requirements = list(
+ FORTITUDE_ATTRIBUTE = 100,
+ PRUDENCE_ATTRIBUTE = 80,
+ TEMPERANCE_ATTRIBUTE = 80,
+ JUSTICE_ATTRIBUTE = 80
+ )
+
+/obj/item/ego_weapon/lance/miasma/UserMoved(mob/user)
+ ..()
+ if(raised)
+ return
+ if(!(charge_speed <= -(charge_speed_cap / 2)))
+ return
+ if(prob(75))
+ new /obj/effect/gibspawner/generic/silent/liquid_miasma(get_turf(src))
+
+/obj/item/ego_weapon/lance/miasma/UserBump(mob/living/carbon/human/user, atom/A)
+ . = ..()
+ if(charge_speed <= -(charge_speed_cap / 2)) //At a decent charge level, it'll do this once.
+ charge_speed += (2 * pierce_speed_cost)
+ if(isliving(A))
+ VenomBlast(user, A)
+
+/obj/item/ego_weapon/lance/miasma/proc/VenomBlast(mob/living/carbon/human/user, mob/target)
+ playsound(target, 'sound/abnormalities/bloodbath/Bloodbath_EyeOn.ogg', 80, TRUE, -3) //yes im reusing a sound bite me
+ var/damage_dealt = force
+ damage_dealt*=force_multiplier
+ var/userjust = (get_modified_attribute_level(user, JUSTICE_ATTRIBUTE))
+ var/justicemod = 1 + userjust/100
+ damage_dealt*=justicemod
+ for(var/turf/T in view(1, target))
+ var/obj/effect/temp_visual/small_smoke/halfsecond/FX = new(T)
+ FX.color = "#96BB00"
+ user.HurtInTurf(T, list(), damage_dealt, BLACK_DAMAGE, check_faction = TRUE)
+ return
+
+/obj/effect/decal/cleanable/liquid_miasma
+ name = "Caustic Venom"
+ desc = "A yucky, nasty, no-good substance. Luckily, this one seems harmless."
+ icon = 'ModularTegustation/Teguicons/tegu_effects.dmi'
+ icon_state = "wrath_acid"
+ random_icon_states = list("wrath_acid")
+ mergeable_decal = FALSE
+ color = "#96BB00"
+ var/duration = 15 SECONDS
+ var/delling = FALSE
+ var/damage_dealt = 30
+
+/obj/effect/decal/cleanable/liquid_miasma/Initialize(mapload, list/datum/disease/diseases)
+ . = ..()
+ START_PROCESSING(SSobj, src)
+ duration += world.time
+
+/obj/effect/decal/cleanable/liquid_miasma/Destroy()
+ if(!delling)
+ STOP_PROCESSING(SSobj, src)
+ return ..()
+
+/obj/effect/decal/cleanable/liquid_miasma/process(delta_time)
+ if(world.time > duration)
+ Remove()
+
+/obj/effect/decal/cleanable/liquid_miasma/proc/Remove()
+ delling = TRUE
+ STOP_PROCESSING(SSobj, src)
+ animate(src, time = (5 SECONDS), alpha = 0)
+ QDEL_IN(src, 5 SECONDS)
+
+/obj/effect/decal/cleanable/liquid_miasma/proc/streak(list/directions, mapload=FALSE)
+ set waitfor = FALSE
+ var/direction = pick(directions)
+ for(var/i in 0 to pick(0, 200; 1, 150; 2, 50; 3, 17; 50)) //the 3% chance of 50 steps is intentional and played for laughs.
+ if (!mapload)
+ sleep(2)
+ if(!step_to(src, get_step(src, direction), 0))
+ break
+ var/turf/T = get_turf(src)
+ for(var/obj/effect/decal/cleanable/wrath_acid/w in T)
+ if(w != src && !QDELETED(w))
+ qdel(w)
+
+/obj/effect/decal/cleanable/liquid_miasma/Crossed(atom/movable/AM)
+ . = ..()
+ if(ishuman(AM))
+ return FALSE
+ if(!isliving(AM))
+ return FALSE
+ var/mob/living/L = AM
+ L.deal_damage(damage_dealt, BLACK_DAMAGE)
+ new /obj/effect/temp_visual/damage_effect/black(get_turf(L))
+
+/obj/effect/gibspawner/generic/silent/liquid_miasma
+ gibtypes = list(/obj/effect/decal/cleanable/liquid_miasma)
+ gibamounts = list(1)
+
+/obj/effect/gibspawner/generic/silent/liquid_miasma/Initialize()
+ if(!gibdirections.len)
+ gibdirections = list(list(WEST, NORTHWEST, SOUTHWEST, NORTH))
+ . = ..()
+ return
+
/obj/item/ego_weapon/shield/waxen
name = "Waxen Pinion"
desc = "A searing blade, setting the world ablaze to eradicate evil. \
diff --git a/code/modules/mob/living/simple_animal/abnormality/aleph/distortedform.dm b/code/modules/mob/living/simple_animal/abnormality/aleph/distortedform.dm
index e9ec8a068996..20dd50dfef0a 100644
--- a/code/modules/mob/living/simple_animal/abnormality/aleph/distortedform.dm
+++ b/code/modules/mob/living/simple_animal/abnormality/aleph/distortedform.dm
@@ -1550,7 +1550,7 @@
return
been_hit += L
if(!(faction_check in L.faction))
- playsound(L.loc, 'sound/abnormalities/doomsdaycalendar/Effect_Burn.ogg', 50 - attack_range, TRUE, -1)
+ playsound(L.loc, 'sound/effects/burn.ogg', 50 - attack_range, TRUE, -1)
var/dealt_damage = max(5, 75 - (attack_range))
L.deal_damage(dealt_damage, RED_DAMAGE)
if(ishuman(L) && dealt_damage > 25)
diff --git a/code/modules/mob/living/simple_animal/abnormality/he/doomsday_calendar.dm b/code/modules/mob/living/simple_animal/abnormality/he/doomsday_calendar.dm
index 0ce7313d512f..acc1dcd9d956 100644
--- a/code/modules/mob/living/simple_animal/abnormality/he/doomsday_calendar.dm
+++ b/code/modules/mob/living/simple_animal/abnormality/he/doomsday_calendar.dm
@@ -92,7 +92,7 @@
if(!IsContained())//if it's breaching
CheckCountdown()
if((pulse_cooldown < world.time) && (is_firey == TRUE))
- playsound(src, 'sound/abnormalities/doomsdaycalendar/Effect_Burn.ogg', 50, TRUE)
+ playsound(src, 'sound/effects/burn.ogg', 50, TRUE)
AoeBurn()
/mob/living/simple_animal/hostile/abnormality/doomsday_calendar/death()
diff --git a/code/modules/mob/living/simple_animal/abnormality/he/fan.dm b/code/modules/mob/living/simple_animal/abnormality/he/fan.dm
index f82dc3922160..d27810fd8821 100644
--- a/code/modules/mob/living/simple_animal/abnormality/he/fan.dm
+++ b/code/modules/mob/living/simple_animal/abnormality/he/fan.dm
@@ -182,7 +182,7 @@
if(stacks <= 10)
return
owner.deal_damage((stacks / 5), RED_DAMAGE)
- owner.playsound_local(owner, 'sound/effects/book_burn.ogg', 25, TRUE)
+ owner.playsound_local(owner, 'sound/effects/burn.ogg', 25, TRUE)
/datum/status_effect/stacking/fanhot/on_remove()
. = ..()
diff --git a/code/modules/mob/living/turn_book.dm b/code/modules/mob/living/turn_book.dm
index 8adc1a3190db..bcf577e9eb7a 100644
--- a/code/modules/mob/living/turn_book.dm
+++ b/code/modules/mob/living/turn_book.dm
@@ -75,7 +75,7 @@
if(loot)
new loot(get_turf(src))
visible_message(span_nicegreen("A [initial(loot.name)] came out of the ashes!"))
- playsound(src, 'sound/effects/book_burn.ogg', 50, TRUE, TRUE)
+ playsound(src, 'sound/effects/burn.ogg', 50, TRUE, TRUE)
SStgui.close_uis(src)
qdel(src)
return
diff --git a/code/modules/projectiles/guns/ego_gun/special.dm b/code/modules/projectiles/guns/ego_gun/special.dm
index b320dbaa869f..3ed04115a381 100644
--- a/code/modules/projectiles/guns/ego_gun/special.dm
+++ b/code/modules/projectiles/guns/ego_gun/special.dm
@@ -47,7 +47,7 @@
ammo_type = /obj/item/ammo_casing/caseless/flammenwerfer
weapon_weight = WEAPON_HEAVY
spread = 50
- fire_sound = 'sound/abnormalities/doomsdaycalendar/Effect_Burn.ogg'
+ fire_sound = 'sound/effects/burn.ogg'
autofire = 0.08 SECONDS
fire_sound_volume = 5
@@ -57,7 +57,7 @@
var/mob/living/carbon/human/H = user
if(do_after(H, 12, src))
to_chat(H,"You cover yourself in flames!")
- H.playsound_local(get_turf(H), 'sound/abnormalities/doomsdaycalendar/Effect_Burn.ogg', 100, 0)
+ H.playsound_local(get_turf(H), 'sound/effects/burn.ogg', 100, 0)
H.apply_damage(10, RED_DAMAGE, null, H.run_armor_check(null, RED_DAMAGE), spread_damage = TRUE)
H.adjust_fire_stacks(1)
H.IgniteMob()
diff --git a/icons/mob/inhands/weapons/ego_lefthand.dmi b/icons/mob/inhands/weapons/ego_lefthand.dmi
index 258b2788fe97bb24f0afd22d82fb4f28386692dc..647f7f24cad555cf1b4f3dbb94d012f69bffb087 100644
GIT binary patch
literal 123154
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