Cats & Dogs

The Sims 4: Code Found for Pets Expansion Pack

Update #3: The following code was found in the sim_info_types Python file, which, unfortunately, further pushes the theory that horses won’t be included in the pack.

class Species(enum.Int):
__qualname__ = ‘Species’
DOG = 2
CAT = 3

class SpeciesExtended(Species):
__qualname__ = ‘SpeciesExtended’

def get_animation_species_param(value):
if value == SpeciesExtended.HUMAN:
return ‘human’
if value == SpeciesExtended.DOG:
return ‘dog’
if value == SpeciesExtended.CAT:
return ‘cat’
if value == SpeciesExtended.SMALLDOG:
return ‘smalldog’
return ”

def get_species(value):
if value == SpeciesExtended.SMALLDOG:
return Species.DOG
return value

The above code contains the core enum (for those not familiar with code, it’s basically a list of named values) which contains all species, and horses aren’t included in it at all. However, as mentioned previously, it’s possible that the code is incomplete.

Update #2: There doesn’t appear to be any references to horses outside the two state machine files mentioned in update #1. Unfortunately, this means it’s possible horses were originally planned, but then scrapped. There are several other mentions of dogs and cats, but there’s not much that confirms new information. There is code suggesting pets can be picked up by Sims, similar to toddlers, but nothing massively amazing.

It’s possible horses will come and the code is just incomplete, we’ll just have to wait and see. Don’t get your hopes up too much though!

Update #1: Two “State Machine” resources (tuning related to animations) contain references to dogs, cats and even horses. Yep, looks like horses are returning! It also makes the distinction between small dogs and large dogs.

The first few lines of the “JumpOnObject” state machine:

<ASM name=”JumpOnObject” dcc=”sage”>
<Actor name=”x” type=”Sim” master=”true” virtual=”false” />
<Parameter name=”x:age” type=”enum” labels=”baby,child,teen,youngadult,adult,elder” default=”adult” />
<Parameter name=”x:sex” type=”enum” labels=”male,female” default=”male” />
<Parameter name=”x:species” type=”enum” labels=”cat,dog,horse,human” default=”cat” />
<Parameter name=”x:JumpDistance” type=”float” labels=”” default=”1″ />
<Parameter name=”x:JumpHeight” type=”float” labels=”” default=”1″ />
<Parameter name=”x:JumpRatio” type=”float” labels=”” default=”1″ />

The “sitNextTo_Posture” differentiates small dogs from large dogs, but doesn’t mention horses:

<Parameter name=”x:species” template=”species” type=”enum” labels=”human,dog,smalldog,cat” default=”human” />

Today’s content update, which introduces toddlers to The Sims 4, also brings code updates that heavily points to a Pets expansion pack. In the XML resource “relationships.relationship_tracker_tuning”, there is XML code that explicitly mentions cats and dogs.

<C n=”DefaultGenealogyLink”>
<L n=”_elements”>
<T ev=”3″>Alien Pollinator</T>
<T ev=”4″>Cat_Owned</T>
<T ev=”5″>Cat_Owner</T>
<T ev=”6″>Dog_Owned</T>
<T ev=”7″>Dog_Owner</T>

<U />
<E n=”genealogy_link”>Cat_Owner</E>
<E n=”species_actor”>CAT</E>
<E n=”genealogy_link”>Cat_Owned</E>
<E n=”species_target”>CAT</E>
<E n=”genealogy_link”>Dog_Owner</E>
<E n=”species_actor”>DOG</E>
<E n=”genealogy_link”>Dog_Owned</E>
<E n=”species_target”>DOG</E>


In addition to this major hint, interactions, traits, and sim filters have all been updated with a “species” option.

About the author

Zerbu Tabek

I have an interest in computers and technology, and have been learning programming since I was as young as 12. Years down the line, I learned other coding and programming languages, both used online and offline. Now, I have combined my programming ability with my love of The Sims to become a modder.