diff --git a/code/datums/supplypacks/hydroponics.dm b/code/datums/supplypacks/hydroponics.dm index abe6033bd2..c03fe4c56b 100644 --- a/code/datums/supplypacks/hydroponics.dm +++ b/code/datums/supplypacks/hydroponics.dm @@ -150,3 +150,9 @@ contains = list(/obj/machinery/portable_atmospherics/hydroponics{anchored = 0} = 3) access = access_hydroponics +/datum/supply_packs/hydro/deer + name = "Deer crate" + cost = 50 + containertype = /obj/structure/largecrate/animal/deer + containername = "Deer crate" + access = access_hydroponics diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index b4a0d60dcb..dde0035671 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -81,3 +81,7 @@ /obj/structure/largecrate/animal/chick name = "chicken crate" starts_with = list(/mob/living/simple_animal/chick = 5) + +/obj/structure/largecrate/animal/deer + name = "deer crate" + starts_with = list(/mob/living/simple_animal/deer = 3) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 721c99cc3a..71284f53b2 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -50,6 +50,7 @@ "Wraith" = "wraith", "Viscerator" = "viscerator", "Corgi" = "corgi", + "Deer" = "deer", "Tamaskan" = "tamaskan", "Black Cat" = "blackcat", "Lizard" = "lizard", diff --git a/code/modules/mob/living/simple_animal/animals/deer.dm b/code/modules/mob/living/simple_animal/animals/deer.dm new file mode 100644 index 0000000000..88155adde3 --- /dev/null +++ b/code/modules/mob/living/simple_animal/animals/deer.dm @@ -0,0 +1,111 @@ +/mob/living/simple_animal/deer + name = "Deer" + desc = "An animal with impressive antlers and skittish personality, though this one seems domesticated." + tt_desc = "Cervus elaphus" + icon_state = "Deer" + icon_living = "Deer" + icon_dead = "Deer_dead" + icon_gib = "generic_gib" + intelligence_level = SA_ANIMAL + + specific_targets = 1 //Only targets with Found() + + view_range = 5 + health = 50 + turns_per_move = 5 + see_in_dark = 6 + + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "gores" + attacktext = list("gored") + + speak_chance = 1 + speak = list("meer?","meer","MEEEEER") + speak_emote = list("bellows","bellows loudly") + emote_hear = list("bellows") + emote_see = list("wiggles its tail") + + meat_amount = 3 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + + var/turns_since_scan = 0 + var/mob/flee_target + +/mob/living/simple_animal/deer/New() + + if(prob(1)) + name = "Kyle" + desc = "A deer with no antlers and a very skittish personality, it seems to be a male even though its a doe." + tt_desc = "Cervus flailicus" + icon_state = "Kyle" + icon_living = "Kyle" + icon_dead = "Kyle_dead" + icon_gib = "generic_gib" + intelligence_level = SA_ANIMAL + vore_active = 1 + + health = 100 + turns_per_move = 1 + see_in_dark = 6 + + response_help = "pets" + response_disarm = "barely manage to push aside" + response_harm = "nibbles" + attacktext = list("nibbled") + + speak_chance = 20 + speak = list("wh-?","wh-!","WH-?!","aaaaa","HELP MAINTS","SPOHGJPDFHDFH!","EEP","!!!!!","gposdjafgpmgd","y e e t") + speak_emote = list("Bleats","Bleats loudly","Wh-s","Flails","Flails a lot") + emote_hear = list("Bleats", "Bleats loudly","Wh-s") + emote_see = list("wiggles his tail","Flails around","Flails","Runs around in a circle") + ..() +/mob/living/simple_animal/deer/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "Stomach" + B.desc = "Your curled up inside Kyle's belly, and he doesnt seem very quite eager about the idea judging from all the bleating..." + + B.emote_lists[DM_HOLD] = list( + "The tight belly rubs your body as the panicking deer runs around.", + "You hear the sounds of his stomach squishing your form and his heart thundering away nearby.", + "Kyle doesnt seem to know where to go. The constant turning around in place is pressing you against the walls, its a miracle your not getting dizzy.", + "All the moving about is making you a little sleepy, its like a tight and warm hammock that you constantly swing back and forth in thanks to your unwilling predator.", + "Kyle tries again to cough you up and fails, one has to wonder if you will ever get out.") + + B.emote_lists[DM_DIGEST] = list( + "His herbivore belly isnt suited for a meal like you, but he moves so much that fresh stomach juices are always kneaded into your form to break you down.", + "While the distressed deer is trying to get his unwelcome guest out of his stomach, his stomach is busy claiming its food by tightening around you to grind you into mush.", + "Its hard to see inside the dark and damp belly, but the sound of sloshing liquids grows louder by every minute, and the same goes for the ominous gurgling noises.", + "Everytime Kyle stops to bleat nervously his belly tightens around you, forcing you to curl up tighter than before. Will you get out before its to late, get digested first, or even crushed into a paste?", + "The deer tries his best to regurgitate you, but all it does is excite his stomach even more and fill up the organ with more liquids to churn you up with.") + +// All them complicated deer procedures. +/mob/living/simple_animal/deer/Life() + . = ..() + if(!.) return + + handle_flee_target() + +/mob/living/simple_animal/deer/proc/handle_flee_target() + //see if we should stop fleeing + if (flee_target && !(flee_target in ListTargets(view_range))) + flee_target = null + GiveUpMoving() + + if (flee_target && !stat && !buckled) + if (resting) + lay_down() + if(prob(25)) say("!Bleats!") + stop_automated_movement = 1 + walk_away(src, flee_target, 7, 2) + +/mob/living/simple_animal/deer/react_to_attack(var/atom/A) + if(A == src) return + flee_target = A + turns_since_scan = 5 + +/mob/living/simple_animal/deer/ex_act() + . = ..() + react_to_attack(src.loc) + \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index 139eceff51..bdccd1b07d 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -2987,3 +2987,25 @@ glass_name = "Mint Julep" glass_desc = "Minty and refreshing, perfect for a hot day." + +/datum/reagent/ethanol/eggnog + name = "Eggnog" + id = "eggnog" + description = "A creamy mixture with eggs and cognac to spice it up." + taste_description = "creamy yolk and cognac" + color = "#d5cbbf" // rgb(213, 203, 191) + strength = 30 + + glass_name = "Eggnog" + glass_desc = "A seasonal drink made from egg, alcohol, dairy products and sugar." + +/datum/reagent/ethanol/spiderdrink + name = "Brimming glass of spiders" + id = "spiderdrink" + description = "A fresh drink consisting of cloned spiderlings who are intoxicated by a healthy dose of absinthe." + taste_description = "TOO MANY LEGS" + color = "#526062" // rgb(82, 96, 98) + strength = 15 + + glass_name = "Brimming glass of spiders" + glass_desc = "A glass filled to the brim with tiny drunk spiderlings. Lets hope they dont escape." \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index c86db69632..47eac480f0 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -2209,6 +2209,19 @@ required_reagents = list("icecoffee" = 1, "whiskey" = 1, "mint" = 1) result_amount = 3 +/datum/chemical_reaction/drinks/eggnog + name = "Eggnog" + id = "eggnog" + result = "eggnog" + required_reagents = list("sugar" = 1, "egg" = 1, "milk" = 1, "cream" = 1, "cognac" = 2) + result_amount = 6 + +/datum/chemical_reaction/drinks/spiderdrink + name = "Brimming glass of spiders" + id = "spiderdrink" + result = "spiderdrink" + required_reagents = list("spidertoxin" = 1, "clonexadone" = 5, "absinthe" = 4) + result_amount = 10 //R-UST Port /datum/chemical_reaction/hyrdophoron diff --git a/code/modules/reagents/reagent_containers/drinkingglass/metaglass.dm b/code/modules/reagents/reagent_containers/drinkingglass/metaglass.dm index e35db4a72b..543d5dbd90 100644 --- a/code/modules/reagents/reagent_containers/drinkingglass/metaglass.dm +++ b/code/modules/reagents/reagent_containers/drinkingglass/metaglass.dm @@ -507,3 +507,10 @@ Drinks Data /datum/reagent/ethanol/cloverclub glass_icon_state = "cloverclub" glass_center_of_mass = list("x"=16, "y"=8) + +/datum/reagent/ethanol/eggnog + glass_icon_state = "eggnogglass" + glass_center_of_mass = list("x"=16, "y"=6) + +/datum/reagent/ethanol/spiderdrink + glass_icon_state = "glassofspiders" \ No newline at end of file diff --git a/code/modules/vore/fluffstuff/custom_permits_vr.dm b/code/modules/vore/fluffstuff/custom_permits_vr.dm index c96783e246..fc5d47e37c 100644 --- a/code/modules/vore/fluffstuff/custom_permits_vr.dm +++ b/code/modules/vore/fluffstuff/custom_permits_vr.dm @@ -21,6 +21,11 @@ name = "Tasald Ajax Corlethian's Sidearm Permit" desc = "A card indicating that the owner is allowed to carry a sidearm. It is issued by CentCom, so it is valid until it expires on August 2nd, 2562." +//tomtyph: Sarika +/obj/item/clothing/accessory/permit/gun/fluff/tomtyph + name = "Sarika's Sidearm Permit" + desc = "A card indicating that the owner is allowed to carry a sidearm. It is issued by CentCom, so it is valid until it expires on December 7th, 2563." + // dhaeleena:Dhaeleena M'iar /obj/item/clothing/accessory/permit/gun/fluff/dhaeleena_miar name = "Dhaeleena M'iar's Sidearm Permit" diff --git a/config/custom_items.txt b/config/custom_items.txt index 35e73a007c..19ac9bd917 100644 --- a/config/custom_items.txt +++ b/config/custom_items.txt @@ -832,6 +832,21 @@ ckey: tonyvld character_name: Tony Bingham item_path: /obj/item/clothing/head/fluff/runac } +{ +ckey: tomtyph +character_name: Sarika +item_path: /obj/item/weapon/gun/projectile/revolver/mateba/fluff/tasald_corlethian +item_name: Black Iron +item_desc: The handle has a faded etching, all you can make out is a single T. + +} +{ +ckey: tomtyph +character_name: Sarika +item_path: /obj/item/clothing/accessory/permit/gun/fluff/tomtyph +item_name: Sarika's Sidearm Permit +item_desc: A card indicating that the owner is allowed to carry a sidearm. It is issued by CentCom, registered to Sarika for a single-action revolver. +} # ######## U CKEYS # ######## V CKEYS diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 00fbaf6912..949c6e3584 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 462fa224e7..2d3cb98787 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/vore/custom_guns_vr.dmi b/icons/vore/custom_guns_vr.dmi index c09ac65d22..52d5276c03 100644 Binary files a/icons/vore/custom_guns_vr.dmi and b/icons/vore/custom_guns_vr.dmi differ diff --git a/vorestation.dme b/vorestation.dme index 72d9b258e1..a575f27846 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2180,6 +2180,7 @@ #include "code\modules\mob\living\simple_animal\animals\corgi.dm" #include "code\modules\mob\living\simple_animal\animals\corgi_vr.dm" #include "code\modules\mob\living\simple_animal\animals\crab.dm" +#include "code\modules\mob\living\simple_animal\animals\deer.dm" #include "code\modules\mob\living\simple_animal\animals\farm_animals.dm" #include "code\modules\mob\living\simple_animal\animals\fish.dm" #include "code\modules\mob\living\simple_animal\animals\fish_vr.dm"