|
Modification
There is one builtin "variable" and a number of builtin variable arrays available in SLIC.
This document contains a complete reference of the data that can be extracted from these types. Note that for types supported as user types, all the members of these variables can be accessed in user variables as well. For example, the builtin unit array has a member named owner, which means that any variable of type unit_t also has a member named owner. Member data is accessed using standard c style dot notation.
The one plain builtin variable is named "g" and contains three members:
g.year - the current round
g.year_str - the current year in string form. Only useful in string replacements.
g.player - the current player
The rest of the builtins come in arrays, which are filled in when an event handler is called (but can also have values assigned by script code).
Unit array
unit.owner - the unit's owner
unit.location - the unit's location
unit.type - the unit's database index
unit.hp - the unit's remaining hit points
unit.valid - true if the unit still exists, false otherwise
unit.name - the unit's name, only useful in string replacements
City array
city.owner - the city's owner
city.location - the city's location
city.name - the city's name. Only useful in string replacements
city.population - the city's population (as displayed on the map, not the *10,000 count)
city.happiness - the city's happiness rounded to an integer
city.netcitygold - How much gold the city produced this turn
city.goldfromtraderouts - How much gold the city got from trade routes this turn
city.building - a string of what the city is building. Only useful in string replacements.
city.buildingtime - how long until the city completes whatever it's building
city.buildqueuelength - how many items are in the city's build queue.
Player array
player.owner - An integer version of the player.
player.cities - Number of cities the player owns
player.units - Number of units the player owns
player.militaryunits - Number of military (attack greater than 0) the player owns
player.armies - Number of armies the player owns
player.totalpopulation - Total population of all cities owned by the player
player.totalpollution - Total pollution produced by the player
player.capital - The player's capital city (assign to a city variable first to use, e.g. myCapital = player[0].capital)
player.largestcity - The player's largest city.
player.researching - What advance the player is researching, in string form
player.militarystate - The player's military state in string form, Only useful for string replacements
player.leaderperonality - The player's personality in string form.
player.govttype - The player's government in string form.
player.publicworkstax - The player's public works tax setting
player.publicworkslevel - The amount of public works stored
More string members
player.civ_name_plural
player.civ_name_singular
player.country_name
player.leader_name
player.he
player.him
player.his
player.he_cap
player.him_cap
player.his_cap
player.sir
player.sir_cap
Army array
army.owner - the army's owner
army.location - the army's location
army.size - the number of units in the army
Location array
location.location - in some cases, using a location variable directly as a location may fail, but you can always use location.location.
location.x - the location's x coordinate
location.y - the location's y coordinate.
Advance array
advance.type - the AdvanceDB index
advance.name - the advance's name, only useful for string replacements.
Action array
action.text - the text of this action. Actions are a special type used to pass certain strings into messages that don't otherwise fit into a defined type.
action.name - a synonym for action.text.
Value array
value.value - Events that have plain integer arguments pass their values through the value array. For example, KillUnit has a cause parameter that will be filled in in value[0] in a KillUnit event handler, making it accessible to the script through value[0].value
Building array
building.name - the building's name
building.type - the BuildingDB index
Wonder Array
wonder.name - the wonder's name
wonder.type - the WonderDB index
UnitRecord array
unitrecord.name - the unit type's name
unitrecord.attack - the unit type's attack value
unitrecord.defense - the unit type's defense value
unitrecord.cost - the production cost of the unit type
unitrecord.ranged - the unit type's ranged attack value
unitrecord.movement - the unit type's move points
Gold array
gold.value - an amount of gold.
Good array
good.name - the good's name.
BACK TO MODIFICATION INDEX PAGE
|