Merge pull request #10177 from BlackMajor/FIST
NUCLEAR FIST. A new wizard spell involving punching people so hard they explode.
This commit is contained in:
@@ -141,6 +141,10 @@
|
||||
name = "Disintegrate"
|
||||
spell_type = /obj/effect/proc_holder/spell/targeted/touch/disintegrate
|
||||
|
||||
/datum/spellbook_entry/nuclearfist
|
||||
name = "Nuclear Fist"
|
||||
spell_type = /obj/effect/proc_holder/spell/targeted/touch/nuclear_fist
|
||||
|
||||
/datum/spellbook_entry/disabletech
|
||||
name = "Disable Tech"
|
||||
spell_type = /obj/effect/proc_holder/spell/targeted/emplosion/disable_tech
|
||||
|
||||
@@ -507,4 +507,32 @@
|
||||
return
|
||||
var/turf/T = get_turf(target)
|
||||
for(var/i=0, i<50, i+=10)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i)
|
||||
|
||||
/obj/item/projectile/magic/nuclear
|
||||
name = "\proper blazing manliness"
|
||||
icon_state = "nuclear"
|
||||
nodamage = TRUE
|
||||
var/mob/living/victim = null
|
||||
var/used = 0
|
||||
|
||||
/obj/item/projectile/magic/nuclear/on_hit(target)
|
||||
if(used)
|
||||
return
|
||||
new/obj/effect/temp_visual/slugboom(get_turf(src))
|
||||
if(ismob(target))
|
||||
if(target == victim)
|
||||
return
|
||||
used = 1
|
||||
visible_message("<span class='danger'>[victim] slams into [target] with explosive force!</span>")
|
||||
explosion(src, 2, 3, 4, -1, TRUE, FALSE, 5)
|
||||
else
|
||||
used = 1
|
||||
victim.take_overall_damage(30,30)
|
||||
victim.Knockdown(60)
|
||||
explosion(src, -1, -1, -1, -1, FALSE, FALSE, 5)
|
||||
|
||||
/obj/item/projectile/magic/nuclear/Destroy()
|
||||
for(var/atom/movable/AM in contents)
|
||||
AM.forceMove(get_turf(src))
|
||||
. = ..()
|
||||
@@ -182,3 +182,38 @@
|
||||
|
||||
if(charges <= 0)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/melee/touch_attack/nuclearfist
|
||||
name = "\improper PURE MANLINESS"
|
||||
desc = "SHOW THEM RAW POWER"
|
||||
catchphrase = "I CAST FIST!"
|
||||
on_use_sound = 'sound/weapons/nuclear_fist.ogg'
|
||||
icon_state = "disintegrate"
|
||||
item_state = "disintegrate"
|
||||
|
||||
/obj/item/melee/touch_attack/nuclearfist/afterattack(atom/movable/target, mob/living/carbon/user, proximity)
|
||||
if(!proximity || target == user || !ismob(target) || !iscarbon(user) || user.lying || user.handcuffed) //exploding after touching yourself would be bad
|
||||
return
|
||||
if(!user.can_speak_vocal())
|
||||
to_chat(user, "<span class='notice'>You can't get the words out!</span>")
|
||||
return
|
||||
var/mob/M = target
|
||||
var/atom/A = M.anti_magic_check()
|
||||
if(A)
|
||||
if(isitem(A))
|
||||
target.visible_message("<span class='warning'>[target]'s [A] glows brightly as it wards off the spell!</span>")
|
||||
user.visible_message("<span class='warning'>The feedback blows [user]'s arm off!</span>","<span class='userdanger'>The spell bounces from [M]'s skin back into your arm!</span>")
|
||||
user.flash_act()
|
||||
var/obj/item/bodypart/part = user.get_holding_bodypart_of_item(src)
|
||||
if(part)
|
||||
part.dismember()
|
||||
return ..()
|
||||
var/angle = dir2angle(get_dir(src, get_step_away(target, src)))
|
||||
var/obj/item/projectile/magic/nuclear/P = new(get_turf(src))
|
||||
P.victim = target
|
||||
target.forceMove(P)
|
||||
P.setAngle(angle)
|
||||
P.original = user
|
||||
P.firer = user
|
||||
P.fire()
|
||||
return ..()
|
||||
@@ -23,7 +23,7 @@
|
||||
remove_hand(TRUE)
|
||||
to_chat(user, "<span class='notice'>You draw the power out of your hand.</span>")
|
||||
return
|
||||
|
||||
|
||||
for(var/mob/living/carbon/C in targets)
|
||||
if(!attached_hand)
|
||||
if(ChargeHand(C))
|
||||
@@ -71,3 +71,15 @@
|
||||
|
||||
action_icon_state = "statue"
|
||||
sound = 'sound/magic/fleshtostone.ogg'
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/touch/nuclear_fist
|
||||
name = "Nuclear Fist"
|
||||
desc = "This spell channels raw manliness, allowing you punch your enemies across the galaxy, causing them to detonate violently if hitting any other living being midflight. Does not work while laying down."
|
||||
hand_path = /obj/item/melee/touch_attack/nuclearfist
|
||||
|
||||
school = "evocation"
|
||||
charge_max = 200
|
||||
clothes_req = 0
|
||||
cooldown_min = 40
|
||||
|
||||
action_icon_state = "nuclearfist"
|
||||
Reference in New Issue
Block a user