User:Master-athmos: Difference between revisions

From Spring
Jump to navigationJump to search
No edit summary
No edit summary
Line 52: Line 52:
}}
}}


[[Engine_Development|Development]] < [[Lua_Scripting|Lua Scripting]] < {{FULLPAGENAME}}


=All Lua Contexts=
{{LuaCallout
|prefix = Script.
|name = Kill
|arg1 =
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}


= Engine =
string '''Game.version''' {{removed|104.0}} Now in [[Lua_ConstEngine]]


{{LuaCallout
string '''Game.buildFlags''' {{removed|104.0}} Now in [[Lua_ConstEngine]]
|prefix = Script.
|name = GetName
|arg1 =
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|string}} luaInstanceName
|info = Returns the luaInstanceName (e.g. "LuaUI", "LuaRules", "LuaGaia", ...).
}}


number '''Game.gameID''' <span class="warning">Replaced in 89.0 with GameID(string gameID) synced callin</span>


{{LuaCallout
number '''Game.maxUnits'''<br>
|prefix = Script.
number '''Game.maxTeams'''<br>
|name = GetSynced
number '''Game.maxPlayers'''<br>
|arg1 =
number '''Game.squareSize''' <span class="note">Divide Game.mapSizeX or Game.mapSizeZ by this to get engine's "mapDims" coordinates</span> <br>  
|arg2 =
number '''Game.gameSpeed'''
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|bool}} is_synced
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}


= Host =
number '''Game.gameMode''' <span class="warning"> Removed from version 83.x</span> <br>
number '''Game.startPosType'''


{{LuaCallout
boolean '''Game.commEnds''' <span class="warning"> Removed from version 83.x</span> <br>
|prefix = Script.
boolean '''Game.limitDGun''' <span class="warning"> Removed from version 83.x</span> <br>  
|name = GetFullCtrl
boolean '''Game.ghostedBuildings'''
|arg1 =
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|bool}} has_fullctrl
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}


= Checksums =
string '''Game.mapChecksum'''<br>
string '''Game.modChecksum'''


{{LuaCallout
= Map =
|prefix = Script.
bool '''Game.mapDamage'''<br>
|name = GetFullRead
string '''Game.mapName'''<br>
|arg1 =
string '''Game.mapDescription''' = string '''Game.mapHumanName'''<br>
|arg2 =
number '''Game.mapHardness'''<br>
|arg3 =  
number '''Game.mapX'''<br>
|arg4 =
number '''Game.mapY'''<br>
|arg5 =
number '''Game.mapSizeX'''  <font color="#55ee99">  in worldspace/opengl coords. Divide by Game.squareSize to get engine's "mapDims" coordinates</font><br>
|arg6 =
number '''Game.mapSizeZ''' <font color="#55ee99">  in worldspace/opengl coords. Divide by Game.squareSize to get engine's "mapDims" coordinates</font><br>
|arg7 =
number '''Game.gravity'''<br>
|arg8 =
number '''Game.tidal'''<br>
|arg9 =
number '''Game.windMin'''<br>
|return = {{type|bool}} has_fullread
number '''Game.windMax'''<br>
|info = <font color="maroon" style="font-weight:600">No description available</font>
number '''Game.extractorRadius'''<br>
}}
number '''Game.waterDamage'''<br>
table '''Game.envDamageTypes''' <font color="#55ee99">Containing {def}IDs of environmental-damage sources {{new|104.0}}.</font>


= Mod =
string '''Game.gameName''' {{new|95.0}}<br>
string '''Game.gameShortName''' {{new|95.0}}<br>
string '''Game.gameVersion''' {{new|95.0}}<br>
string '''Game.gameMutator''' {{new|95.0}}<br>
string '''Game.gameDesc''' {{new|95.0}}


{{LuaCallout
string '''Game.modName''' <span class=warning>deprecated (it is in contrast to gameName appended with gameVersion!)</span><br>
|prefix = Script.
string '''Game.modShortName''' <span class=warning>deprecated</span><br>
|name = GetCtrlTeam
string '''Game.modVersion''' <span class=warning>deprecated</span><br>
|arg1 =  
string '''Game.modMutator''' <span class=warning>deprecated</span><br>
|arg2 =  
string '''Game.modDesc''' <span class=warning>deprecated</span>
|arg3 =  
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|number}} ctrl_teamID
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}


boolean '''Game.allowTeamColors'''<br>
number '''Game.transportAir'''<br>
number '''Game.transportShip'''<br>
number '''Game.transportHover'''<br>
number '''Game.transportGround'''<br>
number '''Game.fireAtKilled'''<br>
number '''Game.fireAtCrashing'''<br>
boolean '''Game.requireSonarUnderWater'''


{{LuaCallout
= Constructor =
|prefix = Script.
boolean '''Game.constructionDecay'''<br>
|name = GetReadTeam
number '''Game.constructionDecayTime'''<br>
|arg1 =
number '''Game.constructionDecaySpeed'''<br>
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|number}} read_teamID
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}


number '''Game.multiReclaim'''<br>
number '''Game.reclaimMethod'''<br>
number '''Game.reclaimUnitMethod'''<br>
number '''Game.reclaimUnitEnergyCostFactor'''<br>
number '''Game.reclaimUnitEfficiency'''<br>
number '''Game.reclaimFeatureEnergyCostFactor'''<br>
boolean '''Game.reclaimAllowEnemies'''<br>
boolean '''Game.reclaimAllowAllies'''<br>
number '''Game.repairEnergyCostFactor'''<br>
number '''Game.resurrectEnergyCostFactor'''<br>
number '''Game.captureEnergyCostFactor'''


{{LuaCallout
= Categories =
|prefix = Script.
table '''Game.springCategories'''
|name = GetReadAllyTeam
<font color="#55ee99">
|arg1 =  
  example: {
|arg2 =  
    ["vtol"]        = 0,  ["special"]      = 1,  ["noweapon"]    = 2,
|arg3 =  
    ["notair"]      = 3,  ["notsub"]      = 4,  ["all"]          = 5,
|arg4 =
    ["weapon"]      = 6,  ["notship"]      = 7,  ["notland"]      = 8,
|arg5 =
    ["mobile"]      = 9,  ["kbot"]        = 10, ["antigator"]    = 11,
|arg6 =
    ["tank"]        = 12, ["plant"]        = 13, ["ship"]        = 14,
|arg7 =
    ["antiemg"]      = 15, ["antilaser"]    = 16, ["antiflame"]    = 17,
|arg8 =
    ["underwater"]  = 18, ["hover"]        = 19, ["phib"]        = 20,
|arg9 =
    ["constr"]      = 21, ["strategic"]    = 22, ["commander"]    = 23,
|return = {{type|number}} read_allyTeamID
    ["paral"]        = 24, ["jam"]          = 25, ["mine"]        = 26,
|info = <font color="maroon" style="font-weight:600">No description available</font>
    ["kamikaze"]    = 27, ["minelayer"]    = 28, ["notstructure"] = 29,
}}
    ["air"]          = 30
  }</font>
table '''Game.armorTypes''' <font color="#55ee99">(bidirectional)</font>
<font color="#55ee99">
  example: {
    [1]  = amphibious,  [2] = anniddm,    [3] = antibomber,
    [4]  = antifighter,  [5] = antiraider,  [6] = atl,
    [7]  = blackhydra,  [8] = bombers,    [9] = commanders,
    [10] = crawlingbombs, ...


    ["amphibious"]  = 1, ["anniddm"]    = 2, ["antibomber"] = 3
    ["antifighter"]  = 4, ["antiraider"] = 5, ["atl"]        = 6
    ["blackhydra"]  = 7, ["bombers"]    = 8, ["commanders"] = 9
    ["crawlingbombs"]= 10, ...
  }</font>


{{LuaCallout
= Water Visuals =
|prefix = Script.
{{removed|104.0}} - No longer constant as are now runtime mutable (Use gl.GetWaterRendering(name) instead).
|name = GetSelectTeam
|arg1 =
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|number}} select_teamID
|info = Defines which teamunits can be selected via Spring.SelectUnitMap/Spring.SelectUnitArray.
}}
 
 
{{LuaCallout
|prefix = Script.
|name = GetGlobal
|arg1 =
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}} {{pipe}} {{type|table}} globalEnv
|info = Returns nil if not in dev-mode.
}}
 
 
{{LuaCallout
|prefix = Script.
|name = GetRegistry
|arg1 =
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}} {{pipe}} {{type|table}} registryEnv
|info = Returns nil if not in dev-mode.
}}
 
 
{{LuaCallout
|prefix = Script.
|name = GetCallInList
|arg1 =
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|table}} known_callins
|info = Known CallIns are:
}}
  <span class=note>known_callins = {
    ["CallInName"] = { unsynced = boolean, controller = boolean }, (`controller` is true for<br>      all CallIns which's return values are used by the engine for synced code,<br>      e.g. "AllowUnitCreation" is a controller)
    ...
  }
 
 
{{LuaCallout
|prefix = Script.
|name = IsEngineMinVersion
|arg1 = major {{bracket}}, minor {{bracket}}, commits {{rbracket}}{{rbracket}}
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}} {{pipe}} {{type|boolean}} isMinVersion
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
==Special team constants==
 
{{type|number}} NO_ACCESS_TEAM
: <font color="maroon" style="font-weight:600">No description available</font>
 
 
{{type|number}} ALL_ACCESS_TEAM
: <font color="maroon" style="font-weight:600">No description available</font>
 
 
=LuaUI only=
 
{{LuaCallout
|prefix = Spring.
|name = SetShockFrontFactors
|arg1 = {{type|number}} minArea
|arg2 = {{type|number}} minPower
|arg3 = {{type|number}} distAdj
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
 
{{LuaCallout
|prefix = Spring.
|name = UpdateCallIn
|arg1 = {{type|string}} callin_name
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
=LuaGadgets only=
==Synced==
 
{{type|number}} COBSCALE
: Number containing the cobscale factor, which is applied to transform the variables assigned via unit cob animation scripts for use inside the engine (default: 65536).
 
 
{{LuaCallout
|prefix = Script.
|name = AddActionFallback
|arg1 = {{type|string}} command
|arg2 = {{type|string}} help
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}} {{pipe}} {{type|boolean}} ???
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
 
{{LuaCallout
|prefix = Script.
|name = RemoveActionFallback
|arg1 = {{type|string}} command
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}} {{pipe}} {{type|boolean}} ???
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
 
{{LuaCallout
|prefix = Script.
|name = UpdateCallIn
|arg1 = {{type|string}} callin_name
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
 
{{LuaCallout
|prefix = Script.
|name = SetWatchFeature
|arg1 = {{type|number}} featureDefID
|arg2 = {{type|boolean}} enable
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = Enables the `UnitFeatureCollision` callin for a specific [[Gamedev:FeatureDefs|FeatureDef]].
}}
 
 
{{LuaCallout
|prefix = Script.
|name = GetWatchFeature
|arg1 = {{type|number}} featureDefID
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}} {{pipe}} {{type|boolean}} enabled
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
 
{{LuaCallout
|prefix = Script.
|name = SetWatchUnit
|arg1 = {{type|number}} unitDefID
|arg2 = {{type|boolean}} enable
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = Enables the `UnitUnitCollision`, `UnitFeatureCollision` and `UnitMoveFailed` callins for a specific [[Gamedev:UnitDefs|UnitDef]].
}}
 
 
{{LuaCallout
|prefix = Script.
|name = GetWatchUnit
|arg1 = {{type|number}} unitDefID
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}} {{pipe}} {{type|boolean}} enabled
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
 
{{LuaCallout
|prefix = Script.
|name = SetWatchWeapon
|arg1 = {{type|number}} weaponDefID
|arg2 = {{type|boolean}} enable
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = Enables the `Explosion` and (as of 0.83+) `ProjectileCreated` and `ProjectileDestroyed` callins for a specific WeaponDef.
}}
 
 
{{LuaCallout
|prefix = Script.
|name = GetWatchWeapon
|arg1 = {{type|number}} weaponDefID
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}} {{pipe}} {{type|boolean}} enabled
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
 
{{LuaCallout
|prefix = Script.
|name = GetWatchWeapon
|arg1 = {{type|number}} weaponDefID
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}} {{pipe}} {{type|boolean}} enabled
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
 
{{LuaCallout
|prefix =
|name = SendToUnsynced
|arg1 = arg1
|arg2 = arg2
|arg3 = ...
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = Just nil, number, string and boolean datatypes are allowed as arguments! NO tables, userdatas, ...
}}
 
 
{{LuaCallout
|prefix =
|name = CallAsTeam
|arg1 = {{type|number}} teamID
|arg2 = lua_function f
|arg3 = arg1
|arg4 = arg2
|arg5 = ...
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info =
}}
or <br>
{{LuaCallout
|prefix =
|name = CallAsTeam
|arg1 = {{type|table}} access
|arg2 = lua_function f
|arg3 = arg1
|arg4 = arg2
|arg5 = ...
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = LOS checking depends on the `selected` team, this functions allows to select another one.
}}
  <span class=note>access = {
    [ctrl = number teamID,]
    [read = number teamID,]
    [select = number teamID,]
  }</span>
 
==Unsynced==
 
{{LuaCallout
|prefix = Script.
|name = UpdateCallIn
|arg1 = {{type|string}} callin_name
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}
 
 
{{LuaCallout
|prefix =
|name = CallAsTeam
|arg1 = {{type|number}} teamID
|arg2 = lua_function f
|arg3 = arg1
|arg4 = arg2
|arg5 = ...
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info =
}}
or <br>
{{LuaCallout
|prefix =
|name = CallAsTeam
|arg1 = {{type|table}} access
|arg2 = lua_function f
|arg3 = arg1
|arg4 = arg2
|arg5 = ...
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = LOS checking depends on the `selected` team, this functions allows to select another one.
}}
 
  <span class=note>access = {
    [ctrl = number teamID,]    (limits Spring.GiveOrderXYZ)
    [read = number teamID,]    (limits reading of unit params, e.g. Spring.GetUnitLosState)
    [select = number teamID,]    (limits Spring.SelectUnitXYZ)
  }</span>
 
=LuaRules only=
==Synced==
 
{{LuaCallout
|prefix = Script.
|name = PermitHelperAIs
|arg1 = {{type|boolean}} permit
|arg2 =
|arg3 =
|arg4 =
|arg5 =
|arg6 =
|arg7 =
|arg8 =
|arg9 =
|return = {{type|nil}}
|info = <font color="maroon" style="font-weight:600">No description available</font>
}}


boolean '''Game.waterVoid'''<br>
boolean '''Game.waterPlane'''<br>
string '''Game.waterTexture'''<br>
number '''Game.waterRepeatX'''<br>
number '''Game.waterRepeatY'''<br>
string '''Game.waterFoamTexture'''<br>
string '''Game.waterNormalTexture'''<br>
table  '''Game.waterCausticTextures''' <font color="#55ee99">= {"tex1","tex2",..}</font><br>
color  '''Game.waterAbsorb''' <font color="#55ee99">= { number r, number g, number b}</font><br>
color  '''Game.waterBaseColor'''<br>
color  '''Game.waterMinColor'''<br>
color  '''Game.waterSurfaceColor'''<br>
number '''Game.waterSurfaceAlpha'''<br>
color  '''Game.waterSpecularColor'''<br>
number '''Game.waterSpecularFactor'''<br>
color  '''Game.waterPlaneColor'''<br>
number '''Game.waterFresnelMin'''<br>
number '''Game.waterFresnelMax'''<br>
number '''Game.waterFresnelPower'''<br>
color  '''Game.fogColor''' {{removed|101.0}} (Use gl.GetAtmosphere("fogColor") instead) <br>
color  '''Game.groundAmbientColor''' {{removed|101.0}} (Use gl.GetSun("ambient") instead) <br>
color  '''Game.groundSpecularColor''' {{removed|101.0}} (Use gl.GetSun("specular") instead) <br>
color  '''Game.groundSunColor''' {{removed|101.0}} (Use gl.GetSun("diffuse") instead)


[[category: Lua]]
[[category: Lua]]

Revision as of 22:21, 28 February 2021

Development < Lua Scripting < User:Master-athmos


Spring.SetUnitBlocking ( number unitID, boolean isBlocking, boolean isSolidObjectCollidable, boolean isProjectileCollidable, boolean isRaySegmentCollidable, boolean crushable, boolean blockEnemyPushing, boolean blockHeightChanges )
return: nil

No description available


Spring.SetUnitBuildSpeed ( number builderID, number buildSpeed, [number repairSpeed], [number reclaimSpeed], [number resurrectSpeed], [number captureSpeed], [number terraformSpeed] )
return: nil

No description available


Spring.SetUnitBuildSpeed ( number builderID, number buildSpeed, [number repairSpeed, [number reclaimSpeed, [number resurrectSpeed, [number captureSpeed, [number terraformSpeed ]]]]] )
return: nil

No description available

Development < Lua Scripting < User:Master-athmos


Engine

string Game.version Removed from version 104.0 Now in Lua_ConstEngine

string Game.buildFlags Removed from version 104.0 Now in Lua_ConstEngine

number Game.gameID Replaced in 89.0 with GameID(string gameID) synced callin

number Game.maxUnits
number Game.maxTeams
number Game.maxPlayers
number Game.squareSize Divide Game.mapSizeX or Game.mapSizeZ by this to get engine's "mapDims" coordinates
number Game.gameSpeed

Host

number Game.gameMode Removed from version 83.x
number Game.startPosType

boolean Game.commEnds Removed from version 83.x
boolean Game.limitDGun Removed from version 83.x
boolean Game.ghostedBuildings

Checksums

string Game.mapChecksum
string Game.modChecksum

Map

bool Game.mapDamage
string Game.mapName
string Game.mapDescription = string Game.mapHumanName
number Game.mapHardness
number Game.mapX
number Game.mapY
number Game.mapSizeX in worldspace/opengl coords. Divide by Game.squareSize to get engine's "mapDims" coordinates
number Game.mapSizeZ in worldspace/opengl coords. Divide by Game.squareSize to get engine's "mapDims" coordinates
number Game.gravity
number Game.tidal
number Game.windMin
number Game.windMax
number Game.extractorRadius
number Game.waterDamage
table Game.envDamageTypes Containing {def}IDs of environmental-damage sources New in version 104.0.

Mod

string Game.gameName New in version 95.0
string Game.gameShortName New in version 95.0
string Game.gameVersion New in version 95.0
string Game.gameMutator New in version 95.0
string Game.gameDesc New in version 95.0

string Game.modName deprecated (it is in contrast to gameName appended with gameVersion!)
string Game.modShortName deprecated
string Game.modVersion deprecated
string Game.modMutator deprecated
string Game.modDesc deprecated

boolean Game.allowTeamColors
number Game.transportAir
number Game.transportShip
number Game.transportHover
number Game.transportGround
number Game.fireAtKilled
number Game.fireAtCrashing
boolean Game.requireSonarUnderWater

Constructor

boolean Game.constructionDecay
number Game.constructionDecayTime
number Game.constructionDecaySpeed

number Game.multiReclaim
number Game.reclaimMethod
number Game.reclaimUnitMethod
number Game.reclaimUnitEnergyCostFactor
number Game.reclaimUnitEfficiency
number Game.reclaimFeatureEnergyCostFactor
boolean Game.reclaimAllowEnemies
boolean Game.reclaimAllowAllies
number Game.repairEnergyCostFactor
number Game.resurrectEnergyCostFactor
number Game.captureEnergyCostFactor

Categories

table Game.springCategories

 example: {
   ["vtol"]         = 0,  ["special"]      = 1,  ["noweapon"]     = 2,
   ["notair"]       = 3,  ["notsub"]       = 4,  ["all"]          = 5,
   ["weapon"]       = 6,  ["notship"]      = 7,  ["notland"]      = 8,
   ["mobile"]       = 9,  ["kbot"]         = 10, ["antigator"]    = 11,
   ["tank"]         = 12, ["plant"]        = 13, ["ship"]         = 14,
   ["antiemg"]      = 15, ["antilaser"]    = 16, ["antiflame"]    = 17,
   ["underwater"]   = 18, ["hover"]        = 19, ["phib"]         = 20,
   ["constr"]       = 21, ["strategic"]    = 22, ["commander"]    = 23,
   ["paral"]        = 24, ["jam"]          = 25, ["mine"]         = 26,
   ["kamikaze"]     = 27, ["minelayer"]    = 28, ["notstructure"] = 29,
   ["air"]          = 30
 }

table Game.armorTypes (bidirectional)

 example: {
   [1]  = amphibious,   [2] = anniddm,     [3] = antibomber,
   [4]  = antifighter,  [5] = antiraider,  [6] = atl,
   [7]  = blackhydra,   [8] = bombers,     [9] = commanders,
   [10] = crawlingbombs, ...
   ["amphibious"]   = 1, ["anniddm"]    = 2, ["antibomber"] = 3
   ["antifighter"]  = 4, ["antiraider"] = 5, ["atl"]        = 6
   ["blackhydra"]   = 7, ["bombers"]    = 8, ["commanders"] = 9
   ["crawlingbombs"]= 10, ...
 }

Water Visuals

Removed from version 104.0 - No longer constant as are now runtime mutable (Use gl.GetWaterRendering(name) instead).

boolean Game.waterVoid
boolean Game.waterPlane
string Game.waterTexture
number Game.waterRepeatX
number Game.waterRepeatY
string Game.waterFoamTexture
string Game.waterNormalTexture
table Game.waterCausticTextures = {"tex1","tex2",..}
color Game.waterAbsorb = { number r, number g, number b}
color Game.waterBaseColor
color Game.waterMinColor
color Game.waterSurfaceColor
number Game.waterSurfaceAlpha
color Game.waterSpecularColor
number Game.waterSpecularFactor
color Game.waterPlaneColor
number Game.waterFresnelMin
number Game.waterFresnelMax
number Game.waterFresnelPower
color Game.fogColor Removed from version 101.0 (Use gl.GetAtmosphere("fogColor") instead)
color Game.groundAmbientColor Removed from version 101.0 (Use gl.GetSun("ambient") instead)
color Game.groundSpecularColor Removed from version 101.0 (Use gl.GetSun("specular") instead)
color Game.groundSunColor Removed from version 101.0 (Use gl.GetSun("diffuse") instead)