-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bring Your Pet to Work Day (Veteran Quirk) (#25142)
* add pet owner quirk * add mini pet carrier * alphabetize and fix carrier * fix parrot typepath * remove rare/dangerous animals * Fixing this merge conflict for you merry thanksgiving --------- Co-authored-by: Giz <[email protected]>
- Loading branch information
1 parent
87a3362
commit c505066
Showing
6 changed files
with
106 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
/datum/quirk/item_quirk/pet_owner | ||
name = "Pet Owner" | ||
desc = "You bring your pet to work with you so that it, too, can experience the dangers of station life." | ||
icon = FA_ICON_HORSE | ||
value = 4 | ||
mob_trait = TRAIT_PET_OWNER | ||
veteran_only = TRUE | ||
gain_text = span_notice("You brought your pet with you to work.") | ||
lose_text = span_danger("You feel lonely, as if leaving somebody behind...") | ||
medical_record_text = "Patient mentions their fondness for their pet." | ||
mail_goodies = list( | ||
/obj/item/clothing/neck/petcollar | ||
) | ||
var/pet_type = NONE | ||
|
||
/datum/quirk_constant_data/pet_owner | ||
associated_typepath = /datum/quirk/item_quirk/pet_owner | ||
customization_options = list(/datum/preference/choiced/pet_owner) | ||
|
||
/datum/quirk/item_quirk/pet_owner/add_unique(client/client_source) | ||
var/desired_pet = client_source?.prefs.read_preference(/datum/preference/choiced/pet_owner) || "Random" | ||
|
||
if(desired_pet != "Random") | ||
pet_type = GLOB.possible_player_pet[desired_pet] | ||
|
||
if(pet_type == NONE) // Pet not set, we're picking one for them. | ||
pet_type = pick(flatten_list(GLOB.possible_player_pet)) | ||
|
||
var/obj/item/pet_carrier/carrier = new /obj/item/pet_carrier(get_turf(quirk_holder)) | ||
var/mob/living/simple_animal/pet/pet = new pet_type(carrier) | ||
carrier.add_occupant(pet) | ||
give_item_to_holder( | ||
carrier, | ||
list( | ||
LOCATION_HANDS = ITEM_SLOT_HANDS | ||
), | ||
flavour_text = "Looks tightly packed - you might not be able to put the pet back in once they're out.", | ||
) | ||
|
||
/datum/preference/choiced/pet_owner | ||
category = PREFERENCE_CATEGORY_MANUALLY_RENDERED | ||
savefile_key = "pet_owner" | ||
savefile_identifier = PREFERENCE_CHARACTER | ||
can_randomize = FALSE | ||
|
||
GLOBAL_LIST_INIT(possible_player_pet, list( | ||
"Axolotl" = /mob/living/basic/axolotl, | ||
"Baby Penguin" = /mob/living/basic/pet/penguin/baby/permanent, | ||
"Bat" = /mob/living/basic/bat, | ||
"Bull terrier" = /mob/living/basic/pet/dog/bullterrier, | ||
"Butterfly" = /mob/living/basic/butterfly, | ||
"Cat" = /mob/living/simple_animal/pet/cat, | ||
"Chick" = /mob/living/basic/chick/permanent, | ||
"Chicken" = /mob/living/basic/chicken, | ||
"Chinchilla (dark)" = /mob/living/basic/pet/chinchilla/black, | ||
"Chinchilla (white)" = /mob/living/basic/pet/chinchilla/white, | ||
"Corgi" = /mob/living/basic/pet/dog/corgi, | ||
"Corgi puppy" = /mob/living/basic/pet/dog/corgi/puppy, | ||
"Cockroach" = /mob/living/basic/cockroach, | ||
"Crab" = /mob/living/basic/crab, | ||
"Deer" = /mob/living/basic/deer, | ||
"Dobermann" = /mob/living/basic/pet/dog/dobermann, | ||
"Fox" = /mob/living/basic/pet/fox/docile, | ||
"Frog" = /mob/living/basic/frog, | ||
"Giant ant" = /mob/living/basic/ant, | ||
"Kitten" = /mob/living/simple_animal/pet/cat/kitten, | ||
"Kiwi" = /mob/living/basic/kiwi, | ||
"Mothroach" = /mob/living/basic/mothroach, | ||
"Mouse (white)" = /mob/living/basic/mouse/white, | ||
"Mouse (gray)" = /mob/living/basic/mouse/gray, | ||
"Mouse (brown)" = /mob/living/basic/mouse/brown, | ||
"Penguin" = /mob/living/basic/pet/penguin/emperor/neuter, | ||
"Pig" = /mob/living/basic/pig, | ||
"Pug" = /mob/living/basic/pet/dog/pug, | ||
"Rabbit" = /mob/living/basic/rabbit, | ||
"Sloth" = /mob/living/basic/sloth, | ||
"Snake" = /mob/living/basic/snake, | ||
"Spider" = /mob/living/basic/spider/maintenance, | ||
"Tegu" = /mob/living/basic/lizard/tegu, | ||
)) //some of these are too big to be put back into the pet carrier once taken out, so I put a warning on the carrier. | ||
|
||
/datum/preference/choiced/pet_owner/init_possible_values() | ||
return list("Random") + assoc_to_keys(GLOB.possible_player_pet) | ||
|
||
/datum/preference/choiced/pet_owner/create_default_value() | ||
return "Random" | ||
|
||
/datum/preference/choiced/pet_owner/is_accessible(datum/preferences/preferences) | ||
if (!..()) | ||
return FALSE | ||
|
||
return "Pet Owner" in preferences.all_quirks | ||
|
||
/datum/preference/choiced/pet_owner/apply_to_human(mob/living/carbon/human/target, value) | ||
return |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 6 additions & 0 deletions
6
...nterfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/pet_owner.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
import { FeatureChoiced, FeatureDropdownInput } from '../../base'; | ||
|
||
export const pet_owner: FeatureChoiced = { | ||
name: 'Pet Owner', | ||
component: FeatureDropdownInput, | ||
}; |