diff --git a/code/game/gamemodes/changeling/changeling_items.dm b/code/game/gamemodes/changeling/changeling_items.dm
index b0601683b41..164a98d6ea0 100644
--- a/code/game/gamemodes/changeling/changeling_items.dm
+++ b/code/game/gamemodes/changeling/changeling_items.dm
@@ -47,6 +47,14 @@
host.drop_from_inventory(src)
QDEL_IN(src, 1)
+/obj/item/weapon/melee/arm_blade/iscrowbar()
+ return TRUE
+
+/obj/item/weapon/melee/arm_blade/resolve_attackby(atom/A, mob/living/user, var/click_parameters)
+ if(istype(A,/turf/simulated/floor) && user.a_intent != I_HELP)
+ return
+ else
+ ..()
/obj/item/weapon/shield/riot/changeling
name = "shield-like mass"
desc = "A mass of tough, boney tissue. You can still see the fingers as a twisted pattern in the shield."
diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm
index f2a796c7a4a..e1d6da9fa1e 100644
--- a/code/game/gamemodes/changeling/changeling_powers.dm
+++ b/code/game/gamemodes/changeling/changeling_powers.dm
@@ -419,6 +419,11 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
to_chat(src, "We cannot perform this ability in this form!")
return
+ if(H.handcuffed)
+ var/cuffs = H.handcuffed
+ H.u_equip(H.handcuffed)
+ qdel(cuffs)
+
changeling.chem_charges--
H.visible_message("[H] transforms!")
changeling.geneticdamage = 30
@@ -972,11 +977,25 @@ var/list/datum/absorbed_dna/hivemind_bank = list()
if(!changeling) return 0
src.mind.changeling.chem_charges -= 20
- var/mob/living/M = src
+ var/mob/living/carbon/M = src
if(M.l_hand && M.r_hand)
to_chat(M, "Your hands are full.")
return
+
+ if(M.handcuffed)
+ var/cuffs = M.handcuffed
+ M.u_equip(M.handcuffed)
+ qdel(cuffs)
+
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(istype(H.wear_suit, /obj/item/clothing/suit/straight_jacket))
+ src.visible_message("[H] tears through the [H.wear_suit] with their grotesque arm blades!",
+ "We tear through the [H.wear_suit] with our arm blades!",
+ "You hear cloth ripping and tearing!")
+ QDEL_IN(H.wear_suit, 0)
+ H.unEquip(H.wear_suit, force = TRUE)
var/obj/item/weapon/melee/arm_blade/blade = new(M)
blade.creator = M
@@ -995,12 +1014,26 @@ var/list/datum/absorbed_dna/hivemind_bank = list()
if(!changeling) return 0
src.mind.changeling.chem_charges -= 20
- var/mob/living/M = src
+ var/mob/living/carbon/M = src
if(M.l_hand && M.r_hand)
to_chat(M, "Your hands are full.")
return
+ if(M.handcuffed)
+ var/cuffs = M.handcuffed
+ M.u_equip(M.handcuffed)
+ qdel(cuffs)
+
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(istype(H.wear_suit, /obj/item/clothing/suit/straight_jacket))
+ src.visible_message("[H] tears through the [H.wear_suit] with their grotesque shield!",
+ "We tear through the [H.wear_suit] with our newly formed shield!",
+ "You hear cloth ripping and tearing!")
+ QDEL_IN(H.wear_suit, 0)
+ H.unEquip(H.wear_suit, force = TRUE)
+
var/obj/item/weapon/shield/riot/changeling/shield = new(M)
shield.creator = M
M.put_in_hands(shield)
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 1e95c265aed..3c648b0ee65 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -973,6 +973,11 @@ About the new airlock wires panel:
var/obj/item/weapon/pai_cable/cable = C
cable.plugin(src, user)
else if(!repairing && C.iscrowbar())
+ if(istype(C, /obj/item/weapon/melee/arm_blade))
+ if(!arePowerSystemsOn()) //if this check isn't done and empty, the armblade will never be used to hit the airlock
+ else if(!(stat & BROKEN))
+ ..()
+ return
if(src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) )
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.")
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index a3ccb5d1364..0d7ee9d1b58 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -111,6 +111,14 @@
to_chat(user, "You drill through the girder!")
dismantle()
+ else if(istype(W, /obj/item/weapon/melee/arm_blade/))
+ to_chat(user, "Now slicing apart the girder...")
+ if(do_after(user,150))
+ if(!src)
+ return
+ to_chat(user, "You slice apart the girder!")
+ dismantle()
+
else if(W.isscrewdriver())
if(state == 2)
playsound(src.loc, W.usesound, 100, 1)
@@ -329,4 +337,4 @@
else if(mover.checkpass(PASSTABLE))
//Animals can run under them, lots of empty space
return 1
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm
index a6b965eee76..c91f17133b9 100644
--- a/code/game/turfs/simulated/wall_attacks.dm
+++ b/code/game/turfs/simulated/wall_attacks.dm
@@ -218,6 +218,10 @@
dismantle_verb = P.drill_verb
dismantle_sound = P.drill_sound
cut_delay -= P.digspeed
+ else if(istype(W,/obj/item/weapon/melee/arm_blade/))
+ dismantle_sound = "pickaxe"
+ dismantle_verb = "slicing and stabbing"
+ cut_delay *= 1.5
if(dismantle_verb)
diff --git a/html/changelogs/geeves-REWORKNOTREMOVE.yml b/html/changelogs/geeves-REWORKNOTREMOVE.yml
new file mode 100644
index 00000000000..3520ef97b3e
--- /dev/null
+++ b/html/changelogs/geeves-REWORKNOTREMOVE.yml
@@ -0,0 +1,44 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: Geeves
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Forming armblades and flesh riot shields as ling now break cuffs and straitjackets."
+ - rscadd: "Changing into a lesser form now uncuffs you."
+ - rscadd: "You can use an armblade is a crowbar, to do crowbar based activities."
+ - rscadd: "The armblade can be used to slice and dice through non-reinforced walls and girders."