mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-15 04:01:41 +00:00
## About The Pull Request adds turtles to the game! but these aren't your typical turtles.  these are flora-turtles, with giant trees growing on their shells. These trees can emit fields which affects nearby hydroponic plants. Initially, the trees start out as young buds, from there the tree can evolve into different types depending on what you feed the turtle. Feeding them pesticides causes the tree to blossom to be purple. this tree's fields will help kill some pests and weeds in nearby plants. Feeding them nutrients gives you the green tree, the fields will heal nearby plants Feeding them mutators like uranium or left 4 zed gives you the yellow tree. the fields increase instability of plants The turtle will emit these fields every once in a while, ONLY when its feeling happy. therefore you'll have to pet it, clean it and feed it every once in a while to keep it satisfied. You can view the turtle's happiness by shift clicking it. https://github.com/user-attachments/assets/a47136a1-06a1-419e-acc2-2f6f4468e296 The turtle only eats seeds. after eating a seed, itll process it and spit out its corresponding fruit! (for example, feeding it an apple seed gives you an apple). itll also sometimes playfully headbutt your legs and it loves going around smelling the scent from nearby plants you can get these turtles by fishing the hydroponics tray or by ordering them through cargo. ## Why It's Good For The Game adds a new fun way for botanists to take care of their plants. While these turtles alone arent enough to fully replace plant dedicated nutrients, they add small extra support. ## Changelog 🆑 add: adds flora-turtles. obtainable through cargo or by fishing from the hydroponics tray /🆑
45 lines
1.5 KiB
Plaintext
45 lines
1.5 KiB
Plaintext
#define HIGH_HAPPINESS_THRESHOLD 0.7
|
|
#define MODERATE_HAPPINESS_THRESHOLD 0.5
|
|
|
|
/datum/ai_planning_subtree/express_happiness
|
|
operational_datums = list(/datum/component/happiness)
|
|
///the key storing our happiness value
|
|
var/happiness_key = BB_BASIC_HAPPINESS
|
|
///list of emotions we relay when happy
|
|
var/static/list/happy_emotions = list(
|
|
"celebrates happily!",
|
|
"dances around in excitement!",
|
|
)
|
|
///our moderate emotions
|
|
var/static/list/moderate_emotions = list(
|
|
"looks satisfied.",
|
|
"trots around.",
|
|
)
|
|
///emotions we display when we are sad
|
|
var/static/list/depressed_emotions = list(
|
|
"looks depressed...",
|
|
"turns its back and sulks...",
|
|
"looks towards the floor in dissapointment...",
|
|
)
|
|
|
|
/datum/ai_planning_subtree/express_happiness/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick)
|
|
if(!SPT_PROB(5, seconds_per_tick))
|
|
return
|
|
var/happiness_value = controller.blackboard[happiness_key]
|
|
if(isnull(happiness_value))
|
|
return
|
|
var/list/final_list
|
|
switch(happiness_value)
|
|
if(HIGH_HAPPINESS_THRESHOLD to INFINITY)
|
|
final_list = controller.blackboard[BB_HAPPY_EMOTIONS] || happy_emotions
|
|
if(MODERATE_HAPPINESS_THRESHOLD to HIGH_HAPPINESS_THRESHOLD)
|
|
final_list = controller.blackboard[BB_MODERATE_EMOTIONS] || moderate_emotions
|
|
else
|
|
final_list = controller.blackboard[BB_SAD_EMOTIONS] || depressed_emotions
|
|
if(!length(final_list))
|
|
return
|
|
controller.queue_behavior(/datum/ai_behavior/perform_emote, pick(final_list))
|
|
|
|
#undef HIGH_HAPPINESS_THRESHOLD
|
|
#undef MODERATE_HAPPINESS_THRESHOLD
|