@lands.io/mod-sdk / Player
Interface: Player¶
A player in the game. This is the mod-facing view - internal state management is hidden.
Table of contents¶
Methods¶
- addGold
- addTroops
- clientID
- createAttack
- displayName
- getModifier
- gold
- id
- incomingAttacks
- info
- isAlive
- isPlayer
- landBorders
- lastHostileAttackerSmallID
- name
- neighbors
- numTilesOwned
- outgoingAttacks
- population
- relation
- removeGold
- removeTroops
- setModifier
- setTargetTroopRatio
- setTroops
- sharesBorderWith
- shores
- skin
- smallID
- targetTroopRatio
- tiles
- troops
- type
- units
- workers
Methods¶
addGold¶
▸ addGold(toAdd): void
Parameters¶
| Name | Type |
|---|---|
toAdd |
number |
Returns¶
void
addTroops¶
▸ addTroops(troops): void
Parameters¶
| Name | Type |
|---|---|
troops |
number |
Returns¶
void
clientID¶
▸ clientID(): string
Returns¶
string
createAttack¶
▸ createAttack(target, troops, sourceTile, attackType?, targetTile?): Attack
Parameters¶
| Name | Type |
|---|---|
target |
Player | TerraNullius |
troops |
number |
sourceTile |
null | number |
attackType? |
AttackType |
targetTile? |
null | number |
Returns¶
displayName¶
▸ displayName(): string
Returns¶
string
getModifier¶
▸ getModifier(key, defaultValue?): number
Parameters¶
| Name | Type |
|---|---|
key |
string |
defaultValue? |
number |
Returns¶
number
gold¶
▸ gold(): number
Returns¶
number
id¶
▸ id(): string
Returns¶
string
incomingAttacks¶
▸ incomingAttacks(): Attack[]
Returns¶
Attack[]
info¶
▸ info(): PlayerInfo
Returns¶
isAlive¶
▸ isAlive(): boolean
Returns¶
boolean
isPlayer¶
▸ isPlayer(): this is Player
Returns¶
this is Player
landBorders¶
▸ landBorders(): ReadonlySet\<number>
Returns¶
ReadonlySet\<number>
lastHostileAttackerSmallID¶
▸ lastHostileAttackerSmallID(): null | number
Returns¶
null | number
name¶
▸ name(): string
Returns¶
string
neighbors¶
▸ neighbors(): (Player | TerraNullius)[]
Returns¶
(Player | TerraNullius)[]
numTilesOwned¶
▸ numTilesOwned(): number
Returns¶
number
outgoingAttacks¶
▸ outgoingAttacks(): Attack[]
Returns¶
Attack[]
population¶
▸ population(): number
Returns¶
number
relation¶
▸ relation(other): Relation
Parameters¶
| Name | Type |
|---|---|
other |
Player |
Returns¶
removeGold¶
▸ removeGold(toRemove): void
Parameters¶
| Name | Type |
|---|---|
toRemove |
number |
Returns¶
void
removeTroops¶
▸ removeTroops(troops): number
Parameters¶
| Name | Type |
|---|---|
troops |
number |
Returns¶
number
setModifier¶
▸ setModifier(key, value): void
Parameters¶
| Name | Type |
|---|---|
key |
string |
value |
number |
Returns¶
void
setTargetTroopRatio¶
▸ setTargetTroopRatio(target): void
Parameters¶
| Name | Type |
|---|---|
target |
number |
Returns¶
void
setTroops¶
▸ setTroops(troops): void
Parameters¶
| Name | Type |
|---|---|
troops |
number |
Returns¶
void
sharesBorderWith¶
▸ sharesBorderWith(other): boolean
Parameters¶
| Name | Type |
|---|---|
other |
Player | TerraNullius |
Returns¶
boolean
shores¶
▸ shores(): ReadonlySet\<number>
Returns¶
ReadonlySet\<number>
skin¶
▸ skin(): number
Returns¶
number
smallID¶
▸ smallID(): number
Returns¶
number
targetTroopRatio¶
▸ targetTroopRatio(): number
Returns¶
number
tiles¶
▸ tiles(): ReadonlySet\<number>
Returns¶
ReadonlySet\<number>
troops¶
▸ troops(): number
Returns¶
number
type¶
▸ type(): PlayerType
Returns¶
units¶
▸ units(...types): Unit[]
Parameters¶
| Name | Type |
|---|---|
...types |
UnitType[] |
Returns¶
Unit[]
workers¶
▸ workers(): number
Returns¶
number
Source Code¶
View full implementation
/**
* A player in the game.
* This is the mod-facing view - internal state management is hidden.
*/
export interface Player {
// Identity
id(): PlayerID;
smallID(): number;
name(): string;
displayName(): string;
clientID(): ClientID;
type(): PlayerType;
skin(): number;
info(): PlayerInfo;
isPlayer(): this is Player;
// State
isAlive(): boolean;
// Territory
tiles(): ReadonlySet<TileRef>;
landBorders(): ReadonlySet<TileRef>;
shores(): ReadonlySet<TileRef>;
numTilesOwned(): number;
// Resources
gold(): Gold;
population(): number;
workers(): number;
troops(): number;
targetTroopRatio(): number;
// Resource mutations
addGold(toAdd: Gold): void;
removeGold(toRemove: Gold): void;
addTroops(troops: number): void;
removeTroops(troops: number): number;
setTroops(troops: number): void;
setTargetTroopRatio(target: number): void;
// Units
units(...types: UnitType[]): Unit[];
// Relations
neighbors(): (Player | TerraNullius)[];
sharesBorderWith(other: Player | TerraNullius): boolean;
relation(other: Player): Relation;
// Attacks
outgoingAttacks(): Attack[];
incomingAttacks(): Attack[];
createAttack(
target: Player | TerraNullius,
troops: number,
sourceTile: TileRef | null,
attackType?: AttackType,
targetTile?: TileRef | null
): Attack;
// Combat context
lastHostileAttackerSmallID(): number | null;
// Modifiers (generic per-player numeric values read by the engine)
setModifier(key: string, value: number): void;
getModifier(key: string, defaultValue?: number): number;
}