From f380bd4c6e06fa34a70b24a7447fc0f6ee4fe3c8 Mon Sep 17 00:00:00 2001 From: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Date: Mon, 7 Oct 2024 23:57:19 +0300 Subject: [PATCH] Bring your pet to work day! (#86879) ## About The Pull Request Adds a new neutral station trait where people are able to bring their personal pets to show off to the rest of the crew (or to donate to the chef). Before joining, players will be able to customize their pets https://github.com/user-attachments/assets/5a5cda18-e551-4f87-b649-67a6940ffc6a u can set their name, gender, pet carrier color, and teach them give them a unique dance sequence trick. if players dont wish to opt in, they also have the choice not to ## Why It's Good For The Game adds a new station trait which people can RP around, whether its by competitively comparing pets, or resolving conflicts around pets being killed/kidnapped. Ive also GAGsified pet carriers, so people can now have the option to recolor those too ## Changelog :cl: add: adds a new station trait, "bring your pet to work" day /:cl: --- code/__DEFINES/basic_mobs.dm | 3 + .../greyscale_configs/greyscale_items.dm | 15 + .../json_configs/bandanaskull_inhands.json | 1 + .../greyscale/json_configs/pet_carrier.json | 87 ++++ .../json_configs/pet_carrier_inhands.json | 15 + code/datums/station_traits/neutral_traits.dm | 44 ++ code/game/objects/items/pet_carrier.dm | 16 +- code/modules/mob/living/basic/pets/cat/cat.dm | 15 + .../mob/living/basic/pets/cat/cat_ai.dm | 2 + .../mob/living/basic/pets/cat/kitten_ai.dm | 2 + .../modules/mob/living/basic/pets/dog/_dog.dm | 1 + code/modules/mob/living/basic/pets/fox.dm | 12 + .../mob/living/basic/pets/parrot/_parrot.dm | 9 +- .../parrot/parrot_ai/_parrot_controller.dm | 4 +- .../mob/living/basic/pets/pet_designer.dm | 205 +++++++++ .../spider/giant_spider/giant_spider_ai.dm | 2 + .../living/basic/space_fauna/spider/spider.dm | 8 + .../basic/vermin/mothroach/mothroach.dm | 8 + .../basic/vermin/mothroach/mothroach_ai.dm | 2 + code/modules/mob/living/basic/vermin/mouse.dm | 12 +- icons/hud/lobby/signup_button.dmi | Bin 2564 -> 2723 bytes icons/mob/inhands/items_lefthand.dmi | Bin 30977 -> 32386 bytes icons/mob/inhands/items_righthand.dmi | Bin 31053 -> 35108 bytes icons/obj/pet_carrier.dmi | Bin 2986 -> 3464 bytes tgstation.dme | 1 + .../tgui/interfaces/LootPanel/IconDisplay.tsx | 11 +- .../tgui/interfaces/LootPanel/LootBox.tsx | 2 +- tgui/packages/tgui/interfaces/PetBuilder.tsx | 431 ++++++++++++++++++ 28 files changed, 894 insertions(+), 14 deletions(-) create mode 100644 code/datums/greyscale/json_configs/pet_carrier.json create mode 100644 code/datums/greyscale/json_configs/pet_carrier_inhands.json create mode 100644 code/modules/mob/living/basic/pets/pet_designer.dm create mode 100644 tgui/packages/tgui/interfaces/PetBuilder.tsx diff --git a/code/__DEFINES/basic_mobs.dm b/code/__DEFINES/basic_mobs.dm index e519fb25240..6696da857c8 100644 --- a/code/__DEFINES/basic_mobs.dm +++ b/code/__DEFINES/basic_mobs.dm @@ -33,6 +33,9 @@ ///keeps track of how many gutlunches are born GLOBAL_VAR_INIT(gutlunch_count, 0) +///Pet customization settings saved for every client +GLOBAL_LIST_EMPTY(customized_pets) + //raptor defines #define RAPTOR_RED "Red" diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm index 2137aea08f3..62f30855abb 100644 --- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm +++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm @@ -229,6 +229,21 @@ icon_file = 'icons/obj/toys/plushes.dmi' json_config = 'code/datums/greyscale/json_configs/plushie_carp.json' +/datum/greyscale_config/pet_carrier + name = "Pet Carrier" + icon_file = 'icons/obj/pet_carrier.dmi' + json_config = 'code/datums/greyscale/json_configs/pet_carrier.json' + +/datum/greyscale_config/pet_carrier_inhands_left + name = "Pet Carrier Left" + icon_file = 'icons/mob/inhands/items_lefthand.dmi' + json_config = 'code/datums/greyscale/json_configs/pet_carrier_inhands.json' + +/datum/greyscale_config/pet_carrier_inhands_right + name = "Pet Carrier Right" + icon_file = 'icons/mob/inhands/items_righthand.dmi' + json_config = 'code/datums/greyscale/json_configs/pet_carrier_inhands.json' + /datum/greyscale_config/plush_lizard name = "Plushie Lizard" icon_file = 'icons/obj/toys/plushes.dmi' diff --git a/code/datums/greyscale/json_configs/bandanaskull_inhands.json b/code/datums/greyscale/json_configs/bandanaskull_inhands.json index b7067cf3c2e..40fade07973 100644 --- a/code/datums/greyscale/json_configs/bandanaskull_inhands.json +++ b/code/datums/greyscale/json_configs/bandanaskull_inhands.json @@ -14,3 +14,4 @@ } ] } + diff --git a/code/datums/greyscale/json_configs/pet_carrier.json b/code/datums/greyscale/json_configs/pet_carrier.json new file mode 100644 index 00000000000..1674765268f --- /dev/null +++ b/code/datums/greyscale/json_configs/pet_carrier.json @@ -0,0 +1,87 @@ +{ + "pet_carrier_open": [ + { + "type": "icon_state", + "icon_state": "pet_carrier_open", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ], + "pet_carrier_closed_unlocked": [ + { + "type": "icon_state", + "icon_state": "pet_carrier_unlocked", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_closed", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ], + "pet_carrier_closed_locked": [ + { + "type": "icon_state", + "icon_state": "pet_carrier_locked", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_closed", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ], + "pet_carrier_occupied_unlocked": [ + { + "type": "icon_state", + "icon_state": "pet_carrier_unlocked", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_occupied", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ], + "pet_carrier_occupied_locked": [ + { + "type": "icon_state", + "icon_state": "pet_carrier_locked", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_occupied", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/pet_carrier_inhands.json b/code/datums/greyscale/json_configs/pet_carrier_inhands.json new file mode 100644 index 00000000000..05978e3c829 --- /dev/null +++ b/code/datums/greyscale/json_configs/pet_carrier_inhands.json @@ -0,0 +1,15 @@ +{ + "pet_carrier": [ + { + "type": "icon_state", + "icon_state": "pet_carrier", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "pet_carrier_gags", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/station_traits/neutral_traits.dm b/code/datums/station_traits/neutral_traits.dm index 74a8e542400..2fb7072f55d 100644 --- a/code/datums/station_traits/neutral_traits.dm +++ b/code/datums/station_traits/neutral_traits.dm @@ -544,3 +544,47 @@ dynamic_category = RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS threat_reduction = 15 dynamic_threat_id = "Background Checks" + + +/datum/station_trait/pet_day + name = "Bring Your Pet To Work Day" + trait_type = STATION_TRAIT_NEUTRAL + show_in_report = FALSE + weight = 2 + sign_up_button = TRUE + +/datum/station_trait/pet_day/New() + . = ..() + RegisterSignal(SSdcs, COMSIG_GLOB_JOB_AFTER_SPAWN, PROC_REF(on_job_after_spawn)) + +/datum/station_trait/pet_day/setup_lobby_button(atom/movable/screen/lobby/button/sign_up/lobby_button) + lobby_button.desc = "Want to bring your innocent pet to a giant metal deathtrap? Click here to customize it!" + RegisterSignal(lobby_button, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_lobby_button_update_overlays)) + return ..() + +/datum/station_trait/pet_day/can_display_lobby_button(client/player) + return sign_up_button + +/datum/station_trait/pet_day/on_round_start() + return + +/datum/station_trait/pet_day/on_lobby_button_click(atom/movable/screen/lobby/button/sign_up/lobby_button, updates) + var/mob/our_player = lobby_button.get_mob() + var/client/player_client = our_player.client + if(isnull(player_client)) + return + var/datum/pet_customization/customization = GLOB.customized_pets[REF(player_client)] + if(isnull(customization)) + customization = new(player_client) + INVOKE_ASYNC(customization, TYPE_PROC_REF(/datum, ui_interact), our_player) + +/datum/station_trait/pet_day/proc/on_job_after_spawn(datum/source, datum/job/job, mob/living/spawned, client/player_client) + SIGNAL_HANDLER + + var/datum/pet_customization/customization = GLOB.customized_pets[REF(player_client)] + if(isnull(customization)) + return + INVOKE_ASYNC(customization, TYPE_PROC_REF(/datum/pet_customization, create_pet), spawned, player_client) + +/datum/station_trait/pet_day/proc/on_lobby_button_update_overlays(atom/movable/screen/lobby/button/sign_up/lobby_button, list/overlays) + overlays += "select_pet" diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 8be08a876d7..336d177f2a2 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -11,6 +11,10 @@ inhand_icon_state = "pet_carrier" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' + greyscale_config = /datum/greyscale_config/pet_carrier + greyscale_config_inhand_left = /datum/greyscale_config/pet_carrier_inhands_left + greyscale_config_inhand_right = /datum/greyscale_config/pet_carrier_inhands_right + greyscale_colors = COLOR_BLUE force = 5 attack_verb_continuous = list("bashes", "carries") attack_verb_simple = list("bash", "carry") @@ -19,7 +23,6 @@ throw_range = 3 custom_materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT * 7.5, /datum/material/glass = SMALL_MATERIAL_AMOUNT) interaction_flags_mouse_drop = NEED_DEXTERITY - var/open = TRUE var/locked = FALSE var/list/occupants = list() @@ -147,14 +150,9 @@ if(open) icon_state = initial(icon_state) return ..() - icon_state = "[base_icon_state]_[!occupants.len ? "closed" : "occupied"]" + icon_state = "[base_icon_state]_[!occupants.len ? "closed" : "occupied"]_[locked ? "locked" : "unlocked"]" return ..() -/obj/item/pet_carrier/update_overlays() - . = ..() - if(!open) - . += "[base_icon_state]_[locked ? "" : "un"]locked" - /obj/item/pet_carrier/mouse_drop_dragged(atom/over_atom, mob/user, src_location, over_location, params) if(isopenturf(over_atom) && open && occupants.len) user.visible_message(span_notice("[user] unloads [src]."), \ @@ -202,5 +200,9 @@ base_icon_state = "biopod" icon_state = "biopod_open" inhand_icon_state = "biopod" + greyscale_config = null + greyscale_config_inhand_left = null + greyscale_config_inhand_right = null + greyscale_colors = null #undef pet_carrier_full diff --git a/code/modules/mob/living/basic/pets/cat/cat.dm b/code/modules/mob/living/basic/pets/cat/cat.dm index 7394d1fd5c5..c911fa64c20 100644 --- a/code/modules/mob/living/basic/pets/cat/cat.dm +++ b/code/modules/mob/living/basic/pets/cat/cat.dm @@ -45,6 +45,14 @@ /obj/item/food/deadmouse, /obj/item/food/fishmeat, ) + ///list of pet commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/perform_trick_sequence, + ) + ///item we are currently holding var/obj/item/held_food ///mutable appearance for held item @@ -74,6 +82,7 @@ /mob/living/basic/pet/cat/Initialize(mapload) . = ..() + AddComponent(/datum/component/obeys_commands, pet_commands) AddElement(/datum/element/cultist_pet, pet_cult_icon_state = cult_icon_state) AddElement(/datum/element/wears_collar, collar_icon_state = collar_icon_state, collar_resting_icon_state = TRUE) AddElement(/datum/element/ai_retaliate) @@ -224,3 +233,9 @@ name = "Jerry" desc = "Tom is VERY amused." gender = MALE + +/mob/living/basic/pet/cat/tabby + icon_state = "cat" + icon_living = "cat" + icon_dead = "cat_dead" + held_state = "cat" diff --git a/code/modules/mob/living/basic/pets/cat/cat_ai.dm b/code/modules/mob/living/basic/pets/cat/cat_ai.dm index 8dde1049568..2a2d3204bad 100644 --- a/code/modules/mob/living/basic/pets/cat/cat_ai.dm +++ b/code/modules/mob/living/basic/pets/cat/cat_ai.dm @@ -1,6 +1,7 @@ /datum/ai_controller/basic_controller/cat blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_HOSTILE_MEOWS = list("Mawwww", "Mrewwww", "mhhhhng..."), BB_BABIES_PARTNER_TYPES = list(/mob/living/basic/pet/cat), BB_BABIES_CHILD_TYPES = list(/mob/living/basic/pet/cat/kitten), @@ -9,6 +10,7 @@ ai_movement = /datum/ai_movement/basic_avoidance idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/reside_in_home, /datum/ai_planning_subtree/flee_target/from_flee_key/cat_struggle, /datum/ai_planning_subtree/find_and_hunt_target/hunt_mice, diff --git a/code/modules/mob/living/basic/pets/cat/kitten_ai.dm b/code/modules/mob/living/basic/pets/cat/kitten_ai.dm index b694235a39e..4136aa0aa01 100644 --- a/code/modules/mob/living/basic/pets/cat/kitten_ai.dm +++ b/code/modules/mob/living/basic/pets/cat/kitten_ai.dm @@ -3,10 +3,12 @@ blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, BB_HUNGRY_MEOW = list("mrrp...", "mraw..."), + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_MAX_DISTANCE_TO_FOOD = 2, ) planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/target_retaliate, /datum/ai_planning_subtree/flee_target, /datum/ai_planning_subtree/beg_human, diff --git a/code/modules/mob/living/basic/pets/dog/_dog.dm b/code/modules/mob/living/basic/pets/dog/_dog.dm index 1ff991941d3..35996d4d77c 100644 --- a/code/modules/mob/living/basic/pets/dog/_dog.dm +++ b/code/modules/mob/living/basic/pets/dog/_dog.dm @@ -40,6 +40,7 @@ /datum/pet_command/free, /datum/pet_command/good_boy/dog, /datum/pet_command/follow/dog, + /datum/pet_command/perform_trick_sequence, /datum/pet_command/point_targeting/attack/dog, /datum/pet_command/point_targeting/fetch, /datum/pet_command/play_dead, diff --git a/code/modules/mob/living/basic/pets/fox.dm b/code/modules/mob/living/basic/pets/fox.dm index a442f607158..c45ff27bbc3 100644 --- a/code/modules/mob/living/basic/pets/fox.dm +++ b/code/modules/mob/living/basic/pets/fox.dm @@ -28,9 +28,19 @@ attack_sound = 'sound/items/weapons/bite.ogg' attack_vis_effect = ATTACK_EFFECT_BITE ai_controller = /datum/ai_controller/basic_controller/fox + ///list of our pet commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/point_targeting/attack, + /datum/pet_command/perform_trick_sequence, + ) + /mob/living/basic/pet/fox/Initialize(mapload) . = ..() + AddComponent(/datum/component/obeys_commands, pet_commands) AddElement(/datum/element/cultist_pet) AddElement(/datum/element/wears_collar) AddElement(/datum/element/pet_bonus, "pants and yaps happily!") @@ -42,12 +52,14 @@ blackboard = list( BB_ALWAYS_IGNORE_FACTION = TRUE, BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/of_size/ours_or_smaller, + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_FLEE_TARGETING_STRATEGY = /datum/targeting_strategy/basic, ) ai_movement = /datum/ai_movement/basic_avoidance idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/target_retaliate/to_flee, /datum/ai_planning_subtree/flee_target/from_flee_key, /datum/ai_planning_subtree/simple_find_target/not_while_observed, diff --git a/code/modules/mob/living/basic/pets/parrot/_parrot.dm b/code/modules/mob/living/basic/pets/parrot/_parrot.dm index e61b0522179..e22948848eb 100644 --- a/code/modules/mob/living/basic/pets/parrot/_parrot.dm +++ b/code/modules/mob/living/basic/pets/parrot/_parrot.dm @@ -76,6 +76,13 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( var/static/list/edibles = list( /obj/item/food/cracker, ) + ///list of commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/perform_trick_sequence, + ) /// Tracks the times when we send a phrase through either being pet or attack to ensure it's not abused to flood COOLDOWN_DECLARE(forced_speech_cooldown) @@ -92,7 +99,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( AddElement(/datum/element/simple_flying) AddComponent(/datum/component/listen_and_repeat, desired_phrases = get_static_list_of_phrases(), blackboard_key = BB_PARROT_REPEAT_STRING) AddComponent(/datum/component/tameable, food_types = edibles, tame_chance = 100, bonus_tame_chance = 0) - + AddComponent(/datum/component/obeys_commands, pet_commands) RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attacking)) RegisterSignal(src, COMSIG_MOB_CLICKON, PROC_REF(on_click)) RegisterSignal(src, COMSIG_ATOM_ATTACKBY_SECONDARY, PROC_REF(on_attacked)) // this means we could have a peaceful interaction, like getting a cracker diff --git a/code/modules/mob/living/basic/pets/parrot/parrot_ai/_parrot_controller.dm b/code/modules/mob/living/basic/pets/parrot/parrot_ai/_parrot_controller.dm index 8a0fe5e157d..2d6bccbc703 100644 --- a/code/modules/mob/living/basic/pets/parrot/parrot_ai/_parrot_controller.dm +++ b/code/modules/mob/living/basic/pets/parrot/parrot_ai/_parrot_controller.dm @@ -1,6 +1,7 @@ /datum/ai_controller/basic_controller/parrot blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items, + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_HOARD_LOCATION_RANGE = 9, ) @@ -9,11 +10,12 @@ idle_behavior = /datum/idle_behavior/idle_random_walk/parrot planning_subtrees = list( + /datum/ai_planning_subtree/parrot_as_in_repeat, // always get a witty oneliner in when you can + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/target_retaliate, /datum/ai_planning_subtree/perch_on_target, /datum/ai_planning_subtree/basic_melee_attack_subtree, /datum/ai_planning_subtree/hoard_items, - /datum/ai_planning_subtree/parrot_as_in_repeat, // always get a witty oneliner in when you can ) /datum/idle_behavior/idle_random_walk/parrot diff --git a/code/modules/mob/living/basic/pets/pet_designer.dm b/code/modules/mob/living/basic/pets/pet_designer.dm new file mode 100644 index 00000000000..a0cc7ca4018 --- /dev/null +++ b/code/modules/mob/living/basic/pets/pet_designer.dm @@ -0,0 +1,205 @@ +#define PET_OPTION_DOG "Dog" +#define PET_OPTION_CAT "Cat" +#define PET_OPTION_FOX "Fox" +#define PET_OPTION_VERMIN "Vermin" +#define PET_OPTION_BIRD "Bird" + +GLOBAL_LIST_INIT(pet_options, list( + PET_OPTION_DOG = list( + /mob/living/basic/pet/dog/corgi, + /mob/living/basic/pet/dog/pug, + /mob/living/basic/pet/dog/bullterrier, + /mob/living/basic/pet/dog/corgi/puppy, + /mob/living/basic/pet/dog/corgi/exoticcorgi, + ), + PET_OPTION_CAT = list( + /mob/living/basic/pet/cat/tabby, + /mob/living/basic/pet/cat, + /mob/living/basic/pet/cat/kitten, + ), + PET_OPTION_FOX = list( + /mob/living/basic/pet/fox, + ), + PET_OPTION_VERMIN = list( + /mob/living/basic/mothroach, + /mob/living/basic/spider/maintenance, + /mob/living/basic/mouse, + ), + PET_OPTION_BIRD = list( + /mob/living/basic/parrot, + ), +)) + +/datum/pet_customization + ///our selected path type + var/mob/living/basic/selected_path = /mob/living/basic/pet/dog/corgi + ///current selected specie + var/pet_specie = PET_OPTION_DOG + ///custom name to apply to our pet + var/custom_name + ///type of pet carrier to give our pet + var/pet_carrier_path + ///pet collar color to give our pet + var/pet_collar_type + ///our pet's gender + var/pet_gender = MALE + ///trick name of our pet! + var/pet_trick_name = "Trick" + ///our pet's trick moves + var/list/pet_trick_moves + ///our selected carrier + var/pet_carrier + ///our cached pet carrier icons + var/static/list/custom_pet_carriers + ///possible emotes our pet can run + var/static/list/pet_possible_emotes = list( + /datum/emote/flip, + /datum/emote/jump, + /datum/emote/spin, + ) + ///list of carrier colors we can pick from + var/static/list/possible_colors = list( + "Blue" = COLOR_BLUE, + "Red" = COLOR_RED, + "Yellow" = COLOR_YELLOW, + "Green" = COLOR_GREEN, + ) + +/datum/pet_customization/New(client/player_client) + . = ..() + if(isnull(custom_pet_carriers)) + custom_pet_carriers = setup_pet_carriers() + pet_carrier = possible_colors[1] + GLOB.customized_pets[REF(player_client)] = src + +/datum/pet_customization/proc/setup_pet_carriers() + var/list/list_to_return = list() + + var/obj/item/pet_carrier/demo_carrier = new() + demo_carrier.open = FALSE + demo_carrier.update_appearance() + + for(var/color in possible_colors) + demo_carrier.set_greyscale(possible_colors[color]) + list_to_return[color] = icon2base64(getFlatIcon(demo_carrier)) + qdel(demo_carrier) + return list_to_return + +/datum/pet_customization/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "PetBuilder") + ui.open() + +/datum/pet_customization/ui_data(mob/user) + var/list/data = list() + data["pet_name"] = custom_name + data["pet_path"] = selected_path + data["pet_gender"] = pet_gender + data["pet_trick_name"] = pet_trick_name + data["pet_specie"] = pet_specie + data["pet_types"] = list() + data["pet_options"] = list() + for(var/pet_option in GLOB.pet_options) + data["pet_types"] += pet_option + data["pet_options"] += retrieve_pet_options(pet_option, GLOB.pet_options[pet_option]) + data["pet_carrier"] = pet_carrier + + data["carrier_options"] = list() + for(var/carrier_option in custom_pet_carriers) + data["carrier_options"] += list(list( + "carrier_color" = carrier_option, + "carrier_icon" = custom_pet_carriers[carrier_option], + )) + + data["pet_possible_emotes"] = list() + for(var/datum/emote/emote as anything in pet_possible_emotes) + data["pet_possible_emotes"] += emote.key + + return data + +/datum/pet_customization/ui_state(mob/user) + return GLOB.always_state + +/datum/pet_customization/proc/retrieve_pet_options(pet_specie, list/input_list) + var/list/pet_options = list() + for(var/mob/living/pet_type as anything in input_list) + pet_options += list(list( + "pet_specie" = pet_specie, + "pet_name" = pet_type::name, + "pet_icon" = pet_type:icon, + "pet_path" = pet_type, + "pet_icon_state" = pet_type::icon_state, + )) + return pet_options + +/datum/pet_customization/ui_act(action, params, datum/tgui/ui) + . = ..() + switch(action) + if("finalize_pet") + + var/pet_type = text2path(params["selected_path"]) + for(var/pet_category in GLOB.pet_options) + var/list/pet_list = GLOB.pet_options[pet_category] + if(pet_list.Find(pet_type)) + selected_path = pet_type + break + + var/trick_name = params["selected_trick_name"] + if(trick_name && sanitize_name(trick_name)) + pet_trick_name = trick_name + + var/pet_name = params["selected_pet_name"] + if(pet_name && sanitize_name(pet_name)) + custom_name = pet_name + + switch(params["selected_gender"]) + if("male") + pet_gender = MALE + if("female") + pet_gender = FEMALE + if("neuter") + pet_gender = NEUTER + + var/list/trick_moves = params["selected_trick_moves"] + if(length(trick_moves)) + pet_trick_moves = trick_moves + + var/selected_color = params["selected_carrier"] + if(!isnull(selected_color)) + pet_carrier = selected_color + + var/selected_specie = params["selected_specie"] + if(!isnull(selected_specie)) + pet_specie = selected_specie + ui.close() + + return TRUE + +/datum/pet_customization/proc/create_pet(mob/living/spawned, client/player_client) + var/obj/item/pet_carrier/carrier = new(get_turf(spawned)) + carrier.open = FALSE + carrier.update_appearance() + var/final_color = possible_colors[pet_carrier] || COLOR_BLUE + carrier.set_greyscale(final_color) + var/mob/living/our_pet = new selected_path(get_turf(spawned)) //spawning these in nullspace leads to runtimes + our_pet.gender = pet_gender + + if(custom_name) + our_pet.fully_replace_character_name(our_pet.name, custom_name) + + if(pet_trick_name) + our_pet.ai_controller.set_blackboard_key(BB_TRICK_NAME, pet_trick_name) + if(pet_trick_moves) + our_pet.ai_controller.override_blackboard_key(BB_TRICK_SEQUENCE, pet_trick_moves) + our_pet.befriend(spawned) + carrier.add_occupant(our_pet) + spawned.put_in_hands(carrier, forced = TRUE) + GLOB.customized_pets -= REF(player_client) + qdel(src) + +#undef PET_OPTION_DOG +#undef PET_OPTION_CAT +#undef PET_OPTION_FOX +#undef PET_OPTION_VERMIN +#undef PET_OPTION_BIRD diff --git a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.dm b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.dm index ae971fd2558..18ae6fc3e75 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.dm @@ -44,11 +44,13 @@ /datum/ai_controller/basic_controller/giant_spider/pest blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/of_size/ours_or_smaller, // Hunt mobs our size + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_FLEE_TARGETING_STRATEGY = /datum/targeting_strategy/basic/of_size/larger, // Run away from mobs bigger than we are ) idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/target_retaliate/to_flee, /datum/ai_planning_subtree/flee_target/from_flee_key, /datum/ai_planning_subtree/simple_find_target, diff --git a/code/modules/mob/living/basic/space_fauna/spider/spider.dm b/code/modules/mob/living/basic/space_fauna/spider/spider.dm index 118487f0383..9f94d839a76 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/spider.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/spider.dm @@ -171,10 +171,18 @@ response_harm_simple = "splat" ai_controller = /datum/ai_controller/basic_controller/giant_spider/pest apply_spider_antag = FALSE + ///list of pet commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/perform_trick_sequence, + ) /mob/living/basic/spider/maintenance/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) AddElement(/datum/element/web_walker, /datum/movespeed_modifier/average_web) AddElement(/datum/element/ai_retaliate) + AddComponent(/datum/component/obeys_commands, pet_commands) AddElement(/datum/element/tiny_mob_hunter) diff --git a/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm b/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm index 9659408b8b1..d0605d4dc93 100644 --- a/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm +++ b/code/modules/mob/living/basic/vermin/mothroach/mothroach.dm @@ -33,11 +33,19 @@ faction = list(FACTION_NEUTRAL) ai_controller = /datum/ai_controller/basic_controller/mothroach + ///list of pet commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/perform_trick_sequence, + ) /mob/living/basic/mothroach/Initialize(mapload) . = ..() var/static/list/food_types = list(/obj/item/clothing) AddElement(/datum/element/basic_eating, food_types = food_types) + AddComponent(/datum/component/obeys_commands, pet_commands) ai_controller.set_blackboard_key(BB_BASIC_FOODS, typecacheof(food_types)) AddElement(/datum/element/ai_retaliate) AddElement(/datum/element/pet_bonus, "squeaks happily!") diff --git a/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm b/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm index 5801d183215..bed72a98239 100644 --- a/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm +++ b/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm @@ -3,6 +3,7 @@ /datum/ai_controller/basic_controller/mothroach blackboard = list( BB_FLEE_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items, ) @@ -10,6 +11,7 @@ ai_movement = /datum/ai_movement/basic_avoidance idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/find_food/mothroach, /datum/ai_planning_subtree/target_retaliate/to_flee, /datum/ai_planning_subtree/flee_target/from_flee_key, diff --git a/code/modules/mob/living/basic/vermin/mouse.dm b/code/modules/mob/living/basic/vermin/mouse.dm index cb62ad956f9..aba7c00d4c7 100644 --- a/code/modules/mob/living/basic/vermin/mouse.dm +++ b/code/modules/mob/living/basic/vermin/mouse.dm @@ -36,6 +36,13 @@ var/contributes_to_ratcap = TRUE /// Probability that, if we successfully bite a shocked cable, that we will die to it. var/cable_zap_prob = 85 + ///list of pet commands we follow + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/perform_trick_sequence, + ) /mob/living/basic/mouse/Initialize(mapload, tame = FALSE, new_body_color) . = ..() @@ -55,6 +62,7 @@ var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) + AddComponent(/datum/component/obeys_commands, pet_commands) AddElement(/datum/element/connect_loc, loc_connections) make_tameable() AddComponent(/datum/component/swarming, 16, 16) //max_x, max_y @@ -383,9 +391,8 @@ /// The mouse AI controller /datum/ai_controller/basic_controller/mouse blackboard = list( // Always cowardly - BB_CURRENT_HUNTING_TARGET = null, // cheese - BB_LOW_PRIORITY_HUNTING_TARGET = null, // cable BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, // Use this to find people to run away from + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_BASIC_MOB_FLEE_DISTANCE = 3, ) @@ -393,6 +400,7 @@ ai_movement = /datum/ai_movement/basic_avoidance idle_behavior = /datum/idle_behavior/idle_random_walk planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, // Top priority is to look for and execute hunts for cheese even if someone is looking at us /datum/ai_planning_subtree/find_and_hunt_target/look_for_cheese, // Next priority is see if anyone is looking at us diff --git a/icons/hud/lobby/signup_button.dmi b/icons/hud/lobby/signup_button.dmi index e015fa71948a3248d4dfe901369b5d41677e22a2..26d32e9af83846b05c8e43ce9e69dd9c6e072230 100644 GIT binary patch literal 2723 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 a75@WsHFbBc>&N{70000J+d diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index ebcfea59675966fad949d6904be1d9432a9b5493..f38ce00161941c3b36fb24d4a39d60e9340a7708 100644 GIT binary patch literal 32386 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 CN}H!|`_(Dh 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 literal 30977 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

LJGVDJ!bMO-w?}54qROXpuq?q3 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 LT`#%n@a$gzCBAo- diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index b8fd65ec0720660f2ba934bd391fedb05a8f28b9..4639b290fe3713a3c86cc6e2286b9c1b38be3593 100644 GIT binary patch literal 35108 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 Z-Fot^!282@=fh?fqGNQk;;%=q{u@KfLFoVh literal 31053 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 G?*9)kejdgE diff --git a/icons/obj/pet_carrier.dmi b/icons/obj/pet_carrier.dmi index 0a2b4f6c430e907d5e1abe8d2437c5b32b33f3bf..366fddd414412bce304c1778ef63f0536c69c5fd 100644 GIT binary patch delta 3461 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 @@ -27,8 +34,8 @@ export function IconDisplay(props: Props) { fallback={fallback} icon={icon} icon_state={icon_state} - height={3} - width={3} + height={height} + width={width} /> ); } diff --git a/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx b/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx index 3fb94324b6a..b4fafcf5703 100644 --- a/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx +++ b/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx @@ -56,7 +56,7 @@ export function LootBox(props: Props) { }); }} > - + {amount > 1 &&

{amount}
} {!is_blind && {name}} diff --git a/tgui/packages/tgui/interfaces/PetBuilder.tsx b/tgui/packages/tgui/interfaces/PetBuilder.tsx new file mode 100644 index 00000000000..289281ade7f --- /dev/null +++ b/tgui/packages/tgui/interfaces/PetBuilder.tsx @@ -0,0 +1,431 @@ +import { useState } from 'react'; + +import { useBackend } from '../backend'; +import { + Box, + Button, + Dropdown, + Flex, + Icon, + Image, + Input, + LabeledList, + Section, + Stack, +} from '../components'; +import { Window } from '../layouts'; +import { IconDisplay } from './LootPanel/IconDisplay'; +type Data = { + pet_name: string | null; + pet_specie: string; + pet_path: string; + pet_gender: string; + pet_types: string[]; + pet_trick_name: string; + pet_options: PetOptions[]; + pet_carrier: string; + carrier_options: CarrierOptions[]; + pet_possible_emotes: String[]; +}; + +enum PetGender { + male = 'male', + female = 'female', + neuter = 'neuter', +} + +type CarrierOptions = { + carrier_color: string; + carrier_icon: string; +}; + +type PetOptions = { + pet_specie: string; + pet_name: string; + pet_icon: string; + pet_path: string; + pet_icon_state: string; +}; + +const RetrievePet = (pet_path: string, pet_options: PetOptions[]) => { + return pet_options.find((option) => option.pet_path === pet_path); +}; + +const RetrieveCarrier = (color: string, carrier_options: CarrierOptions[]) => { + return carrier_options.find((option) => option.carrier_color === color); +}; + +const FilterPetList = (pet_specie: string, pet_options: PetOptions[]) => { + return pet_options.filter((pet) => pet.pet_specie === pet_specie); +}; + +export const PetBuilder = (props) => { + const { act, data } = useBackend(); + const { + pet_name, + pet_path, + pet_gender, + pet_options, + pet_types, + pet_specie, + pet_trick_name, + carrier_options, + pet_carrier, + pet_possible_emotes, + } = data; + + const [selectedCarrier, setSelectedCarrier] = useState( + () => RetrieveCarrier(pet_carrier, carrier_options) || null, + ); + const [sequences, setSequences] = useState(['none', 'none', 'none']); + const [TrickName, setTrickName] = useState(pet_trick_name); + + const UpdateSequence = (Index: number, Trick: string) => { + const NewSequence = [...sequences]; + NewSequence[Index] = Trick; + setSequences(NewSequence); + }; + + const [selectedPath, setSelectedPath] = useState(pet_path); + const [selectedPet, setSelectedPet] = useState( + () => RetrievePet(selectedPath, pet_options) || null, + ); + const [selectedSpecie, setSelectedSpecie] = useState(pet_specie); + const [filteredPetList, setFilteredPetList] = useState( + () => FilterPetList(selectedSpecie, pet_options) || [], + ); + const [selectedName, setSelectedName] = useState(pet_name); + const [selectedGender, setSelectedGender] = useState(pet_gender); + + const ScrollPetSpecies = (direction: string) => { + let dir = direction === 'next' ? 1 : -1; + let currindex = pet_types.indexOf(selectedSpecie); + const newSpecie = + pet_types[(currindex + dir + pet_types.length) % pet_types.length]; + + const newFilteredPetList = FilterPetList(newSpecie, pet_options); + setSelectedSpecie(newSpecie); + setFilteredPetList(newFilteredPetList); + setSelectedPet(newFilteredPetList[0]); + }; + + const ScrollPetOptions = (direction: string) => { + if (!selectedPet) { + return; + } + let dir = direction === 'next' ? 1 : -1; + let currindex = filteredPetList.indexOf(selectedPet); + setSelectedPet( + filteredPetList[ + (currindex + dir + filteredPetList.length) % filteredPetList.length + ], + ); + }; + + return ( + + + + + + + + + +
+ +
+
+
+
+ +
+ + + + + + + + + +
+
+
+
+
+ ); +}; + +const PetSelector = ({ + selectedSpecie, + selectedPet, + pet_types, + ScrollPetSpecies, + ScrollPetOptions, +}: any) => ( +
+ + + + +
+); + +const PetDetails = ({ + selectedName, + setSelectedName, + selectedGender, + setSelectedGender, +}: any) => ( + + + + + Pet Name + + setSelectedName(value)} + style={{ borderRadius: '1em' }} + /> + + + + + + + + + + Pet Gender + + + +