The civ library: Difference between revisions
(Changed the names of the linked to pages, so that they are the full command (for clarity and to prevent conflicts)) |
m (Added to category lua resources) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Lua Resources]] | |||
Back to [[TOTPP Functions]] | Back to [[TOTPP Functions]] | ||
---- | ---- | ||
Line 8: | Line 8: | ||
[[civ.addImprovement|addImprovement]] | [[civ.addImprovement|addImprovement]] | ||
civ.addImprovement(city, improvement) | <code>civ.addImprovement(city, improvement)</code> | ||
Adds city improvement `improvement` to city `city`. | Adds city improvement `improvement` to city `city`. | ||
Line 15: | Line 15: | ||
[[civ.canEnter|canEnter]] | [[civ.canEnter|canEnter]] | ||
civ.canEnter(unittype, tile) -> boolean | <code>civ.canEnter(unittype, tile) -> boolean</code> | ||
Returns `true` if the given unittype can enter tile `tile`, `false` otherwise. | Returns `true` if the given unittype can enter tile `tile`, `false` otherwise. | ||
Line 22: | Line 22: | ||
[[civ.captureCity|captureCity]] | [[civ.captureCity|captureCity]] | ||
civ.captureCity(city, tribe) | <code>civ.captureCity(city, tribe)</code> | ||
Captures city `city` for tribe `tribe`. | Captures city `city` for tribe `tribe`. | ||
Line 29: | Line 29: | ||
[[civ.createCity|createCity]] | [[civ.createCity|createCity]] | ||
civ.createCity(tribe, tile) -> city | <code>civ.createCity(tribe, tile) -> city</code> | ||
Creates a city owned by `tribe` at the location given by `tile`. Returns `nil` if a city could not be created. | Creates a city owned by `tribe` at the location given by `tile`. Returns `nil` if a city could not be created. | ||
Line 36: | Line 36: | ||
[[civ.createUnit|createUnit]] | [[civ.createUnit|createUnit]] | ||
civ.createUnit(unittype, tribe, tile) -> unit | <code>civ.createUnit(unittype, tribe, tile) -> unit</code> | ||
Creates a unit of type `unittype`, owned by `tribe`, at the location given by `tile`. | Creates a unit of type `unittype`, owned by `tribe`, at the location given by `tile`. | ||
Line 43: | Line 43: | ||
[[civ.deleteCity|deleteCity]] | [[civ.deleteCity|deleteCity]] | ||
civ.deleteCity(city) | <code>civ.deleteCity(city)</code> | ||
Deletes city `city` from the game. | Deletes city `city` from the game. | ||
Line 50: | Line 50: | ||
[[civ.deleteUnit|deleteUnit]] | [[civ.deleteUnit|deleteUnit]] | ||
civ.deleteUnit(unit) | <code>civ.deleteUnit(unit)</code> | ||
Deletes unit `unit` from the game. | Deletes unit `unit` from the game. | ||
Line 57: | Line 57: | ||
[[civ.destroyWonder|destroyWonder]] | [[civ.destroyWonder|destroyWonder]] | ||
civ.destroyWonder(wonder) | <code>civ.destroyWonder(wonder)</code> | ||
Destroys wonder `wonder`, removing it from the game, and marking it as 'lost'. | Destroys wonder `wonder`, removing it from the game, and marking it as 'lost'. | ||
Line 64: | Line 64: | ||
[[civ.enableTechGroup|enableTechGroup]] | [[civ.enableTechGroup|enableTechGroup]] | ||
civ.enableTechGroup(tribe, techgroup, value) | <code>civ.enableTechGroup(tribe, techgroup, value)</code> | ||
Sets the value of tech group `techgroup` (0-7) to value `value` (0-2, 0 = can research, can own, 1 = can't research, can own, 2 = can't research, can't own) for tribe `tribe`. | Sets the value of tech group `techgroup` (0-7) to value `value` (0-2, 0 = can research, can own, 1 = can't research, can own, 2 = can't research, can't own) for tribe `tribe`. | ||
Line 71: | Line 71: | ||
[[civ.endGame|endGame]] | [[civ.endGame|endGame]] | ||
civ.endGame(endscreens=false) | <code>civ.endGame(endscreens=false)</code> | ||
Ends the game. `endscreens` is a boolean that determines whether to show the powergraph and related screens. | Ends the game. `endscreens` is a boolean that determines whether to show the powergraph and related screens. | ||
Line 78: | Line 78: | ||
[[civ.getActiveUnit|getActiveUnit]] | [[civ.getActiveUnit|getActiveUnit]] | ||
civ.getActiveUnit() -> unit | <code>civ.getActiveUnit() -> unit</code> | ||
Returns the currently active unit. | Returns the currently active unit. | ||
Line 85: | Line 85: | ||
[[civ.getCity|getCity]] | [[civ.getCity|getCity]] | ||
civ.getCity(id) -> city | <code>civ.getCity(id) -> city</code> | ||
Returns the city with id `id`, or `nil` if it doesn't exist. | Returns the city with id `id`, or `nil` if it doesn't exist. | ||
Line 92: | Line 92: | ||
[[civ.getCurrentTile|getCurrentTile]] | [[civ.getCurrentTile|getCurrentTile]] | ||
civ.getCurrentTile() -> tile | <code>civ.getCurrentTile() -> tile</code> | ||
Returns the currently selected tile. | Returns the currently selected tile. | ||
Line 99: | Line 99: | ||
[[civ.getCurrentTribe|getCurrentTribe]] | [[civ.getCurrentTribe|getCurrentTribe]] | ||
civ.getCurrentTribe() -> tribe | <code>civ.getCurrentTribe() -> tribe</code> | ||
Returns the currently active tribe. | Returns the currently active tribe. | ||
Line 106: | Line 106: | ||
[[civ.getGameYear|getGameYear]] | [[civ.getGameYear|getGameYear]] | ||
civ.getGameYear() -> integer | <code>civ.getGameYear() -> integer</code> | ||
Returns the current game year. | Returns the current game year. | ||
Line 113: | Line 113: | ||
[[civ.getImprovement|getImprovement]] | [[civ.getImprovement|getImprovement]] | ||
civ.getImprovement(id) -> improvement | <code>civ.getImprovement(id) -> improvement</code> | ||
Returns the improvement with id `id` (0-39), or `nil` if it doesn't exist. | Returns the improvement with id `id` (0-39), or `nil` if it doesn't exist. | ||
Line 120: | Line 120: | ||
[[civ.getMapDimensions|getMapDimensions]] | [[civ.getMapDimensions|getMapDimensions]] | ||
civ.getMapDimensions() -> width, height, number_of_maps | <code>civ.getMapDimensions() -> width, height, number_of_maps</code> | ||
Returns three integers, the width and height of the map and the number of maps. | Returns three integers, the width and height of the map and the number of maps. | ||
Line 127: | Line 127: | ||
[[civ.getPlayerTribe|getPlayerTribe]] | [[civ.getPlayerTribe|getPlayerTribe]] | ||
civ.getPlayerTribe() -> tribe | <code>civ.getPlayerTribe() -> tribe</code> | ||
Returns the player's tribe. | Returns the player's tribe. | ||
Line 134: | Line 134: | ||
[[civ.getTech|getTech]] | [[civ.getTech|getTech]] | ||
civ.getTech(id) -> tech | <code>civ.getTech(id) -> tech</code> | ||
Returns the tech with id `id` (0-99), or `nil` if it doesn't exist. | Returns the tech with id `id` (0-99), or `nil` if it doesn't exist. | ||
Line 141: | Line 141: | ||
[[civ.getTile|getTile]] | [[civ.getTile|getTile]] | ||
civ.getTile(x, y, z) -> tile | <code>civ.getTile(x, y, z) -> tile</code> | ||
Returns the tile with coordinates `x`, `y`, `z`, or `nil` if it doesn't exist. | Returns the tile with coordinates `x`, `y`, `z`, or `nil` if it doesn't exist. | ||
Line 148: | Line 148: | ||
[[civ.getToTDir|getToTDir]] | [[civ.getToTDir|getToTDir]] | ||
civ.getToTDir() -> string | <code>civ.getToTDir() -> string</code> | ||
Returns the absolute path of the ToT installation directory. | Returns the absolute path of the ToT installation directory. | ||
Line 155: | Line 155: | ||
[[civ.getTribe|getTribe]] | [[civ.getTribe|getTribe]] | ||
civ.getTribe(id) -> tribe | <code>civ.getTribe(id) -> tribe</code> | ||
Returns the tech with id `id` (0-7), or `nil` if it doesn't exist. | Returns the tech with id `id` (0-7), or `nil` if it doesn't exist. | ||
Line 162: | Line 162: | ||
[[civ.getTurn|getTurn]] | [[civ.getTurn|getTurn]] | ||
civ.getTurn() -> integer | <code>civ.getTurn() -> integer</code> | ||
Returns the current turn number. | Returns the current turn number. | ||
Line 169: | Line 169: | ||
[[civ.getUnit|getUnit]] | [[civ.getUnit|getUnit]] | ||
civ.getUnit(id) -> integer | <code>civ.getUnit(id) -> integer</code> | ||
Returns the unit with id `id`, or `nil` if it doesn't exist. | Returns the unit with id `id`, or `nil` if it doesn't exist. | ||
Line 176: | Line 176: | ||
[[civ.getUnitType|getUnitType]] | [[civ.getUnitType|getUnitType]] | ||
civ.getUnitType(id) -> unittype | <code>civ.getUnitType(id) -> unittype</code> | ||
Returns the unit type with id `id`, or `nil` if it doesn't exist. | Returns the unit type with id `id`, or `nil` if it doesn't exist. | ||
Line 183: | Line 183: | ||
[[civ.getWonder|getWonder]] | [[civ.getWonder|getWonder]] | ||
civ.getWonder(id) -> wonder | <code>civ.getWonder(id) -> wonder</code> | ||
Returns the wonder with id `id` (0-27), or `nil` if it doesn't exist. | Returns the wonder with id `id` (0-27), or `nil` if it doesn't exist. | ||
Line 190: | Line 190: | ||
[[civ.giveTech|giveTech]] | [[civ.giveTech|giveTech]] | ||
civ.giveTech(tribe, tech) | <code>civ.giveTech(tribe, tech)</code> | ||
Gives tech `tech` to tribe `tribe`. | Gives tech `tech` to tribe `tribe`. | ||
Line 197: | Line 197: | ||
[[civ.hasImprovement|hasImprovement]] | [[civ.hasImprovement|hasImprovement]] | ||
civ.hasImprovement(city, improvement) | <code>civ.hasImprovement(city, improvement)</code> | ||
Returns `true` if city `city` has improvement `improvement`, `false` otherwise. | Returns `true` if city `city` has improvement `improvement`, `false` otherwise. | ||
Line 204: | Line 204: | ||
[[civ.hasTech|hasTech]] | [[civ.hasTech|hasTech]] | ||
civ.hasTech(tribe, tech) -> boolean | <code>civ.hasTech(tribe, tech) -> boolean</code> | ||
Returns `true` if tribe `tribe` has tech `tech`, `false` otherwise. | Returns `true` if tribe `tribe` has tech `tech`, `false` otherwise. | ||
Line 211: | Line 211: | ||
[[civ.isCity|isCity]] | [[civ.isCity|isCity]] | ||
civ.isCity(object) -> boolean | <code>civ.isCity(object) -> boolean</code> | ||
Returns `true` if `object` is a city, `false` otherwise. | Returns `true` if `object` is a city, `false` otherwise. | ||
Line 218: | Line 218: | ||
[[civ.isImprovement|isImprovement]] | [[civ.isImprovement|isImprovement]] | ||
civ.isImprovement(object) -> boolean | <code>civ.isImprovement(object) -> boolean</code> | ||
Returns `true` if `object` is a city improvement, `false` otherwise. | Returns `true` if `object` is a city improvement, `false` otherwise. | ||
Line 225: | Line 225: | ||
[[civ.isLeader|isLeader]] | [[civ.isLeader|isLeader]] | ||
civ.isLeader(object) -> boolean | <code>civ.isLeader(object) -> boolean</code> | ||
Returns `true` if `object` is a leader, `false` otherwise. | Returns `true` if `object` is a leader, `false` otherwise. | ||
Line 232: | Line 232: | ||
[[civ.isTech|isTech]] | [[civ.isTech|isTech]] | ||
civ.isTech(object) -> boolean | <code>civ.isTech(object) -> boolean</code> | ||
Returns `true` if `object` is a tech, `false` otherwise. | Returns `true` if `object` is a tech, `false` otherwise. | ||
Line 239: | Line 239: | ||
[[civ.isTile|isTile]] | [[civ.isTile|isTile]] | ||
civ.isTile(object) -> boolean | <code>civ.isTile(object) -> boolean</code> | ||
Returns `true` if `object` is a tile, `false` otherwise. | Returns `true` if `object` is a tile, `false` otherwise. | ||
Line 246: | Line 246: | ||
[[civ.isTribe|isTribe]] | [[civ.isTribe|isTribe]] | ||
civ.isTribe(object) -> boolean | <code>civ.isTribe(object) -> boolean</code> | ||
Returns `true` if `object` is a tribe, `false` otherwise. | Returns `true` if `object` is a tribe, `false` otherwise. | ||
Line 253: | Line 253: | ||
[[civ.isUnit|isUnit]] | [[civ.isUnit|isUnit]] | ||
civ.isUnit(object) -> boolean | <code>civ.isUnit(object) -> boolean</code> | ||
Returns `true` if `object` is a unit, `false` otherwise. | Returns `true` if `object` is a unit, `false` otherwise. | ||
Line 260: | Line 260: | ||
[[civ.isUnitType|isUnitType]] | [[civ.isUnitType|isUnitType]] | ||
civ.isUnitType(object) -> boolean | <code>civ.isUnitType(object) -> boolean</code> | ||
Returns `true` if `object` is a unit type, `false` otherwise. | Returns `true` if `object` is a unit type, `false` otherwise. | ||
Line 267: | Line 267: | ||
[[civ.isWonder|isWonder]] | [[civ.isWonder|isWonder]] | ||
civ.isWonder(object) -> boolean | <code>civ.isWonder(object) -> boolean</code> | ||
Returns `true` if `object` is a wonder, `false` otherwise. | Returns `true` if `object` is a wonder, `false` otherwise. | ||
Line 274: | Line 274: | ||
[[civ.iterateCities|iterateCities]] | [[civ.iterateCities|iterateCities]] | ||
civ.iterateCities() -> iterator | <code>civ.iterateCities() -> iterator</code> | ||
Returns an iterator yielding all cities in the game. | Returns an iterator yielding all cities in the game. | ||
Line 281: | Line 281: | ||
[[civ.iterateUnits|iterateUnits]] | [[civ.iterateUnits|iterateUnits]] | ||
civ.iterateUnits() -> iterator | <code>civ.iterateUnits() -> iterator</code> | ||
Returns an iterator yielding all units in the game. | Returns an iterator yielding all units in the game. | ||
Line 288: | Line 288: | ||
[[civ.killTribe|killTribe]] | [[civ.killTribe|killTribe]] | ||
civ.killTribe(tribe) | <code>civ.killTribe(tribe)</code> | ||
Removes tribe `tribe` from the game. All its cities and units are removed. | Removes tribe `tribe` from the game. All its cities and units are removed. | ||
Line 295: | Line 295: | ||
[[civ.makeAggression|makeAggression]] | [[civ.makeAggression|makeAggression]] | ||
civ.makeAggression(who, whom) | <code>civ.makeAggression(who, whom)</code> | ||
Cancels any peace treaties between tribe `who` and tribe `whom`, and make `who` declare war on `whom`. | Cancels any peace treaties between tribe `who` and tribe `whom`, and make `who` declare war on `whom`. | ||
Line 302: | Line 302: | ||
[[civ.playMusic|playMusic]] | [[civ.playMusic|playMusic]] | ||
civ.playMusic(trackNo or filename) | <code>civ.playMusic(trackNo or filename)</code> | ||
Plays CD track `trackNo`, or with the DirectShow music patch enabled, play the file given by `filename`, where `filename` is relative to the 'Music' directory. | Plays CD track `trackNo`, or with the DirectShow music patch enabled, play the file given by `filename`, where `filename` is relative to the 'Music' directory. | ||
Line 309: | Line 309: | ||
[[civ.playSound|playSound]] | [[civ.playSound|playSound]] | ||
civ.playSound(filename) | <code>civ.playSound(filename)</code> | ||
Plays the sound file given by `filename`. | Plays the sound file given by `filename`. | ||
Line 316: | Line 316: | ||
[[civ.playVideo|playVideo]] | [[civ.playVideo|playVideo]] | ||
civ.playVideo(filename) | <code>civ.playVideo(filename)</code> | ||
Plays the video file given by `filename`. | Plays the video file given by `filename`. | ||
Line 323: | Line 323: | ||
[[civ.removeImprovement|removeImprovement]] | [[civ.removeImprovement|removeImprovement]] | ||
civ.removeImprovement(city, improvement) | <code>civ.removeImprovement(city, improvement)</code> | ||
Removes city improvement `improvement` from city `city`. | Removes city improvement `improvement` from city `city`. | ||
Line 330: | Line 330: | ||
[[civ.sleep|sleep]] | [[civ.sleep|sleep]] | ||
civ.sleep(milliseconds) | <code>civ.sleep(milliseconds)</code> | ||
Sleeps for the given number of milliseconds. | Sleeps for the given number of milliseconds. | ||
Line 337: | Line 337: | ||
[[civ.takeTech|takeTech]] | [[civ.takeTech|takeTech]] | ||
civ.takeTech(tribe, tech, collapse=false) | <code>civ.takeTech(tribe, tech, collapse=false)</code> | ||
Takes away tech `tech` from tribe `tribe`, the optional `collapse` parameter determines whether to take away all techs that have `tech` as a prerequisite somewhere up the tree. | Takes away tech `tech` from tribe `tribe`, the optional `collapse` parameter determines whether to take away all techs that have `tech` as a prerequisite somewhere up the tree. | ||
Line 344: | Line 344: | ||
[[civ.teleportUnit|teleportUnit]] | [[civ.teleportUnit|teleportUnit]] | ||
civ.teleportUnit(unit, tile) | <code>civ.teleportUnit(unit, tile)</code> | ||
Teleports (i.e. moves at no cost) unit `unit` to tile `tile`. The unit is moved regardless of whether it is a valid location for the unit. To check this, see `civ.canEnter` and `civlua.isValidUnitLocation`. | Teleports (i.e. moves at no cost) unit `unit` to tile `tile`. The unit is moved regardless of whether it is a valid location for the unit. To check this, see `civ.canEnter` and `civlua.isValidUnitLocation`. |
Latest revision as of 20:08, 26 January 2019
Back to TOTPP Functions
Follow the link in the function name for additional information about that function, if it is available.
civ.addImprovement(city, improvement)
Adds city improvement `improvement` to city `city`.
civ.canEnter(unittype, tile) -> boolean
Returns `true` if the given unittype can enter tile `tile`, `false` otherwise.
civ.captureCity(city, tribe)
Captures city `city` for tribe `tribe`.
civ.createCity(tribe, tile) -> city
Creates a city owned by `tribe` at the location given by `tile`. Returns `nil` if a city could not be created.
civ.createUnit(unittype, tribe, tile) -> unit
Creates a unit of type `unittype`, owned by `tribe`, at the location given by `tile`.
civ.deleteCity(city)
Deletes city `city` from the game.
civ.deleteUnit(unit)
Deletes unit `unit` from the game.
civ.destroyWonder(wonder)
Destroys wonder `wonder`, removing it from the game, and marking it as 'lost'.
civ.enableTechGroup(tribe, techgroup, value)
Sets the value of tech group `techgroup` (0-7) to value `value` (0-2, 0 = can research, can own, 1 = can't research, can own, 2 = can't research, can't own) for tribe `tribe`.
civ.endGame(endscreens=false)
Ends the game. `endscreens` is a boolean that determines whether to show the powergraph and related screens.
civ.getActiveUnit() -> unit
Returns the currently active unit.
civ.getCity(id) -> city
Returns the city with id `id`, or `nil` if it doesn't exist.
civ.getCurrentTile() -> tile
Returns the currently selected tile.
civ.getCurrentTribe() -> tribe
Returns the currently active tribe.
civ.getGameYear() -> integer
Returns the current game year.
civ.getImprovement(id) -> improvement
Returns the improvement with id `id` (0-39), or `nil` if it doesn't exist.
civ.getMapDimensions() -> width, height, number_of_maps
Returns three integers, the width and height of the map and the number of maps.
civ.getPlayerTribe() -> tribe
Returns the player's tribe.
civ.getTech(id) -> tech
Returns the tech with id `id` (0-99), or `nil` if it doesn't exist.
civ.getTile(x, y, z) -> tile
Returns the tile with coordinates `x`, `y`, `z`, or `nil` if it doesn't exist.
civ.getToTDir() -> string
Returns the absolute path of the ToT installation directory.
civ.getTribe(id) -> tribe
Returns the tech with id `id` (0-7), or `nil` if it doesn't exist.
civ.getTurn() -> integer
Returns the current turn number.
civ.getUnit(id) -> integer
Returns the unit with id `id`, or `nil` if it doesn't exist.
civ.getUnitType(id) -> unittype
Returns the unit type with id `id`, or `nil` if it doesn't exist.
civ.getWonder(id) -> wonder
Returns the wonder with id `id` (0-27), or `nil` if it doesn't exist.
civ.giveTech(tribe, tech)
Gives tech `tech` to tribe `tribe`.
civ.hasImprovement(city, improvement)
Returns `true` if city `city` has improvement `improvement`, `false` otherwise.
civ.hasTech(tribe, tech) -> boolean
Returns `true` if tribe `tribe` has tech `tech`, `false` otherwise.
civ.isCity(object) -> boolean
Returns `true` if `object` is a city, `false` otherwise.
civ.isImprovement(object) -> boolean
Returns `true` if `object` is a city improvement, `false` otherwise.
civ.isLeader(object) -> boolean
Returns `true` if `object` is a leader, `false` otherwise.
civ.isTech(object) -> boolean
Returns `true` if `object` is a tech, `false` otherwise.
civ.isTile(object) -> boolean
Returns `true` if `object` is a tile, `false` otherwise.
civ.isTribe(object) -> boolean
Returns `true` if `object` is a tribe, `false` otherwise.
civ.isUnit(object) -> boolean
Returns `true` if `object` is a unit, `false` otherwise.
civ.isUnitType(object) -> boolean
Returns `true` if `object` is a unit type, `false` otherwise.
civ.isWonder(object) -> boolean
Returns `true` if `object` is a wonder, `false` otherwise.
civ.iterateCities() -> iterator
Returns an iterator yielding all cities in the game.
civ.iterateUnits() -> iterator
Returns an iterator yielding all units in the game.
civ.killTribe(tribe)
Removes tribe `tribe` from the game. All its cities and units are removed.
civ.makeAggression(who, whom)
Cancels any peace treaties between tribe `who` and tribe `whom`, and make `who` declare war on `whom`.
civ.playMusic(trackNo or filename)
Plays CD track `trackNo`, or with the DirectShow music patch enabled, play the file given by `filename`, where `filename` is relative to the 'Music' directory.
civ.playSound(filename)
Plays the sound file given by `filename`.
civ.playVideo(filename)
Plays the video file given by `filename`.
civ.removeImprovement(city, improvement)
Removes city improvement `improvement` from city `city`.
civ.sleep(milliseconds)
Sleeps for the given number of milliseconds.
civ.takeTech(tribe, tech, collapse=false)
Takes away tech `tech` from tribe `tribe`, the optional `collapse` parameter determines whether to take away all techs that have `tech` as a prerequisite somewhere up the tree.
civ.teleportUnit(unit, tile)
Teleports (i.e. moves at no cost) unit `unit` to tile `tile`. The unit is moved regardless of whether it is a valid location for the unit. To check this, see `civ.canEnter` and `civlua.isValidUnitLocation`.