diff --git a/code/datums/supplypacks/recreation_vr.dm b/code/datums/supplypacks/recreation_vr.dm
index bba16b04d8..e95094428e 100644
--- a/code/datums/supplypacks/recreation_vr.dm
+++ b/code/datums/supplypacks/recreation_vr.dm
@@ -26,3 +26,16 @@
containertype = /obj/structure/closet/crate
containername = "Restraints crate"
cost = 30
+
+/datum/supply_packs/recreation/wolfgirl_cosplay_crate
+ name = "Wolfgirl Cosplay Crate"
+ contains = list(
+ /obj/item/clothing/head/fluff/awoo = 1,
+ /obj/item/clothing/shoes/fluff/awoo = 1,
+ /obj/item/clothing/under/fluff/awoo = 1,
+ /obj/item/weapon/melee/fluffstuff/awoosword = 1,
+ /obj/item/weapon/shield/fluff/awooshield = 1
+ )
+ cost = 50
+ containertype = /obj/structure/closet/crate
+ containername = "wolfgirl cosplay crate"
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/shields_vr.dm b/code/game/objects/items/weapons/shields_vr.dm
index 28e35ce151..28d06044cf 100644
--- a/code/game/objects/items/weapons/shields_vr.dm
+++ b/code/game/objects/items/weapons/shields_vr.dm
@@ -3,4 +3,19 @@
desc = "It's really easy to mispronounce the name of this shield if you've only read it in books."
icon = 'icons/obj/weapons_vr.dmi'
icon_state = "eshield0" // eshield1 for expanded
- item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_melee_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_melee_vr.dmi')
\ No newline at end of file
+ item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_melee_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_melee_vr.dmi')
+
+/obj/item/weapon/shield/fluff/awooshield
+ name = "Autumn Shield"
+ desc = "A shiny silvery shield with a large red leaf symbol in the center."
+ icon = 'icons/obj/weapons_vr.dmi'
+ icon_state = "awooshield"
+ slot_flags = SLOT_BACK | SLOT_OCLOTHING
+ force = 5.0
+ throwforce = 5.0
+ throw_speed = 2
+ throw_range = 6
+ item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_melee_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_melee_vr.dmi', slot_back_str = 'icons/vore/custom_items_vr.dmi', slot_wear_suit_str = 'icons/vore/custom_items_vr.dmi')
+ attack_verb = list("shoved", "bashed")
+ var/cooldown = 0 //shield bash cooldown. based on world.time
+ allowed = list(/obj/item/weapon/melee/fluffstuff/awoosword)
\ No newline at end of file
diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm
index ad6f616f31..0792ca19fa 100644
--- a/code/modules/vore/fluffstuff/custom_items_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_items_vr.dm
@@ -1911,4 +1911,110 @@
/obj/item/weapon/storage/backpack/fluff/stunstaff/New()
..()
- new /obj/item/weapon/melee/baton/fluff/stunstaff(src)
\ No newline at end of file
+ new /obj/item/weapon/melee/baton/fluff/stunstaff(src)
+
+
+/*
+ * Awoo Sword
+ */
+/obj/item/weapon/melee/fluffstuff
+ var/active = 0
+ var/active_force
+ var/active_throwforce
+ var/active_w_class
+ var/active_embed_chance = 0
+ sharp = 0
+ edge = 0
+
+/obj/item/weapon/melee/fluffstuff/proc/activate(mob/living/user)
+ if(active)
+ return
+ active = 1
+ embed_chance = active_embed_chance
+ force = active_force
+ throwforce = active_throwforce
+ sharp = 1
+ edge = 1
+ w_class = active_w_class
+ playsound(user, 'sound/weapons/sparkle.ogg', 50, 1)
+
+/obj/item/weapon/melee/fluffstuff/proc/deactivate(mob/living/user)
+ if(!active)
+ return
+ playsound(user, 'sound/weapons/sparkle.ogg', 50, 1)
+ active = 0
+ embed_chance = initial(embed_chance)
+ force = initial(force)
+ throwforce = initial(throwforce)
+ sharp = initial(sharp)
+ edge = initial(edge)
+ w_class = initial(w_class)
+
+/obj/item/weapon/melee/fluffstuff/attack_self(mob/living/user as mob)
+ if (active)
+ if ((CLUMSY in user.mutations) && prob(50))
+ user.visible_message("\The [user] accidentally cuts \himself with \the [src].",\
+ "You accidentally cut yourself with \the [src].")
+ user.take_organ_damage(5,5)
+ deactivate(user)
+ else
+ activate(user)
+
+ if(istype(user,/mob/living/carbon/human))
+ var/mob/living/carbon/human/H = user
+ H.update_inv_l_hand()
+ H.update_inv_r_hand()
+
+ add_fingerprint(user)
+ return
+
+/obj/item/weapon/melee/fluffstuff/suicide_act(mob/user)
+ var/tempgender = "[user.gender == MALE ? "he's" : user.gender == FEMALE ? "she's" : "they are"]"
+ if(active)
+ user.visible_message(pick("\The [user] is slitting \his stomach open with \the [src]! It looks like [tempgender] trying to commit seppuku.",\
+ "\The [user] is falling on \the [src]! It looks like [tempgender] trying to commit suicide."))
+ return (BRUTELOSS|FIRELOSS)
+
+/obj/item/weapon/melee/fluffstuff/awoosword
+ name = "Wolfgirl Sword Replica"
+ desc = "A replica of a large, scimitar-like sword with a dull edge. Ceremonial... until it isn't."
+ icon = 'icons/obj/weapons_vr.dmi'
+ icon_state = "awoosword"
+ slot_flags = SLOT_BACK | SLOT_OCLOTHING
+ active_force = 15
+ active_throwforce = 7
+ active_w_class = ITEMSIZE_LARGE
+ force = 1
+ throwforce = 1
+ throw_speed = 1
+ throw_range = 5
+ w_class = ITEMSIZE_SMALL
+ origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 1)
+ item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_melee_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_melee_vr.dmi', slot_back_str = 'icons/vore/custom_items_vr.dmi', slot_wear_suit_str = 'icons/vore/custom_items_vr.dmi')
+ var/active_state = "awoosword"
+ allowed = list(/obj/item/weapon/shield/fluff/awooshield)
+ damtype = HALLOSS
+
+/obj/item/weapon/melee/fluffstuff/awoosword/dropped(var/mob/user)
+ ..()
+ if(!istype(loc,/mob))
+ deactivate(user)
+
+/obj/item/weapon/melee/fluffstuff/awoosword/activate(mob/living/user)
+ if(!active)
+ to_chat(user, "The [src] is now sharpened. It will cut!")
+
+ ..()
+ attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
+ sharp = 1
+ edge = 1
+ icon_state = "[active_state]_sharp"
+ damtype = BRUTE
+
+
+/obj/item/weapon/melee/fluffstuff/awoosword/deactivate(mob/living/user)
+ if(active)
+ to_chat(user, "The [src] grows dull!")
+ ..()
+ attack_verb = list("bapped", "thwapped", "bonked", "whacked")
+ icon_state = initial(icon_state)
diff --git a/icons/mob/items/lefthand_melee_vr.dmi b/icons/mob/items/lefthand_melee_vr.dmi
index e5e4f3d0cf..00e1b0d013 100644
Binary files a/icons/mob/items/lefthand_melee_vr.dmi and b/icons/mob/items/lefthand_melee_vr.dmi differ
diff --git a/icons/mob/items/righthand_melee_vr.dmi b/icons/mob/items/righthand_melee_vr.dmi
index 37b8bc091e..13b75e1c32 100644
Binary files a/icons/mob/items/righthand_melee_vr.dmi and b/icons/mob/items/righthand_melee_vr.dmi differ
diff --git a/icons/obj/weapons_vr.dmi b/icons/obj/weapons_vr.dmi
index 33aaa52503..17d7368a7e 100644
Binary files a/icons/obj/weapons_vr.dmi and b/icons/obj/weapons_vr.dmi differ
diff --git a/icons/vore/custom_items_vr.dmi b/icons/vore/custom_items_vr.dmi
index 901e6a364c..f889952b95 100644
Binary files a/icons/vore/custom_items_vr.dmi and b/icons/vore/custom_items_vr.dmi differ