Skip to content

Commit

Permalink
Adds a fennec pet (#1695)
Browse files Browse the repository at this point in the history
* Adds a fennec mob

fennec!

* Adds a fennec crate as well

* Update modular_nova/master_files/code/modules/mob/living/simple_animal/friendly/fennec.dm

Co-authored-by: Bloop <[email protected]>

* Update modular_nova/master_files/code/modules/mob/living/simple_animal/friendly/fennec.dm

Co-authored-by: Bloop <[email protected]>

* Turns the fennec into a fox subtype instead

* Adds a missing breeding component & hunt sprites

* Fixes a little merging error.

---------

Co-authored-by: Bloop <[email protected]>
  • Loading branch information
2 people authored and StealsThePRs committed Mar 30, 2024
1 parent 76bb290 commit 5112f3d
Show file tree
Hide file tree
Showing 8 changed files with 73 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/mob/living/basic/pet/cat/fennec
name = "fennec fox"
desc = "Vulpes Zerda. Also known as a Goob or a Dingler."
icon = 'modular_nova/master_files/icons/mob/pets.dmi'
icon_state = "fennec"
icon_living = "fennec"
icon_dead = "fennec_dead"
held_lh = 'modular_nova/master_files/icons/mob/inhands/pets_held_lh.dmi'
held_rh = 'modular_nova/master_files/icons/mob/inhands/pets_held_rh.dmi'
head_icon = 'modular_nova/master_files/icons/mob/clothing/head/pets_head.dmi'
speak_emote = list("screms", "squeaks", "rrrfs")
butcher_results = list(
/obj/item/food/meat/slab = 1,
)
collar_icon_state = null
has_collar_resting_icon_state = FALSE
can_be_held = TRUE
worn_slot_flags = ITEM_SLOT_HEAD
held_state = "fennec"
ai_controller = /datum/ai_controller/basic_controller/cat/fennec

/mob/living/basic/pet/cat/fennec/update_overlays()
. = ..()
if(stat == DEAD || resting || !held_food)
return
if(istype(held_food, /obj/item/fish))
held_item_overlay = mutable_appearance(icon, "fennec_fish_overlay")
if(istype(held_food, /obj/item/food/deadmouse))
held_item_overlay = mutable_appearance(icon, "fennec_mouse_overlay")
. += held_item_overlay

/datum/ai_planning_subtree/random_speech/fennecs
speech_chance = 5
speak = list(
"screm!",
"rrrrf!",
"screech!",
"aaaaaa!",
"squeak!",
"yip!",
"squee!",
)

/datum/ai_controller/basic_controller/cat/fennec
planning_subtrees = list(
/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,
/datum/ai_planning_subtree/find_and_hunt_target/find_cat_food,
/datum/ai_planning_subtree/simple_find_target,
/datum/ai_planning_subtree/haul_food_to_young,
/datum/ai_planning_subtree/territorial_struggle,
/datum/ai_planning_subtree/make_babies,
/datum/ai_planning_subtree/random_speech/fennecs,
)

/mob/living/basic/pet/cat/fennec/add_breeding_component()
AddComponent(\
/datum/component/breed,\
can_breed_with = typecacheof(list(/mob/living/basic/pet/cat/fennec)),\
baby_path = /mob/living/basic/pet/cat/fennec,\
)
Binary file not shown.
Binary file modified modular_nova/master_files/icons/mob/inhands/pets_held_lh.dmi
Binary file not shown.
Binary file modified modular_nova/master_files/icons/mob/inhands/pets_held_rh.dmi
Binary file not shown.
Binary file modified modular_nova/master_files/icons/mob/pets.dmi
Binary file not shown.
9 changes: 9 additions & 0 deletions modular_nova/modules/cargo/code/packs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,15 @@
for(var/i in 1 to 3)
new /mob/living/basic/pet/chinchilla(.)

/datum/supply_pack/critter/fennec
name = "Fennec Crate"
desc = "For when you need someone that can really listen to you. \
Contains two fennecs. \
Warning, does not mean the fennecs will actually listen to you."
cost = CARGO_CRATE_VALUE * 7
contains = list(/mob/living/basic/pet/cat/fennec = 2)
crate_name = "fennec crate"

/*
* MEDICAL
*/
Expand Down
1 change: 1 addition & 0 deletions modular_nova/modules/pet_owner/pet_owner.dm
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ GLOBAL_LIST_INIT(possible_player_pet, list(
"Crab" = /mob/living/basic/crab,
"Deer" = /mob/living/basic/deer,
"Dobermann" = /mob/living/basic/pet/dog/dobermann,
"Fennec" = /mob/living/basic/pet/cat/fennec,
"Fox" = /mob/living/basic/pet/fox/docile,
"Frog" = /mob/living/basic/frog,
"Giant ant" = /mob/living/basic/ant,
Expand Down
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -6579,6 +6579,7 @@
#include "modular_nova\master_files\code\modules\mob\living\simple_animal\simple_animal.dm"
#include "modular_nova\master_files\code\modules\mob\living\simple_animal\friendly\bumbles.dm"
#include "modular_nova\master_files\code\modules\mob\living\simple_animal\friendly\dogs.dm"
#include "modular_nova\master_files\code\modules\mob\living\simple_animal\friendly\fennec.dm"
#include "modular_nova\master_files\code\modules\mob\living\simple_animal\friendly\poppy.dm"
#include "modular_nova\master_files\code\modules\mob\living\simple_animal\friendly\syndicatefox.dm"
#include "modular_nova\master_files\code\modules\mob\living\simple_animal\hostile\bubblegum.dm"
Expand Down

0 comments on commit 5112f3d

Please sign in to comment.