diff --git a/code/modules/mob/living/simple_animal/vore/carp.dm b/code/modules/mob/living/simple_animal/vore/carp.dm
index 9abde1a005e..e601f22d74b 100644
--- a/code/modules/mob/living/simple_animal/vore/carp.dm
+++ b/code/modules/mob/living/simple_animal/vore/carp.dm
@@ -1,11 +1,11 @@
-/mob/living/simple_animal/hostile/carp/large
+/mob/living/simple_animal/hostile/carp/large/huge
name = "great white carp"
desc = "You're going to need a bigger ship."
icon = 'icons/mob/vore64x64.dmi'
icon_dead = "megacarp-dead"
icon_living = "megacarp"
icon_state = "megacarp"
-
+
maxHealth = 600 // Boss
health = 600
speed = 3
@@ -18,14 +18,13 @@
old_y = -16
pixel_x = -16
pixel_y = -16
-
-/mob/living/simple_animal/hostile/carp/large/huge
- icon = 'icons/mob/vore64x64.dmi'
+ vore_capacity = 2
// Activate Noms!
/mob/living/simple_animal/hostile/carp/large
+ icon = 'icons/mob/vore64x64.dmi'
vore_active = 1
vore_pounce_chance = 50
- vore_capacity = 2
+ vore_capacity = 1
vore_max_size = RESIZE_HUGE
vore_icons = SA_ICON_LIVING
diff --git a/code/modules/mob/living/simple_animal/vore/zz_vore_overrides.dm b/code/modules/mob/living/simple_animal/vore/zz_vore_overrides.dm
index f28593d4304..c4ca05baf7d 100644
--- a/code/modules/mob/living/simple_animal/vore/zz_vore_overrides.dm
+++ b/code/modules/mob/living/simple_animal/vore/zz_vore_overrides.dm
@@ -74,6 +74,12 @@
vore_capacity = 3
vore_pounce_chance = 75
+/mob/living/simple_animal/hostile/alien/sentinel/praetorian
+ icon = 'icons/mob/vore64x64.dmi'
+
+/mob/living/simple_animal/hostile/alien/queen/empress/mother
+ vore_icons = 0 // NO VORE SPRITES
+
/mob/living/simple_animal/hostile/bear
vore_active = 1
icon = 'icons/mob/vore.dmi'
diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm
index 82a008deaa0..574acfa7ac3 100644
--- a/code/modules/mob/new_player/sprite_accessories_vr.dm
+++ b/code/modules/mob/new_player/sprite_accessories_vr.dm
@@ -198,6 +198,49 @@
icon_state = "hair_messy"
species_allowed = list("Tajara", "Xenochimera")
+//Teshari things
+ teshari
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_altdefault
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_tight
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_excited
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_spike
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_long
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_burst
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_shortburst
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_mohawk
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_pointy
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_upright
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_mane
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_droopy
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
+ teshari_mushroom
+ icon_add = 'icons/mob/human_face_vr_add.dmi'
+
//Skrell 'hairstyles' - these were requested for a chimera and screw it, if one wants to eat seafood, go nuts
skr_tentacle_veryshort
name = "Skrell Very Short Tentacles"
@@ -498,6 +541,12 @@
color_blend_mode = ICON_MULTIPLY
body_parts = list(BP_HEAD)
+ snoutstripe
+ name = "snout stripe (Vulp)"
+ icon_state = "snoutstripe"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_HEAD)
+
vulp_face
name = "face (Vulp)"
icon_state = "vulp_face"
@@ -540,6 +589,11 @@
icon_state = "spidereyes"
body_parts = list(BP_HEAD)
+ sergaleyes
+ name = "Sergal Eyes"
+ icon_state = "eyes_sergal"
+ body_parts = list(BP_HEAD)
+
nevrean_female
name = "Female Nevrean beak"
icon_state = "nevrean_f"
diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm
index 83fa9f41459..3b090dd7ef0 100644
--- a/code/modules/vore/fluffstuff/custom_items_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_items_vr.dm
@@ -738,6 +738,23 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
/obj/item/weapon/implanter/reagent_generator/vorrarkul
implant_type = /obj/item/weapon/implant/reagent_generator/vorrarkul
+//Lycanthorph: Savannah Dixon
+/obj/item/weapon/implant/reagent_generator/savannah
+ generated_reagents = list("milk" = 2)
+ reagent_name = "milk"
+ usable_volume = 1000
+
+ empty_message = list("Your nipples are sore from being milked!", "Your breasts feel drained, milk is no longer leaking from your nipples!")
+ full_message = list("Your breasts are full, their sweet scent emanating from your chest!", "Your breasts feel full, milk is starting to leak from your nipples, filling the air with it's sweet scent!")
+ emote_descriptor = list("squeezes sweet milk from Savannah", "tugs on Savannah's nipples, milking them", "kneads Savannah's breasts, milking them")
+ self_emote_descriptor = list("squeeze", "knead")
+ random_emote = list("lets out a soft moan", "gives an involuntary squeal")
+ verb_name = "Milk"
+ verb_desc = "Grab Savannah's breasts and extract sweet milk from them!"
+
+/obj/item/weapon/implanter/reagent_generator/savannah
+ implant_type = /obj/item/weapon/implant/reagent_generator/savannah
+
//SpoopyLizz: Roiz Lizden
//I made this! Woo!
//implant
@@ -809,6 +826,81 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
rimplant.reagents.remove_any(rimplant.transfer_amount)
+//Cameron653: Jasmine Lizden
+/obj/item/weapon/implant/reagent_generator/jasmine
+ name = "egg laying implant"
+ desc = "This is an implant that allows the user to lay eggs."
+ generated_reagents = list("egg" = 2)
+ usable_volume = 500
+ transfer_amount = 50
+
+ empty_message = list("Your lower belly feels flat, empty, and somewhat rough!", "Your lower belly feels completely empty, no more bulges visible... At least, for the moment!")
+ full_message = list("Your lower belly is stretched out, smooth,and heavy, small bulges visible from within!", "It takes considerably more effort to move yourself, the large bulges within your gut most likely the cause!")
+ emote_descriptor = list("an egg from Jasmine's tauric belly!", "into Jasmine's gut, forcing her to lay a considerably large egg!", "Jasmine with a considerable amount of force, causing an egg to slip right out of her!")
+ var/verb_descriptor = list("squeezes", "pushes", "hugs")
+ var/self_verb_descriptor = list("squeeze", "push", "hug")
+ var/short_emote_descriptor = list("lays", "forces out", "pushes out")
+ self_emote_descriptor = list("lay", "force out", "push out")
+ random_emote = list("hisses softly with a blush on her face", "bites down on her lower lip", "lets out a light huff")
+ assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_jasmine
+
+/obj/item/weapon/implant/reagent_generator/jasmine/implanted(mob/living/carbon/source)
+ processing_objects += src
+ to_chat(source, "You implant [source] with \the [src].")
+ source.verbs |= assigned_proc
+ return 1
+
+/obj/item/weapon/implanter/reagent_generator/jasmine
+ implant_type = /obj/item/weapon/implant/reagent_generator/jasmine
+
+/mob/living/carbon/human/proc/use_reagent_implant_jasmine()
+ set name = "Lay Egg"
+ set desc = "Cause Jasmine to lay an egg by squeezing her tauric belly!"
+ set category = "Object"
+ set src in view(1)
+
+ //do_reagent_implant(usr)
+ if(!isliving(usr) || !usr.canClick())
+ return
+
+ if(usr.incapacitated() || usr.stat > CONSCIOUS)
+ return
+
+ var/obj/item/weapon/implant/reagent_generator/jasmine/rimplant
+ for(var/I in src.contents)
+ if(istype(I, /obj/item/weapon/implant/reagent_generator))
+ rimplant = I
+ break
+ if (rimplant)
+ if(rimplant.reagents.total_volume <= rimplant.transfer_amount)
+ to_chat(src, "[pick(rimplant.empty_message)]")
+ return
+
+ new /obj/item/weapon/reagent_containers/food/snacks/egg/roiz(get_turf(src))
+
+ var/index = rand(0,3)
+
+ if (usr != src)
+ var/emote = rimplant.emote_descriptor[index]
+ var/verb_desc = rimplant.verb_descriptor[index]
+ var/self_verb_desc = rimplant.self_verb_descriptor[index]
+ usr.visible_message("[usr] [verb_desc] [emote]",
+ "You [self_verb_desc] [emote]")
+ else
+ src.visible_message("[src] [pick(rimplant.short_emote_descriptor)] an egg.",
+ "You [pick(rimplant.self_emote_descriptor)] an egg.")
+ if(prob(15))
+ src.visible_message("[src] [pick(rimplant.random_emote)].")
+
+ rimplant.reagents.remove_any(rimplant.transfer_amount)
+
+
+
+
+
+
+
+
/obj/item/weapon/implant/reagent_generator/pumila_apple
name = "apple laying implant"
desc = "This is an implant that allows the user to grow apples."
diff --git a/config/custom_items.txt b/config/custom_items.txt
index 7174ddbb7d8..72efde3eb2f 100644
--- a/config/custom_items.txt
+++ b/config/custom_items.txt
@@ -145,6 +145,12 @@ character_name: James Holder
item_path: /obj/item/weapon/disk/data
}
+{
+ckey: cameron653
+character_name: Jasmine Lizden
+item_path: /obj/item/weapon/implanter/reagent_generator/jasmine
+}
+
# ######## D CKEYS
{
ckey: deepindigo
@@ -445,6 +451,12 @@ character_name: Briana Moore
item_path: /obj/item/weapon/storage/backpack/messenger/black/fluff/briana
}
+{
+ckey: Lycanthorph
+character_name: Savannah Dixon
+item_path: /obj/item/weapon/implanter/reagent_generator/savannah
+}
+
# ######## M CKEYS
{
ckey: molenar
diff --git a/icons/mob/human_face_vr_add.dmi b/icons/mob/human_face_vr_add.dmi
index 9dc080e1f18..f3efa2251a1 100644
Binary files a/icons/mob/human_face_vr_add.dmi and b/icons/mob/human_face_vr_add.dmi differ
diff --git a/icons/mob/vore64x64.dmi b/icons/mob/vore64x64.dmi
index fd22e634a4e..22b55b13924 100644
Binary files a/icons/mob/vore64x64.dmi and b/icons/mob/vore64x64.dmi differ
diff --git a/icons/mob/widerobot_vr.dmi b/icons/mob/widerobot_vr.dmi
index 05e0f9e6c74..d25b3191498 100644
Binary files a/icons/mob/widerobot_vr.dmi and b/icons/mob/widerobot_vr.dmi differ