From 4a736678105c4330e3c59b167db2bdac9aa937fb Mon Sep 17 00:00:00 2001 From: Chubbygummibear Date: Fri, 11 Feb 2022 15:31:28 -0800 Subject: [PATCH 01/10] gooby hammer --- code/game/objects/items/singularityhammer.dm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 84ea0c48da88..31a38d8db011 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -85,6 +85,9 @@ throwforce = 30 throw_range = 7 w_class = WEIGHT_CLASS_HUGE + var/tesla_power = 20000 + var/tesla_range = 20 + var/tesla_flags = TESLA_MOB_DAMAGE | TESLA_MOB_STUN | TESLA_OBJ_DAMAGE /obj/item/twohanded/mjollnir/proc/shock(mob/living/target) target.Stun(60) @@ -107,7 +110,20 @@ /obj/item/twohanded/mjollnir/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) . = ..() if(isliving(hit_atom)) - shock(hit_atom) + var/mob/M = hit_atom + var/atom/A = M.anti_magic_check() + if(A) + if(isitem(A)) + M.visible_message(span_warning("[M]'s [A] glows brightly as it reflects the power back into the hammer!")) + visible_message(span_boldwarning("The power swelling inside Mjolnir becomes too much and its form fractures!
")) + explosion(src, 0, 1, 5, 5, TRUE, FALSE, 2) + playsound(src, 'sound/magic/lightningbolt.ogg', 100, 1, extrarange = 30) + tesla_zap(src, tesla_range, tesla_power, tesla_flags) + tesla_zap(src, tesla_range, tesla_power, tesla_flags) + tesla_zap(src, tesla_range, tesla_power, tesla_flags) + qdel(src) + else + shock(hit_atom) /obj/item/twohanded/mjollnir/update_icon() //Currently only here to fuck with the on-mob icons. icon_state = "mjollnir[wielded]" From fcb73ae5cf62b9cb63daf58668cbf1cabbcc026e Mon Sep 17 00:00:00 2001 From: Chubbygummibear Date: Fri, 11 Feb 2022 16:04:59 -0800 Subject: [PATCH 02/10] zip zap zoop --- code/game/objects/items/singularityhammer.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 31a38d8db011..3c4ef24b9e31 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -85,9 +85,9 @@ throwforce = 30 throw_range = 7 w_class = WEIGHT_CLASS_HUGE - var/tesla_power = 20000 - var/tesla_range = 20 - var/tesla_flags = TESLA_MOB_DAMAGE | TESLA_MOB_STUN | TESLA_OBJ_DAMAGE + var/zap_power = 20000 + var/zap_range = 20 + var/zap_flags = TESLA_MOB_DAMAGE | TESLA_MOB_STUN | TESLA_OBJ_DAMAGE /obj/item/twohanded/mjollnir/proc/shock(mob/living/target) target.Stun(60) @@ -118,9 +118,9 @@ visible_message(span_boldwarning("The power swelling inside Mjolnir becomes too much and its form fractures!
")) explosion(src, 0, 1, 5, 5, TRUE, FALSE, 2) playsound(src, 'sound/magic/lightningbolt.ogg', 100, 1, extrarange = 30) - tesla_zap(src, tesla_range, tesla_power, tesla_flags) - tesla_zap(src, tesla_range, tesla_power, tesla_flags) - tesla_zap(src, tesla_range, tesla_power, tesla_flags) + tesla_zap(src, zap_range, zap_power, zap_flags) + tesla_zap(src, zap_range, zap_power, zap_flags) + tesla_zap(src, zap_range, zap_power, zap_flags) qdel(src) else shock(hit_atom) From 94021a845d2995d461337e0478ba7c288f68938a Mon Sep 17 00:00:00 2001 From: Chubbygummibear Date: Sat, 12 Feb 2022 21:19:50 -0800 Subject: [PATCH 03/10] no more hammersplosion, hello hammer in the stone --- code/game/objects/items/singularityhammer.dm | 11 ++++------ code/game/objects/structures/mjollnir.dm | 20 +++++++++++++++++++ icons/obj/wizard.dmi | Bin 26578 -> 26868 bytes yogstation.dme | 1 + 4 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 code/game/objects/structures/mjollnir.dm diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 3c4ef24b9e31..f2bf339443f3 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -114,13 +114,10 @@ var/atom/A = M.anti_magic_check() if(A) if(isitem(A)) - M.visible_message(span_warning("[M]'s [A] glows brightly as it reflects the power back into the hammer!")) - visible_message(span_boldwarning("The power swelling inside Mjolnir becomes too much and its form fractures!
")) - explosion(src, 0, 1, 5, 5, TRUE, FALSE, 2) - playsound(src, 'sound/magic/lightningbolt.ogg', 100, 1, extrarange = 30) - tesla_zap(src, zap_range, zap_power, zap_flags) - tesla_zap(src, zap_range, zap_power, zap_flags) - tesla_zap(src, zap_range, zap_power, zap_flags) + M.visible_message(span_warning("[M]'s [A] glows brightly as it disrupts the Mjolnir's power!")) + visible_message(span_boldwarning("With a mighty thud, Mjolnier slams into the [src.loc], and its glow fades!
")) + playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1, extrarange = 30) + new /obj/structure/mjollnir(src.loc) qdel(src) else shock(hit_atom) diff --git a/code/game/objects/structures/mjollnir.dm b/code/game/objects/structures/mjollnir.dm new file mode 100644 index 000000000000..1182e0527506 --- /dev/null +++ b/code/game/objects/structures/mjollnir.dm @@ -0,0 +1,20 @@ +/obj/structure/mjollnir + name = "Mjolnir" + desc = "This once powerful hammer feels cold to the touch, but a thrum of magic inside tells you its only a matter of time until it awakens again." + icon = 'icons/obj/wizard.dmi' + icon_state = "mjollnir-inert" + resistance_flags = INDESTRUCTIBLE + anchored = TRUE + density = FALSE + +/obj/structure/mjollnir/attack_hand(mob/living/user) + . = ..() + to_chat(user, span_notice("You place your hands firmly around the handle of the hammer and begin to pull with all your might!")) + if(do_after(user, 5 SECONDS, target = src)) + to_chat(user, span_userdanger("You successfully free Mjolnir from the ground and can feel its power returning once more!")) + var/obj/item/twohanded/mjollnir/M = new /obj/item/twohanded/mjollnir + playsound(user, 'sound/magic/lightningbolt.ogg', 50, 1) + user.put_in_hands(M) + qdel(src) + else + to_chat(user, span_danger("You let go of the handle and the hammer sinks back into its resting position.")) diff --git a/icons/obj/wizard.dmi b/icons/obj/wizard.dmi index 1a59c8b1d2b5226577cf8b2d76327927fed2ed83..638116c76d422a26259c96e0514c96c0884402d9 100644 GIT binary patch delta 5901 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 Tr0fq(0Q#92Sr}I8yZrM%1NHrS delta 5609 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 diff --git a/yogstation.dme b/yogstation.dme index 7a8595e5b009..68fff530330b 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -1169,6 +1169,7 @@ #include "code\game\objects\structures\memorial.dm" #include "code\game\objects\structures\mineral_doors.dm" #include "code\game\objects\structures\mirror.dm" +#include "code\game\objects\structures\mjollnir.dm" #include "code\game\objects\structures\mop_bucket.dm" #include "code\game\objects\structures\morgue.dm" #include "code\game\objects\structures\noticeboard.dm" From bd1ad01506f3a69c0bc562f234bdce020fbb4243 Mon Sep 17 00:00:00 2001 From: Chubbygummibear Date: Sat, 12 Feb 2022 21:25:57 -0800 Subject: [PATCH 04/10] forgot to nerf wizard pullout time :^) --- code/game/objects/structures/mjollnir.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/mjollnir.dm b/code/game/objects/structures/mjollnir.dm index 1182e0527506..76ddb0b70f51 100644 --- a/code/game/objects/structures/mjollnir.dm +++ b/code/game/objects/structures/mjollnir.dm @@ -10,7 +10,7 @@ /obj/structure/mjollnir/attack_hand(mob/living/user) . = ..() to_chat(user, span_notice("You place your hands firmly around the handle of the hammer and begin to pull with all your might!")) - if(do_after(user, 5 SECONDS, target = src)) + if(do_after(user, 30 SECONDS, target = src)) to_chat(user, span_userdanger("You successfully free Mjolnir from the ground and can feel its power returning once more!")) var/obj/item/twohanded/mjollnir/M = new /obj/item/twohanded/mjollnir playsound(user, 'sound/magic/lightningbolt.ogg', 50, 1) From 2958d926fa216c21a0079595f1d2a915914d106e Mon Sep 17 00:00:00 2001 From: Chubbygummibear Date: Sun, 13 Feb 2022 15:24:39 -0800 Subject: [PATCH 05/10] 20 second yoinky sploinky but takes twice as long for nonwizards --- code/game/objects/structures/mjollnir.dm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/code/game/objects/structures/mjollnir.dm b/code/game/objects/structures/mjollnir.dm index 76ddb0b70f51..741a39bb726d 100644 --- a/code/game/objects/structures/mjollnir.dm +++ b/code/game/objects/structures/mjollnir.dm @@ -6,15 +6,19 @@ resistance_flags = INDESTRUCTIBLE anchored = TRUE density = FALSE + var/pull_time = 200 /obj/structure/mjollnir/attack_hand(mob/living/user) . = ..() - to_chat(user, span_notice("You place your hands firmly around the handle of the hammer and begin to pull with all your might!")) - if(do_after(user, 30 SECONDS, target = src)) - to_chat(user, span_userdanger("You successfully free Mjolnir from the ground and can feel its power returning once more!")) + if(user.mind.assigned_role == ROLE_WIZARD || user.mind.special_role == ROLE_WIZARD) //check and see if the person tugging on the hammer is a wizard + to_chat(user, span_notice("You place your hands firmly around the handle of the hammer and begin to pull with all your might!")) + else + to_chat(user, span_notice("You place your hands firmly around the handle of the hammer but feel it resist the pull of a nonmagical host! This will take a while.")) + if(do_after(user, pull_time * (user.mind.assigned_role == ROLE_WIZARD || user.mind.special_role == ROLE_WIZARD ? 1 : 2), target = src)) //if it is a wizard, it takes normal time + to_chat(user, span_userdanger("You successfully free Mjolnir from the ground and can feel its power returning once more!")) //if it's crew, it takes twice as long var/obj/item/twohanded/mjollnir/M = new /obj/item/twohanded/mjollnir - playsound(user, 'sound/magic/lightningbolt.ogg', 50, 1) - user.put_in_hands(M) - qdel(src) + playsound(user, 'sound/magic/lightningbolt.ogg', 50, 1) //keep this at 50 for half volume it's so fucking loud + user.put_in_hands(M) //firmly grasp it + qdel(src) //byebye else - to_chat(user, span_danger("You let go of the handle and the hammer sinks back into its resting position.")) + to_chat(user, span_danger("You let go of the handle and the hammer sinks back into its resting position.")) //either you got bumped by an assistant, or you're the wizard and got shot trying to reclaim your hammer From 8f00d38bf2ef0054caa9a74cd97e20b6eb3d9c32 Mon Sep 17 00:00:00 2001 From: Chubbygummibear Date: Sun, 13 Feb 2022 15:35:49 -0800 Subject: [PATCH 06/10] fine 15 seconds --- code/game/objects/structures/mjollnir.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/mjollnir.dm b/code/game/objects/structures/mjollnir.dm index 741a39bb726d..0adeba9313cb 100644 --- a/code/game/objects/structures/mjollnir.dm +++ b/code/game/objects/structures/mjollnir.dm @@ -6,7 +6,7 @@ resistance_flags = INDESTRUCTIBLE anchored = TRUE density = FALSE - var/pull_time = 200 + var/pull_time = 150 /obj/structure/mjollnir/attack_hand(mob/living/user) . = ..() From 002608ca2066df1ac0a778e1210b796c3220124d Mon Sep 17 00:00:00 2001 From: Chubbygummibear <46236974+Chubbygummibear@users.noreply.github.com> Date: Sun, 13 Feb 2022 16:54:57 -0800 Subject: [PATCH 07/10] Seccs Co-authored-by: Byemoh --- code/game/objects/structures/mjollnir.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/mjollnir.dm b/code/game/objects/structures/mjollnir.dm index 0adeba9313cb..9b7a0f3cfabb 100644 --- a/code/game/objects/structures/mjollnir.dm +++ b/code/game/objects/structures/mjollnir.dm @@ -6,7 +6,7 @@ resistance_flags = INDESTRUCTIBLE anchored = TRUE density = FALSE - var/pull_time = 150 + var/pull_time = 15 SECONDS /obj/structure/mjollnir/attack_hand(mob/living/user) . = ..() From 435d568f3c1b7bee42718faa99df26ffa3d37438 Mon Sep 17 00:00:00 2001 From: Chubbygummibear Date: Sun, 13 Feb 2022 17:45:43 -0800 Subject: [PATCH 08/10] woops the description was still based on this being a timer mechnic, not the yoinky sploinky --- code/game/objects/structures/mjollnir.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/mjollnir.dm b/code/game/objects/structures/mjollnir.dm index 9b7a0f3cfabb..cd19d05de077 100644 --- a/code/game/objects/structures/mjollnir.dm +++ b/code/game/objects/structures/mjollnir.dm @@ -1,6 +1,6 @@ /obj/structure/mjollnir name = "Mjolnir" - desc = "This once powerful hammer feels cold to the touch, but a thrum of magic inside tells you its only a matter of time until it awakens again." + desc = "This once powerful hammer feels cold to the touch, but a thrum of magic inside tells you its only a matter of time until someone awakens it again." icon = 'icons/obj/wizard.dmi' icon_state = "mjollnir-inert" resistance_flags = INDESTRUCTIBLE From 6dd4907f51a5938b745dc668d1f36b9fad9f0067 Mon Sep 17 00:00:00 2001 From: Chubbygummibear Date: Mon, 14 Feb 2022 22:55:37 -0800 Subject: [PATCH 09/10] goodbye hammersplosion, the world weren't ready for you :pensive: --- code/game/objects/items/singularityhammer.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index f2bf339443f3..bc4d57e177f4 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -85,9 +85,6 @@ throwforce = 30 throw_range = 7 w_class = WEIGHT_CLASS_HUGE - var/zap_power = 20000 - var/zap_range = 20 - var/zap_flags = TESLA_MOB_DAMAGE | TESLA_MOB_STUN | TESLA_OBJ_DAMAGE /obj/item/twohanded/mjollnir/proc/shock(mob/living/target) target.Stun(60) From b2d904d8322d6761d532c77eeae32a490ddac057 Mon Sep 17 00:00:00 2001 From: Chubbygummibear Date: Sat, 19 Feb 2022 14:27:05 -0800 Subject: [PATCH 10/10] mjolnir statue sprite updated to the new sprite --- icons/obj/wizard.dmi | Bin 26893 -> 27322 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/wizard.dmi b/icons/obj/wizard.dmi index 12bb4ab50aea1e79be1f1a284b0ff1eb51944bcd..5fb6f7393f1beeadccfe3cef29e1d6167c84a058 100644 GIT binary patch delta 6356 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 delta 5924 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