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