new Pet(owner, name, species [, petClass])
        Contains information about a single user's pet.
    
    
    
    
    
    
        Parameters:
| Name | Type | Argument | Default | Description | 
|---|---|---|---|---|
| owner | string | ID of the user that owns this pet. | ||
| name | string | The name of this pet. | ||
| species | string | The species of this pet. | ||
| petClass | string | <optional> <nullable> | null | The class name of this pet or null for none. | 
- Source:
Members
- 
    <private> _lastInteractTime :number
- 
    
    The timestamp at which this object was last interacted with. This is used for purging from memory when not used for a while.Type:- number
 - Default Value:
- 
		- Date.now()
 
- Source:
 
- 
    attackMod :number
- 
    
    Attack modifier on top of base species stat.Type:- number
 - Source:
 
- 
    defenseMod :number
- 
    
    Defense modifier on top of base species stat.Type:- number
 - Source:
 
- 
    healthMod :number
- 
    
    Health modifier on top of base species stat.Type:- number
 - Source:
 
- 
    id :string
- 
    
    The ID of this pet. Does not check for uniqueness, but expects the ID to be unique per-user.Type:- string
 - Source:
 
- 
    lives :number
- 
    
    Current number of lives remaining.Type:- number
 - Default Value:
- 
		- 3
 
- Source:
 
- 
    name :string
- 
    
    The name of this pet.Type:- string
 - Source:
 
- 
    numPoints
- 
    
    Get the number of remaining points available to spend on modifiers.- Source:
 
- 
    owner :string
- 
    
    ID of the owner of this pet.Type:- string
 - Source:
 
- 
    <nullable> petClass :string
- 
    
    The character class for this pet.Type:- string
 - Source:
 
- 
    restStartTimestamp :number
- 
    
    Timestamp at most recent time the pet has begun resting. Used for regenerating lives.Type:- number
 - Source:
 
- 
    serializable
- 
    
    Get a serializable version of this class instance. Strips all private variables, and all functions. Assumes all public variables are serializable if they aren't a function.- Source:
 
- 
    species :string
- 
    
    The species ID of this pet.Type:- string
 - Source:
 
- 
    speedMod :number
- 
    
    Speed modifier on top of base species stat.Type:- number
 - Source:
 
- 
    xp :number
- 
    
    The number of experience points this pet has.Type:- number
 - Source:
 
Methods
- 
    <static> from(obj)
- 
    
    Create a Pet from a Pet-like Object. Similar to copy-constructor.Parameters:Name Type Description objobject The Pet-like object to copy. - Source:
 Returns:Created Pet object.- Type
- Pet
 
- 
    <static> getLevel(xp)
- 
    
    Get the level number for the given amount of XP. Uses Pets~Pet.levelXP to calculate.Parameters:Name Type Description xpnumber The amount of XP to find the level number for. - Source:
 Returns:The level number for the amount of XP.- Type
- number
 
- 
    <static> levelXP(level)
- 
    
    Calculate the required amount of XP for the given level. This function provides a very steep curve for levelling up. This is to help prevent extremely high leveled characters, and to encourage players to play a lot in order to level up. This is attempting to follow the similar structure to D&D since I wish to have a similar timeline for character development and play speed (characters can last for months and take weeks to level up).Parameters:Name Type Description levelnumber The level number to calculate the required XP for. - Source:
 Returns:XP required to be the given level.- Type
- number
 
- 
    addXP(xp [, auto])
- 
    
    Add XP to the pet, and trigger any level-up actions that may need to occur.Parameters:Name Type Argument Default Description xpnumber Amount of XP to add. autoboolean <optional> 
 false Auto level up after adding XP. - Source:
 
- 
    autoLevelUp()
- 
    
    Automatically spend all remaining modifier points automatically until all are used up.- Source:
 
- 
    lostBattle()
- 
    
    Signal this pet just lost a battle, and update accordingly.- Source:
 
- 
    spendPoint(category [, num])
- 
    
    Spend points on a given modifier.Parameters:Name Type Argument Default Description categorystring The name of the modifier to spend the points on. numnumber <optional> 
 1 The number of points to spend. - Source:
 
- 
    touch()
- 
    
    Touch this object to update the last `_lastInteractTime`.- Source:
 
- 
    wonBattle()
- 
    
    Signal this pet just won a battle, and update accordingly.- Source: