diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 0990486ae3..b95c884dc2 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -442,3 +442,10 @@ animate(src, alpha = 0, transform = skew, time = duration) else return INITIALIZE_HINT_QDEL + +/obj/effect/temp_visual/slugboom + icon = 'icons/effects/96x96.dmi' + icon_state = "slugboom" + randomdir = FALSE + duration = 60 + pixel_x = -24 \ No newline at end of file diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index e2f8fd1a83..173d9721a9 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -514,30 +514,25 @@ icon_state = "nuclear" nodamage = TRUE var/mob/living/victim = null + var/used = 0 /obj/item/projectile/magic/nuclear/on_hit(target) - new/obj/effect/temp_visual/nuclear(get_turf(src)) + if(used) + return + new/obj/effect/temp_visual/slugboom(get_turf(src)) if(ismob(target)) if(target == victim) return + used = 1 visible_message("[victim] slams into [target] with explosive force!") - explosion(src, 2, 3, 4, 0, 6, 0) - qdel(src) - return + explosion(src, 2, 3, 4, -1, TRUE, FALSE, 5) else + used = 1 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? + 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)) - . = ..() - -/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 \ No newline at end of file + . = ..() \ No newline at end of file diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm index ef55ec0f63..8108b121ae 100644 --- a/code/modules/spells/spell_types/godhand.dm +++ b/code/modules/spells/spell_types/godhand.dm @@ -187,9 +187,9 @@ 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" + 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 @@ -198,10 +198,6 @@ to_chat(user, "You can't get the words out!") 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)) diff --git a/code/modules/spells/spell_types/touch_attacks.dm b/code/modules/spells/spell_types/touch_attacks.dm index 358b9e3ff0..0ca4982ea6 100644 --- a/code/modules/spells/spell_types/touch_attacks.dm +++ b/code/modules/spells/spell_types/touch_attacks.dm @@ -79,7 +79,8 @@ school = "evocation" charge_max = 600 - clothes_req = 1 + clothes_req = 0 cooldown_min = 200 //100 deciseconds reduction per rank - - action_icon_state = "gib" \ No newline at end of file + + action_icon = 'icons/obj/projectiles.dmi' + action_icon_state = "nuclear" \ No newline at end of file diff --git a/sound/weapons/nuclear_fist.ogg b/sound/weapons/nuclear_fist.ogg new file mode 100644 index 0000000000..2b2682dc33 Binary files /dev/null and b/sound/weapons/nuclear_fist.ogg differ