From cc26a063963e817d89a1ad74564d7e5382f4b8b7 Mon Sep 17 00:00:00 2001 From: GraveHat <107460718+GraveHat@users.noreply.github.com> Date: Sun, 21 Aug 2022 10:59:13 +0800 Subject: [PATCH 1/4] No guns No sword *with exceptions --- .../objects/items/implants/implant_honor.dm | 32 +++++++++++++++++++ code/modules/ninja/energy_katana.dm | 17 +++++++++- code/modules/ninja/outfit.dm | 2 +- yogstation.dme | 1 + 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 code/game/objects/items/implants/implant_honor.dm diff --git a/code/game/objects/items/implants/implant_honor.dm b/code/game/objects/items/implants/implant_honor.dm new file mode 100644 index 000000000000..00a736253e9a --- /dev/null +++ b/code/game/objects/items/implants/implant_honor.dm @@ -0,0 +1,32 @@ +/obj/item/implant/honor + name = "honor implant" + desc = "For the honorable." + activated = 0 + +/obj/item/implant/honor/implant(mob/living/target, mob/user, silent = FALSE, force = FALSE) //Copied and adjusted from mindshields + if(..()) + if(!target.mind) + ADD_TRAIT(target, TRAIT_NOGUNS, "implant") + return TRUE + if(!silent) + to_chat(target, span_notice("You feel that the use of guns would bring you shame. You no longer think that you can hold the trigger.")) + ADD_TRAIT(target, TRAIT_NOGUNS, "implant") + return TRUE + +/obj/item/implant/honor/removed(mob/target, silent = FALSE, special = 0) + if(..()) + if(isliving(target)) + var/mob/living/L = target + REMOVE_TRAIT(L, TRAIT_NOGUNS, "implant") + if(target.stat != DEAD && !silent) + to_chat(target, span_boldnotice("Your mind suddenly feels like guns are not dishonorable. You can now bear the thought of using guns.")) + return TRUE + +/obj/item/implanter/honor + name = "implanter (honor)" + imp_type = /obj/item/implant/honor + +/obj/item/implantcase/honor + name = "implant case - 'Honor'" + desc = "A glass case containing a honorable implant for those who seek to not use guns." + imp_type = /obj/item/implant/honor diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index d397f9661760..60424fd64252 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -55,8 +55,23 @@ playsound(user, 'sound/weapons/blade1.ogg', 50, 1) target.emag_act(user) -/obj/item/energy_katana/pickup(mob/living/user) +/obj/item/energy_katana/pickup(mob/living/carbon/human/user) . = ..() + if(!is_ninja(user)) //stolen directly from the bloody bastard sword + if(HAS_TRAIT (user, TRAIT_SHOCKIMMUNE)) + to_chat(user, span_danger("[src] attempts to shock you")) + return + if(user.gloves) + if(!user.gloves.siemens_coefficient) + to_chat(user, span_danger("[src] attempts to shock you")) + return + else + to_chat(user, span_userdanger("[src] shocks you.")) + user.emote("scream") + user.apply_damage(30, BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) + user.dropItemToGround(src, TRUE) + user.Paralyze(50) + return jaunt.Grant(user, src) user.update_icons() playsound(src, 'sound/items/unsheath.ogg', 25, 1) diff --git a/code/modules/ninja/outfit.dm b/code/modules/ninja/outfit.dm index ad63f55b905e..928d7c0b15fe 100644 --- a/code/modules/ninja/outfit.dm +++ b/code/modules/ninja/outfit.dm @@ -13,7 +13,7 @@ r_pocket = /obj/item/tank/internals/emergency_oxygen internals_slot = SLOT_R_STORE belt = /obj/item/energy_katana - implants = list(/obj/item/implant/explosive) + implants = list(/obj/item/implant/explosive, /obj/item/implant/honor) /datum/outfit/ninja/post_equip(mob/living/carbon/human/H) diff --git a/yogstation.dme b/yogstation.dme index 64e9489b28fd..9a85da4ee593 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -1094,6 +1094,7 @@ #include "code\game\objects\items\implants\implant_explosive.dm" #include "code\game\objects\items\implants\implant_freedom.dm" #include "code\game\objects\items\implants\implant_greytide.dm" +#include "code\game\objects\items\implants\implant_honor.dm" #include "code\game\objects\items\implants\implant_krav_maga.dm" #include "code\game\objects\items\implants\implant_mindshield.dm" #include "code\game\objects\items\implants\implant_mindshieldtot.dm" From c0ff3cd3b8dd864a0c83e720524c249b5c714ef1 Mon Sep 17 00:00:00 2001 From: GraveHat <107460718+GraveHat@users.noreply.github.com> Date: Sun, 21 Aug 2022 12:25:45 +0800 Subject: [PATCH 2/4] Katana actually shocks people and Description change Budget insuls die --- code/game/objects/items/implants/implant_honor.dm | 2 +- code/modules/ninja/energy_katana.dm | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/implants/implant_honor.dm b/code/game/objects/items/implants/implant_honor.dm index 00a736253e9a..32aa757218a8 100644 --- a/code/game/objects/items/implants/implant_honor.dm +++ b/code/game/objects/items/implants/implant_honor.dm @@ -19,7 +19,7 @@ var/mob/living/L = target REMOVE_TRAIT(L, TRAIT_NOGUNS, "implant") if(target.stat != DEAD && !silent) - to_chat(target, span_boldnotice("Your mind suddenly feels like guns are not dishonorable. You can now bear the thought of using guns.")) + to_chat(target, span_boldnotice("Your mind no longer sees ranged weaponry as dishonorable. You can now bear the thought of pulling the trigger.")) return TRUE /obj/item/implanter/honor diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index 60424fd64252..c57e972249b9 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -60,15 +60,17 @@ if(!is_ninja(user)) //stolen directly from the bloody bastard sword if(HAS_TRAIT (user, TRAIT_SHOCKIMMUNE)) to_chat(user, span_danger("[src] attempts to shock you")) + user.electrocute_act(15,src) return if(user.gloves) if(!user.gloves.siemens_coefficient) to_chat(user, span_danger("[src] attempts to shock you")) + user.electrocute_act(15,src) return else to_chat(user, span_userdanger("[src] shocks you.")) user.emote("scream") - user.apply_damage(30, BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) + user.electrocute_act(15,src) user.dropItemToGround(src, TRUE) user.Paralyze(50) return From fbaed1d0c297da9420cdb59c991a810913c3f9ef Mon Sep 17 00:00:00 2001 From: GraveHat <107460718+GraveHat@users.noreply.github.com> Date: Mon, 22 Aug 2022 10:01:15 +0800 Subject: [PATCH 3/4] Apply suggestions from code review Desc update and hopefully those 5 seconds work Co-authored-by: tattax <71668564+tattax@users.noreply.github.com> --- code/modules/ninja/energy_katana.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index c57e972249b9..22740be59799 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -59,20 +59,20 @@ . = ..() if(!is_ninja(user)) //stolen directly from the bloody bastard sword if(HAS_TRAIT (user, TRAIT_SHOCKIMMUNE)) - to_chat(user, span_danger("[src] attempts to shock you")) + to_chat(user, span_warning("[src] attempts to shock you.")) user.electrocute_act(15,src) return if(user.gloves) if(!user.gloves.siemens_coefficient) - to_chat(user, span_danger("[src] attempts to shock you")) + to_chat(user, span_warning("[src] attempts to shock you.")) user.electrocute_act(15,src) return else - to_chat(user, span_userdanger("[src] shocks you.")) + to_chat(user, span_userdanger("[src] shocks you!")) user.emote("scream") user.electrocute_act(15,src) user.dropItemToGround(src, TRUE) - user.Paralyze(50) + user.Paralyze(5 seconds) return jaunt.Grant(user, src) user.update_icons() From 6728ae015e98e2b0f7c8de6087ceba9527ea2986 Mon Sep 17 00:00:00 2001 From: GraveHat <107460718+GraveHat@users.noreply.github.com> Date: Mon, 22 Aug 2022 10:23:33 +0800 Subject: [PATCH 4/4] Reverts seconds to 0 It did not in fact work --- code/modules/ninja/energy_katana.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index 22740be59799..e8c10dea3081 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -72,7 +72,7 @@ user.emote("scream") user.electrocute_act(15,src) user.dropItemToGround(src, TRUE) - user.Paralyze(5 seconds) + user.Paralyze(50) return jaunt.Grant(user, src) user.update_icons()