Entity class that includes stats/status system. Note: We're assuming something with stats is also movable!

Hierarchy

Implements

Constructors

Properties

Accessors

Methods

addMarkerIcon addReferenceId addTag animate animateAttack animateBumpTowards animateSpawn asNot asType canInspect canSeeObject canSeePosition canSeeTile canSwapWith canTarget checkCreatureMove checkForBurn checkUnder clearTileCache damage findPath getActiveStatuses getApplicableStatuses getAttackOutcome getCommandedAiType getData getDefense getDescription getEnemy getHitchingPostsAround getMoveType getMovementDelay getMovementPoint getMovementProgress getName getOwner getProducedTemperature getStatus getStatusLevel getStatuses getVehicle getWanderChance getWanderHomePoint getWanderHomeRadius getWanderIdleChance getWanderNewDirectionChance hasData hasStatus hasTag increaseMaxHealth increasePettedCount increaseTamedCount increaseWaste initializeAi initializeStats initializeStatuses isContainer isCorpse isCreature isDoodad isEntity isHuman isItem isNPC isNearby isPlayer isTile isTileEvent isVehicleAllowedOnTile load moveTo moveToIsland notifyItem notifyStat offer onMovementCompleted onStatChange onUnserialized overrideNextMovement processAttack processSpecialAbilities queueSoundEffect queueSoundEffectInFront refreshStatuses release removeData removeMarkerIcon removeTag restore setCachedTile setData setEnemy setFromPosition setHumansWithinBound setMoveType setMoving setName setPosition setStatus skipNextMovement skipNextUpdate startSlipping stopSlipping tame tickStatuses toString unhitch update updateDirection updateRender updateSlipping updateTileWhenMoving updateView updateWorldTile is

Constructors

Properties

_description?: ICreatureDescription
aberrant?: true
ai: default<default<unknown, number, EntityReferenceTypes, unknown>>
allowSmartMovementClientside?: boolean

Used for smart vehicle movement (minecarts) Note: This is clientside only.

anim: number = 0
attackAnimationData?: IAttackAnimationData

Used for attack animations. Note: This is clientside only.

direction: default = Vector2.ZERO

undefined = Vector2.ZERO for this

enemy?: {
    attacks: number;
    attempts: number;
    breakAway?: boolean;
    reference: Reference;
}

Type declaration

  • attacks: number
  • attempts: number
  • Optional breakAway?: boolean
  • reference: Reference
event: IEventEmitter<default, ICreatureEvents>
facingDirection: East | North | West | South = Direction.South

undefined = Direction.None for this

fromX: number = 0

Note: This might not be a whole number.

fromY: number = 0

Note: This might not be a whole number.

historicalActions?: PartialRecord<ActionType, number>
hitchedTo?: number
id: number
isMoving?: boolean

Not guaranteed to be synced between the server and client for Human entities

islandId: `${number},${number}`
moveType?: MoveType
movementCompleteZ?: number

Only used for Human entities

movingData: IMovingData = {}

Used for movement animations. Note: This is clientside only.

originalMoveType?: MoveType
owner?: {
    reference: Reference;
    tameTime: number;
}

Type declaration

persistentMarker: undefined | {
    guid: string;
    type: Tamed;
}

Notifier marker assigned to this entity

preventRendering?: boolean
referenceId?: number

Do not use this property directly, instead use `game.references.getReference()

renamed?: string | ISerializedTranslation
respawned?: number
shouldSkipNextMovement?: true
shouldSkipNextUpdate?: true
slipping?: ISlippingData
spawnAnimationTime: undefined | IMovementTime
stat: default<default> = ...
stats: IStats
status: IStatus
x: number
y: number
z: WorldZ
zonePoint?: IVector3

Accessors

  • get asContainer(): undefined
  • Returns undefined

  • get asCorpse(): undefined
  • Returns undefined

  • get asCreature(): default
  • Returns default

  • get asDoodad(): undefined
  • Returns undefined

  • get asEntity(): default<DescriptionType, TypeType, EntityReferenceType, TagType>
  • Returns default<DescriptionType, TypeType, EntityReferenceType, TagType>

  • get asEntityMovable(): default<DescriptionType, TypeType, EntityReferenceType, TagType>
  • Returns default<DescriptionType, TypeType, EntityReferenceType, TagType>

  • get asEntityWithStats(): default<DescriptionType, TypeType, EntityReferenceType, TagType>
  • Returns default<DescriptionType, TypeType, EntityReferenceType, TagType>

  • get asHuman(): undefined
  • Returns undefined

  • get asItem(): undefined
  • Returns undefined

  • get asLoaded(): undefined | this
  • undefined if this entity's island is not loaded, this if it is

    Returns undefined | this

  • get asLocalPlayer(): undefined
  • Returns undefined

  • get asNPC(): undefined
  • Returns undefined

  • get asNotLocalPlayer(): undefined | this
  • Returns undefined | this

  • get asPlayer(): undefined
  • Returns undefined

  • get asTile(): undefined
  • Returns undefined

  • get asTileEvent(): undefined
  • Returns undefined

  • get description(): undefined | Readonly<DescriptionType>
  • Get the entities description

    Returns undefined | Readonly<DescriptionType>

  • get entityType(): Creature
  • Returns Creature

  • get facingTile(): default
  • Regular entities don't have a direction so this will be the same as getTile()

    Returns default

  • get fromTile(): undefined | default
  • Tile the entity is moving from

    Returns undefined | default

  • get humansVisible(): default<unknown, number, NPC | Player>[]
  • Returns humans within this entities fov & that they can see

    Returns default<unknown, number, NPC | Player>[]

  • get isFlying(): boolean
  • Returns boolean

  • get isHidden(): boolean
  • Returns boolean

  • get isHostile(): boolean
  • Returns boolean

  • get isLoaded(): boolean
  • Whether this entity's island is loaded

    Returns boolean

  • get isLocalPlayer(): boolean
  • Returns boolean

  • get isOnFire(): FireType
  • Returns FireType

  • get isRetaliator(): boolean
  • Returns boolean

  • get isTamed(): boolean
  • Returns boolean

  • get isValid(): boolean
  • Returns boolean

  • get isWithinHumanBounds(): boolean
  • Checks if the entity is within the viewport bounds of one or more humans

    Returns boolean

  • get island(): default
  • Returns default

  • get point(): IVector3
  • Location of the entity on the world. Parent classes will probably mark this as always defined

    Returns IVector3

  • get reference(): undefined | Reference<EntityReferenceType>
  • Returns undefined | Reference<EntityReferenceType>

  • get slippingData(): undefined | ISlippingData
  • Returns undefined | ISlippingData

  • get tile(): default
  • Tile the entity is on in the world. Parent classes will probably mark this as always defined

    Returns default

  • get tileUpdateType(): TileUpdateType
  • Returns TileUpdateType

  • get tilesAround(): undefined | default[]
  • Returns undefined | default[]

  • get timesPetted(): number
  • Returns the times a creature has been petted.

    Returns

    number if the creature has been petted (0 if it has never been petted).

    Returns number

  • get timesTamed(): number
  • Returns the times a creature has been tamed.

    Returns

    number if the creature has been tamed (0 if it has never been tamed).

    Returns number

  • get zone(): undefined | CreatureZone
  • Returns undefined | CreatureZone

Methods

  • Parameters

    Returns void

  • Adds a referenceId to the entity if it doesn't already have one

    Returns void

  • Parameters

    • tag: unknown

    Returns void

  • Animates the entity between a specific set of positions

    Parameters

    • fromX: number
    • fromY: number
    • toX: number
    • toY: number
    • delay: Delay

    Returns void

  • Parameters

    Returns void

  • Faces the target and animates a bump into effect

    Parameters

    Returns void

  • Returns void

  • Parameters

    • type: CanASeeBType
    • islandId: `${number},${number}`
    • x: number
    • y: number
    • z: number
    • fieldOfView: undefined | FieldOfView = renderer.fieldOfView
    • Optional customRadius: number

    Returns boolean

  • Check if this creature can swap with the player in the event that the player is moving into them

    Parameters

    • human: default<unknown, number, NPC | Player>

      Human object

    • source: undefined | string

      Source string. Set to undefined if this is being called from the clientside

    Returns boolean

  • Check is a creature is allowed to attack the target (rules of engagement)

    Returns

    True if it can attack them

    Parameters

    Returns boolean

  • Checks that a creature can move to a certain tile and/or interact with doodads/tiles

    Returns

    0 if the creature can move, otherwise an error code

    Parameters

    • isClientside: boolean

      True if clientside. Don't do random stuff in this case

    • tile: default
    • moveType: MoveType
    • willMove: boolean

      Set to true if the object is about to move to this tile. This method will confirm if theres an existing npc/creature there and return false if so

    • Optional options: Partial<ICreatureCheckMoveOptions>

    Returns number

  • Parameters

    Returns boolean

  • Checks under the creature for getting burned, setting off traps, eating items off the ground, and more

    Returns

    Returns whether the creature can keep moving (in the case of creatures with >= 2 speed)

    Parameters

    • x: number = ...
    • y: number = ...
    • Optional skipParticles: boolean

    Returns boolean

  • Returns void

  • Parameters

    Returns undefined | number

  • Parameters

    • damageInfo: IDamageInfo
    • Optional creatureX: number
    • Optional creatureY: number
    • Optional creatureZ: number

    Returns undefined | number

  • Finds a path from the creatures tile to the target tile

    Parameters

    • source: undefined | string

      Provided when the check is running in a sync environment (NOT CLIENTSIDE)

    • target: default
    • moveType: MoveType
    • Optional maxNodesChecked: number
    • Optional ignoreHuman: default<unknown, number, NPC | Player>

    Returns undefined | default[]

  • Returns undefined | AiType

  • Gets a data

    Returns

    Data value or undefined if it wasn't found

    Type Parameters

    • T

    Parameters

    • key: string

      Data key

    Returns undefined | T

  • Gets the enemy the creature marked

    Returns

    Enemy

    Returns undefined | default | default<unknown, number, NPC | Player>

  • Returns IHitch

  • Returns number

  • Gets movement progress and moves the state machine forward when the movement is completed

    Parameters

    • timeStamp: number

    Returns number

  • Parameters

    • Optional article: Article

      Whether to include an article for the name of the creature. Uses the article rules on the language. Defaults to true.

    • Optional count: number

      The number of this creature that you're getting the name of. Defaults to 1.

      Examples:

      • creature.getName() // "an acid spitter demon"
      • creature.getName(false) // "acid spitter demon"
      • creature.getName(undefined, 3) // "acid spitter demons"

    Returns default

  • Returns undefined | default<unknown, number, NPC | Player>

  • Gets the temperature produced by this object. Positive values are "heat", negative values are "cold". Refer to the values of the Temperature enum to see the possible range. If this method is not implemented, or it returns undefined, Temperature.Neutral is used.

    Returns undefined | number

  • Returns the handler for this status effect, whether or not this entity currently has the effect.

    Type Parameters

    Parameters

    Returns undefined | S

  • Returns the handler for this status effect, whether or not this entity currently has the effect.

    Parameters

    Returns number

  • Generator for status effects on the entity.

    Returns default[]

  • Parameters

    • defaultChance: number

    Returns undefined | number

  • Returns undefined | number

  • Parameters

    • defaultChance: number

    Returns undefined | number

  • Parameters

    • defaultChance: number

    Returns undefined | number

  • Check if a data was set

    Returns

    True if the data exists, false if it doesn't

    Parameters

    • key: string

      Data key

    Returns boolean

  • Returns whether the entity has the given StatusType

    Parameters

    Returns number

  • Parameters

    • tag: unknown

    Returns boolean

  • Increases the creature's maximum health in the event of offering/re-taming and petting (to a lesser extent)

    Parameters

    Returns void

  • Increases the number of times the creature has been petted.

    Returns void

  • Returns

    The new times tamed

    Returns number

  • Parameters

    Returns void

  • Parameters

    • resetAiType: boolean = true

    Returns void

  • Initializes the creature's stats. Used in the constructor & save conversion.

    Parameters

    • hp: number
    • Optional maxhp: number

    Returns void

  • Called when loading the human

    Returns void

  • Returns this is default

  • Returns void

  • Parameters

    Returns void

  • Parameters

    Returns undefined | default

  • Parameters

    Returns void

  • Parameters

    Returns boolean

  • Parameters

    • type: SfxType
    • delay: number = 0
    • speed: number = ...

    Returns void

  • Parameters

    • type: SfxType
    • Optional delay: number
    • Optional speed: number

    Returns void

  • Returns void

  • Parameters

    • Optional remainTamed: boolean

    Returns boolean

  • Removes a data

    Returns

    True when the data is removed. False if the key wasn't set

    Parameters

    • key: string

      Data key

    Returns boolean

  • Returns void

  • Parameters

    • tag: unknown

    Returns void

  • Parameters

    • targetTile: default
    • Optional preventRendering: boolean

    Returns void

  • Sets a data

    Rturns

    The value

    Type Parameters

    • T

    Parameters

    • key: string

      Data key

    • value: T

      Data value

    Returns T

  • Parameters

    Returns void

  • Parameters

    • fromX: number = ...
    • fromY: number = ...

    Returns void

  • Parameters

    • fromX: number
    • fromY: number
    • Optional toZ: number
    • Optional options: IMoveToOptions

    Returns void

  • Immediately move the entity to the tile

    Parameters

    Returns void

  • Sets whether the entity has the given StatusType. Emits EntityEvent.StatusChange.

    Parameters

    • status: StatusType

      The status to change

    • level: number | boolean

      Whether the entity will have the status.
      If given false/0, removes the status. If given true/1+, raises the status to the given level.

    • reason: StatusChangeReason

      The reason for the change

    • force: boolean = false

      Forces the status to be set to the given value, even if the current effect is being lowered.

    Returns boolean

  • Skips the next movement for this creature / npc

    Returns void

  • Skips the next update for this creature / npc

    Returns void

  • Returns void

  • Parameters

    Returns boolean

  • Returns void

  • Returns string

  • Returns void

  • Parameters

    Returns boolean

  • Called when the entity is about to move to another tile. This should update relevant properties on the tile and return true

    Returns

    False to block the move

    Parameters

    • fromTile: default

      Tile the entity was on

    • toTile: default

      Tile the entity is moving onto

    Returns boolean

  • Updates the world renderer & flow field state for the tile

    Parameters

    • tileUpdateType: TileUpdateType = ...
    • Optional updateNeighbors: boolean
    • Optional skipFlowFieldUpdate: boolean

    Returns void

  • Parameters

    • value: any

    Returns value is default

Generated using TypeDoc