mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 09:54:52 +00:00
Nuclear fist
This commit is contained in:
@@ -141,6 +141,11 @@
|
||||
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
|
||||
cost = 3
|
||||
|
||||
/datum/spellbook_entry/disabletech
|
||||
name = "Disable Tech"
|
||||
spell_type = /obj/effect/proc_holder/spell/targeted/emplosion/disable_tech
|
||||
|
||||
@@ -508,3 +508,36 @@
|
||||
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)
|
||||
|
||||
/obj/item/projectile/magic/nuclear
|
||||
name = "\proper blazing manliness"
|
||||
icon_state = "nuclear"
|
||||
nodamage = TRUE
|
||||
var/mob/living/victim = null
|
||||
|
||||
/obj/item/projectile/magic/nuclear/on_hit(target)
|
||||
new/obj/effect/temp_visual/nuclear(get_turf(src))
|
||||
if(ismob(target))
|
||||
if(target == victim)
|
||||
return
|
||||
visible_message("<span class='danger'>[victim] slams into [target] with explosive force!</span>")
|
||||
explosion(src, 2, 3, 4, 0, 6, 0)
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
victim.take_overall_damage(30,30)
|
||||
explosion(src, -1, -1, -1, 0, 3, 0)
|
||||
qdel(src)
|
||||
return //Autistically making it return and qdel because for some reason it was blowing up three times?
|
||||
|
||||
/obj/item/projectile/magic/nuclear/Destroy()
|
||||
for(var/atom/movable/AM in contents)
|
||||
AM.forceMove(get_turf(src))
|
||||
. = ..()
|
||||
|
||||
/obj/effect/temp_visual/nuclear //where's a good place to put this boi
|
||||
icon = 'icons/effects/96x96.dmi'
|
||||
icon_state = "slugboom"
|
||||
randomdir = FALSE
|
||||
duration = 60
|
||||
pixel_x = -48
|
||||
@@ -182,3 +182,42 @@
|
||||
|
||||
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/mortar_long_whistle.ogg'
|
||||
icon = 'icons/mecha/mecha_equipment.dmi'
|
||||
icon_state = "mecha_honker"
|
||||
|
||||
/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
|
||||
do_sparks(4, FALSE, M.loc)
|
||||
for(var/mob/living/L in view(src, 7))
|
||||
if(L != user)
|
||||
L.flash_act(affect_silicon = FALSE)
|
||||
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 ..()
|
||||
@@ -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."
|
||||
hand_path = /obj/item/melee/touch_attack/nuclearfist
|
||||
|
||||
school = "evocation"
|
||||
charge_max = 600
|
||||
clothes_req = 1
|
||||
cooldown_min = 200 //100 deciseconds reduction per rank
|
||||
|
||||
action_icon_state = "gib"
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 122 KiB |
Reference in New Issue
Block a user