diff --git a/code/datums/martial.dm b/code/datums/martial.dm
index 2aac8e51473..364b9f00c01 100644
--- a/code/datums/martial.dm
+++ b/code/datums/martial.dm
@@ -492,9 +492,6 @@
/obj/item/weapon/sleeping_carp_scroll/attack_self(mob/living/carbon/human/user)
if(!istype(user) || !user)
return
- if(!is_in_gang(user, "Sleeping Carp")) //Only the Sleeping Carp can use the scroll
- user << "You can't comprehend the runes and symbols drawn on [src]."
- return 0
user << "You have learned the ancient martial art of the Sleeping Carp! Your hand-to-hand combat has become much more effective, and you are now able to deflect any projectiles \
directed toward you. However, you are also unable to use any ranged weaponry. You can learn more about your newfound art by using the Recall Teachings verb in the Sleeping Carp tab."
var/datum/martial_art/the_sleeping_carp/theSleepingCarp = new(null)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 94799020482..823335b089c 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -159,7 +159,7 @@
if(!prob(martial_art.deflection_chance))
return ..()
if(!src.lying && dna && !dna.check_mutation(HULK)) //But only if they're not lying down, and hulks can't do it
- src.visible_message("[src] deflects the projectile!", "You deflect the projectile!")
+ src.visible_message("[src] deflects the projectile; they can't be hit with ranged weapons!", "You deflect the projectile!")
return 0
..()
@@ -947,4 +947,4 @@
/mob/living/carbon/human/fully_heal(admin_revive = 0)
restore_blood()
remove_all_embedded_objects()
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index eb21d2b982a..475cad65762 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -114,7 +114,7 @@
newletter+="[newletter][newletter]"
newphrase+="[newletter]";counter-=1
return newphrase
-
+
/proc/stutter(n)
var/te = html_decode(n)
var/t = ""//placed before the message. Not really sure what it's for.
@@ -403,4 +403,4 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
return
if(!user.client.AI_Interact) // Do they have it enabled?
return
- return TRUE
\ No newline at end of file
+ return TRUE
diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm
index 0e6f48cc781..cf6c383742a 100644
--- a/code/modules/uplink/uplink_item.dm
+++ b/code/modules/uplink/uplink_item.dm
@@ -543,6 +543,14 @@ var/list/uplink_items = list() // Global list so we only initialize this once.
/datum/uplink_item/stealthy_weapons
category = "Stealthy and Inconspicuous Weapons"
+/datum/uplink_item/stealthy_weapons/martialarts
+ name = "Martial Arts Scroll"
+ desc = "This scroll contains the secrets of an ancient martial arts technique. You will master unarmed combat, \
+ deflecting all ranged weapon fire, but you also refuse to use dishonorable ranged weaponry."
+ item = /obj/item/weapon/sleeping_carp_scroll
+ cost = 17
+ exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/gang)
+
/datum/uplink_item/stealthy_weapons/throwingstars
name = "Box of Throwing Stars"
desc = "A box of shurikens from ancient Earth martial arts. They are highly effective throwing weapons, \