From 617f882b50ee0e300ad5fbc12cdab824630fdc5c Mon Sep 17 00:00:00 2001 From: VerySoft Date: Thu, 21 Nov 2024 01:39:56 -0500 Subject: [PATCH 1/3] Turkey --- .../simple_mob/subtypes/animal/turkeygirl.dm | 101 ++++++++++++++++++ icons/mob/turkey.dmi | Bin 0 -> 3910 bytes vorestation.dme | 1 + 3 files changed, 102 insertions(+) create mode 100644 code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm create mode 100644 icons/mob/turkey.dmi diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm b/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm new file mode 100644 index 00000000000..918830f1fef --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm @@ -0,0 +1,101 @@ +//turkey - sprites and writing done by VerySoft +/mob/living/simple_mob/vore/turkeygirl + name = "turkeygirl" + desc = "A feathered woman! She looks like some kind of plump turkey!" + tt_desc = "Meleagris gallopian" + icon = 'icons/mob/turkey.dmi' + icon_state = "turkeygirl" + icon_living = "turkeygirl" + icon_dead = "turkeygirl-dead" + + health = 100 + maxHealth = 100 + + has_hands = TRUE + + faction = "turkey" + + response_help = "hugs" + response_disarm = "pushes" + response_harm = "punches" + attacktext = list("pecked") + + has_langs = list(LANGUAGE_GALCOM , LANGUAGE_ANIMAL) + + meat_amount = 100 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + + ai_holder_type = /datum/ai_holder/simple_mob/passive + + say_list_type = /datum/say_list/turkey + + vore_active = 1 + vore_capacity = 2 + vore_bump_chance = 10 + vore_pounce_chance = 10 + vore_pounce_maxhealth = 999 + vore_ignores_undigestable = 0 + vore_default_mode = DM_SELECT + vore_icons = SA_ICON_LIVING + vore_stomach_name = "Stomach" + vore_default_contamination_flavor = "Wet" + vore_default_contamination_color = "grey" + vore_default_item_mode = IM_DIGEST + vore_standing_too = TRUE + +/mob/living/simple_mob/vore/turkeygirl/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "The hot churning stomach of a turkey girl! The doughy flesh presses inward to form to your figure, thick slime coating everything, and very shortly that includes you as well! There isn't any escaping that constant full body motion, as her body works to ball yours up into a tight little package. Gurgling and glubbing with every shifting movement, while her pulse throbs through the flesh all around you with every beat of her heart. All in all, one thing is for certain! You've become turkey stuffing! Oh no..." + B.mode_flags = DM_FLAG_THICKBELLY | DM_FLAG_NUMBING + B.belly_fullscreen = "anibelly" + B.digest_brute = 1 + B.digest_burn = 6 + B.digestchance = 0 + B.absorbchance = 0 + B.escapechance = 15 + B.colorization_enabled = TRUE + B.belly_fullscreen_color = "#521717" + +/datum/say_list/turkey + speak = list("Gobble!", "Gobble gobble!", "Gobble gobble gobble!", "Give me something to be thankful for~", "Could use something to gobble~", "Why don't you make a pilgrimage over here and give me something good to eat?", "I want a treat... I could bite you too if you like~", "What's your favorite time of year?", "Autumn is the best time of year~", "You just gonna let a girl go hungry?") + +/mob/living/simple_mob/vore/turkeygirl/update_icon() + . = ..() + if(stat == DEAD) + return + if(vore_fullness == 2 || nutrition >= 5000) + icon_state = "[icon_living]-2" + + else if(vore_fullness == 1 || nutrition >= 2500) + icon_state = "[icon_living]-1" + if(resting) + icon_state = "[icon_state]-resting" + +/mob/living/simple_mob/vore/turkeygirl/attackby(var/obj/item/weapon/reagent_containers/food/snacks/O as obj, var/mob/user as mob) + if(stat) + return ..() + + if(!istype(O, /obj/item/weapon/reagent_containers/food/snacks)) + return ..() + + if(nutrition >= max_nutrition) + if(user == src) + to_chat(src, "You're too full to eat another bite.") + return + to_chat(user, "\The [src] seems too full to eat.") + return + + user.setClickCooldown(user.get_attack_speed(O)) + if(O.reagents) + O.reagents.trans_to_mob(src, O.bitesize, CHEM_INGEST) + adjust_nutrition(O.bitesize * 20) + O.bitecount ++ + O.On_Consume(src) + if(O) + to_chat(user, "\The [src] takes a bite of \the [O].") + if(user != src) + to_chat(src, "\The [user] feeds \the [O] to you.") + playsound(src, 'sound/items/eatfood.ogg', 75, 1) + update_icon() diff --git a/icons/mob/turkey.dmi b/icons/mob/turkey.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8f7d1db729aaebe8dc388e2d3aa4950039616451 GIT binary patch literal 3910 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 Date: Thu, 21 Nov 2024 01:47:38 -0500 Subject: [PATCH 2/3] fix up types --- .../mob/living/simple_mob/subtypes/animal/turkeygirl.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm b/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm index 918830f1fef..7f2ddba2201 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm @@ -23,7 +23,7 @@ has_langs = list(LANGUAGE_GALCOM , LANGUAGE_ANIMAL) meat_amount = 100 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + meat_type = /obj/item/reagent_containers/food/snacks/meat/chicken ai_holder_type = /datum/ai_holder/simple_mob/passive @@ -73,11 +73,11 @@ if(resting) icon_state = "[icon_state]-resting" -/mob/living/simple_mob/vore/turkeygirl/attackby(var/obj/item/weapon/reagent_containers/food/snacks/O as obj, var/mob/user as mob) +/mob/living/simple_mob/vore/turkeygirl/attackby(var/obj/item/reagent_containers/food/snacks/O as obj, var/mob/user as mob) if(stat) return ..() - if(!istype(O, /obj/item/weapon/reagent_containers/food/snacks)) + if(!istype(O, /obj/item/reagent_containers/food/snacks)) return ..() if(nutrition >= max_nutrition) From 8f89cc46dcffa49e734c83aadcf8c274faeefa97 Mon Sep 17 00:00:00 2001 From: VerySoft Date: Fri, 22 Nov 2024 16:28:28 -0500 Subject: [PATCH 3/3] attribution --- ATTRIBUTIONS.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ATTRIBUTIONS.md b/ATTRIBUTIONS.md index 3e5639a5217..abaf97a0b98 100644 --- a/ATTRIBUTIONS.md +++ b/ATTRIBUTIONS.md @@ -80,3 +80,9 @@ **Creator:** VerySoft (https://github.com/TS-Rogue-Star/Rogue-Star/pull/435)
**URL:** [Website](https://rogue-star.net/)
**License:** Permission granting in writing for use by Virgo and Chomp with proper attribution +
+**File:** `icons/mob/turkey.dmi` +**Title:** Turkey
+**Creator:** VerySoft (https://github.com/TS-Rogue-Star/Rogue-Star/pull/669)
+**URL:** [Website](https://rogue-star.net/)
+**License:** Permission granted in writing for use by Virgo and Chomp with proper attribution