mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-30 12:13:02 +00:00
* Fixes reviver runtime * Confusion status effect * Dizzy status effect * Drowsiness status effect * decaying -> transient * Drunkenness status effect * why use timer when SSfastprocessing work good * stuns (mostly) * weaken and immobalise * stun/weaken times * update_flags redundancies. * Slowed() * Silence + fixes transient decay * Jittery * sleeping * Paralyze -> weaken * Cult sluring * paralyse * Stammer * slurring + projectile cleanups * losebreath * Hallucination * forgor this * eyeblurry * eye blind * Druggy * affected didn't like my spacing * review pass * second review pass * some cleanups * documentation and signal framework * confusion fix * Fixes spec_stun * rejuv fix * removes a TODO * conflicted myself * fixes * self review * review * removes TODOs * adminfreeze * TM fixes * hallucination fix + others * tones down alchol and runtime fixes * confusion overlay suggestion * more fixes * runtime fix * losebreath fix * clamp => directional bounded sum * steel review * oops Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> * reduces the dizziness cycle rate * borg hotfix * sanctified decursening Co-authored-by: mochi <1496804+dearmochi@users.noreply.github.com> Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
49 lines
2.1 KiB
Plaintext
49 lines
2.1 KiB
Plaintext
/obj/effect/proc_holder/spell/charge_up/bounce/lightning
|
|
name = "Lightning Bolt"
|
|
desc = "Throws a lightning bolt at your enemies. Classic. When clicked will start to charge in power. Then click on a mob to send the bolt before it overloads with power."
|
|
charge_type = "recharge"
|
|
charge_max = 30 SECONDS
|
|
clothes_req = TRUE
|
|
invocation = "UN'LTD P'WAH!"
|
|
invocation_type = "shout"
|
|
cooldown_min = 3 SECONDS
|
|
action_icon_state = "lightning"
|
|
charge_sound = new /sound('sound/magic/lightning_chargeup.ogg', channel = 7)
|
|
max_charge_time = 10 SECONDS
|
|
stop_charging_text = "You stop charging the lightning around you."
|
|
stop_charging_fail_text = "The lightning around you is too strong to stop now!"
|
|
start_charging_text = "You start gathering lightning around you."
|
|
bounce_hit_sound = 'sound/magic/lightningshock.ogg'
|
|
var/damaging = TRUE
|
|
|
|
/obj/effect/proc_holder/spell/charge_up/bounce/lightning/New()
|
|
..()
|
|
charge_up_overlay = image(icon = 'icons/effects/effects.dmi', icon_state = "electricity", layer = EFFECTS_LAYER)
|
|
|
|
/obj/effect/proc_holder/spell/charge_up/bounce/lightning/lightnian
|
|
clothes_req = FALSE
|
|
invocation_type = "none"
|
|
damaging = FALSE
|
|
|
|
/obj/effect/proc_holder/spell/charge_up/bounce/lightning/get_bounce_energy()
|
|
if(damaging)
|
|
return max(15, get_energy_charge() / 2)
|
|
return 0
|
|
|
|
/obj/effect/proc_holder/spell/charge_up/bounce/lightning/get_bounce_amount()
|
|
if(damaging)
|
|
return 5
|
|
return round(get_energy_charge() / 20)
|
|
|
|
/obj/effect/proc_holder/spell/charge_up/bounce/lightning/create_beam(mob/origin, mob/target)
|
|
origin.Beam(target, icon_state = "lightning[rand(1, 12)]", icon = 'icons/effects/effects.dmi', time = 5)
|
|
|
|
/obj/effect/proc_holder/spell/charge_up/bounce/lightning/apply_bounce_effect(mob/origin, mob/living/target, energy, mob/user)
|
|
if(damaging)
|
|
target.electrocute_act(energy, "Lightning Bolt", flags = SHOCK_NOGLOVES)
|
|
else
|
|
target.AdjustJitter(2000 SECONDS) //High numbers for violent convulsions
|
|
target.AdjustStuttering(4 SECONDS)
|
|
target.Slowed(6 SECONDS)
|
|
addtimer(CALLBACK(target, /mob/living.proc/AdjustJitter, -2000 SECONDS, 10), 2 SECONDS) //Still jittery, but vastly less
|