Skip to content

@lands.io/mod-sdk / Config

Interface: Config

Game configuration interface. Mods implement PartialConfig to customize game mechanics. For lifecycle hooks, use the Mod class instead.

Implemented by

Table of contents

Methods

Methods

attackAmount

attackAmount(attacker, defender): number

Parameters

Name Type
attacker Player
defender Player | TerraNullius

Returns

number


attackTilesPerTick

attackTilesPerTick(attackTroops, attacker, defender, numAdjacentTilesWithEnemy): number

Parameters

Name Type
attackTroops number
attacker Player
defender Player | TerraNullius
numAdjacentTilesWithEnemy number

Returns

number


bots

bots(): number

Returns

number


fakeHumans

fakeHumans(): number

Returns

number


gameConfig

gameConfig(): GameConfig

Returns

GameConfig


goldAdditionRate

goldAdditionRate(player): number

Parameters

Name Type
player Player

Returns

number


infiniteGold

infiniteGold(): boolean

Returns

boolean


infiniteTroops

infiniteTroops(): boolean

Returns

boolean


maxPopulation

maxPopulation(player): number

Parameters

Name Type
player Player

Returns

number


numBots

numBots(): number

Returns

number


numSpawnPhaseTurns

numSpawnPhaseTurns(): number

Number of spawn-phase turns before regular gameplay starts. Set to 0 to skip extra spawn-phase turns.

Returns

number


percentageTilesOwnedToWin

percentageTilesOwnedToWin(): number

Returns

number


populationIncreaseRate

populationIncreaseRate(player): number

Parameters

Name Type
player Player

Returns

number


spawnImmunityDuration

spawnImmunityDuration(): number

Returns

number


startManpower

startManpower(player): number

Parameters

Name Type
player Player

Returns

number


troopAdjustmentRate

troopAdjustmentRate(player): number

Parameters

Name Type
player Player

Returns

number


unitInfo

unitInfo(type): UnitInfo

Parameters

Name Type
type UnitType

Returns

UnitInfo


Source Code

View full implementation
/**
 * Game configuration interface.
 * Mods implement PartialConfig to customize game mechanics.
 * For lifecycle hooks, use the Mod class instead.
 */
export interface Config {
  gameConfig(): GameConfig;

  // Game settings
  /**
   * Number of spawn-phase turns before regular gameplay starts.
   * Set to 0 to skip extra spawn-phase turns.
   */
  numSpawnPhaseTurns(): number;
  spawnImmunityDuration(): Tick;
  percentageTilesOwnedToWin(): number;
  numBots(): number;
  bots(): number;
  fakeHumans(): number;
  infiniteGold(): boolean;
  infiniteTroops(): boolean;

  // Player settings
  startManpower(player: Player): number;
  maxPopulation(player: Player): number;
  populationIncreaseRate(player: Player): number;
  goldAdditionRate(player: Player): number;
  troopAdjustmentRate(player: Player): number;

  // Unit costs
  unitInfo(type: UnitType): UnitInfo;

  // Combat
  attackAmount(attacker: Player, defender: Player | TerraNullius): number;
  attackTilesPerTick(
    attackTroops: number,
    attacker: Player,
    defender: Player | TerraNullius,
    numAdjacentTilesWithEnemy: number,
  ): number;
}