New wizard spell - Corpse Explosion (#24722)

* testing code

* tweaks

* more adjustments

* more code adjustments

* sponge bob abs

* there be light

* there be light 2 elighic boogaloo

* booky

* 0 to -1

* false

* action icon

* effect

* lets seeeee

* pixel adjustment

* dfsdg

* asrfsdg

* icon is back

* forgot to delete this

* test

* some sad stuff

* i am sad

* updated damage

* fixed?

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* look at how cool this is

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* back to 100

* minrange

* max is better than min

* refactor by dgl

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/datums/spells/wizard_spells.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* Update code/game/objects/effects/temporary_visuals/misc_visuals.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* fuck you

---------

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
McRamon
2024-04-12 21:28:21 +03:00
committed by GitHub
parent 40c408d6e6
commit 68e56bd71a
6 changed files with 59 additions and 0 deletions
+45
View File
@@ -469,3 +469,48 @@
if(isliving(user))
var/mob/living/U = user
U.IgniteMob()
/datum/spell/corpse_explosion
name = "Corpse Explosion"
desc = "Fills a corpse with energy, causing it to explode violently."
school = "evocation"
base_cooldown = 5 SECONDS
clothes_req = TRUE
invocation = "JAH ITH BER"
invocation_type = "whisper"
selection_activated_message = "<span class='notice'>You prepare to detonate a corpse. Click on a target to cast the spell.</span>"
selection_deactivated_message = "<span class='notice'>You cancel the spell.</span>"
action_icon_state = "corpse_explosion"
/datum/spell/corpse_explosion/create_new_targeting()
var/datum/spell_targeting/click/T = new
T.click_radius = 0
T.try_auto_target = FALSE
T.allowed_type = /mob/living
return T
/datum/spell/corpse_explosion/cast(list/targets, mob/user)
var/mob/living/target = targets[1]
if(!target || target.stat != DEAD)
return
var/turf/corpse_turf = get_turf(target)
new /obj/effect/temp_visual/corpse_explosion(get_turf(target))
target.gib()
explosion(corpse_turf, 0, 0, 0, 0, silent = TRUE, breach = FALSE)
for(var/mob/living/M in range(4, corpse_turf))
if(M == user)
continue
var/range = get_dist_euclidian(M, corpse_turf)
range = max(1, range)
M.apply_damage(100 / range, BRUTE)
if(issilicon(M))
to_chat(M, "<span class='userdanger'>Your sensors are disabled, and your carapace is ripped apart by the violent dark magic!</span>")
M.Weaken(6 SECONDS / range)
continue
to_chat(M, "<span class='userdanger'>You are eviscerated by the violent dark magic!</span>")
if(ishuman(M))
if(range < 4)
M.KnockDown(4 SECONDS / range)
M.EyeBlurry(40 SECONDS / range)
M.AdjustConfused(6 SECONDS / range)