|
|
| (15 intermediate revisions by the same user not shown) |
| Line 1: |
Line 1: |
| [[Engine_Development|Development]] < [[Lua_Scripting|Lua Scripting]] < {{FULLPAGENAME}} | | [[Engine_Development|Development]] < [[Lua_Scripting|Lua Scripting]] < {{FULLPAGENAME}} |
|
| |
|
| == Game == | | <span class="warning">These functions are ONLY available if the graphic board supports GLSL.<br><br> Please test in your scripts if one of them exists before you use them!</span> |
|
| |
|
| === Special TeamID Variables ===
| |
| <font color="red" style="font-weight:600">The following special TeamIDs are not supported by all functions. For Widgets, instead of Spring.MY_UNITS, use Spring.GetLocalTeamID().</font><br>
| |
|
| |
|
| | '''gl.CreateShader''' |
| | ({[ vertex = "glsl code" ,] |
| | [ tcs = "glsl code" ,] |
| | [ tes = "glsl code" ,] |
| | [ geometry = "glsl code" ,] |
| | [ fragment = "glsl code" ,] |
| | [ uniform = { uniformName = number value, ...} ,] <span class=note>(specify a Lua array as an argument to uniformName to initialize GLSL arrays)</span> |
| | [ uniformInt = { uniformName = number value, ...} ,] <span class=note>(specify a Lua array as an argument to uniformName to initialize GLSL arrays)</span> |
| | [ uniformFloat = { uniformName = number value, ...} ,] <span class=note>(specify a Lua array as an argument to uniformName to initialize GLSL arrays)</span> |
| | [ uniformMatrix = { uniformName = number value, ...} ,] |
| | [ geoInputType = number inType,] |
| | [ geoOutputType = number outType,] |
| | [ geoOutputVerts = number maxVerts,] |
| | [ definitions = "string of shader #defines", ] |
| | }) -> number shaderID |
|
| |
|
| {{LuaConstant
| | * The "Vertex" or vertex-shader is your GLSL-Code as string, its written in a C-Dialect. This shader is busy deforming the geometry of a unit but it can not create new polygons. Use it for waves, wobbling surfaces etc. |
| |type = number
| | |
| |name = Spring.ALL_UNITS
| | * The "Geometry" or Geometry-shader can create new vertices and vertice-stripes from points. |
| |info =
| |
| }}
| |
|
| |
|
| | * The "TCS" or Tesselation Control Shader controls how much tessellation a particular patch gets; it also defines the size of a patch, thus allowing it to augment data. It can also filter vertex data taken from the vertex shader. The main purpose of the TCS is to feed the tessellation levels to the Tessellation primitive generator stage, as well as to feed patch data (as its output values) to the Tessellation Evaluation Shader stage. TCS shader can be used with spring version >= 104.0.1-596 (maintenance), it's also available in develop branch of spring. |
|
| |
|
| {{LuaConstant
| | * The "TES" or Tesselation Evaluation Shader takes the abstract patch generated by the tessellation primitive generation stage, as well as the actual vertex data for the entire patch, and generates a particular vertex from it. Each TES invocation generates a single vertex. It can also take per-patch data provided by the Tessellation Control Shader. TES shader can be used with spring version >= 104.0.1-596 (maintenance), it's also available in develop branch of spring. |
| |type = number
| |
| |name = Spring.MY_UNITS
| |
| |info =
| |
| }}
| |
|
| |
|
| | * The "Fragment" or Fragment-shader (sometimes called pixel-Shader) is post processing the allready rendered picture (for example drawing stars on the sky)- remember textures are not always 2 dimensional pictures. They can contain information about the depth, or the third value marks areas and the strength at which these are processed. |
|
| |
|
| {{LuaConstant
| | * The Uniforms are the values, you send along with the shader-program. To use them in the shader-program declare them like this: |
| |type = number
| | <syntaxhighlight lang="c">uniform float frame;</syntaxhighlight> |
| |name = Spring.ALLY_UNITS
| |
| |info =
| |
| }}
| |
|
| |
|
| | * From 101.0 onwards, the engine will automatically fill in an appropriately named uniform for team colour if it is declared; |
| | <syntaxhighlight lang="c">uniform vec4 teamColor;</syntaxhighlight> |
|
| |
|
| {{LuaConstant
| | '''gl.DeleteShader''' |
| |type = number
| | ( number shaderID ) -> nil |
| |name = Spring.ENEMY_UNITS
| |
| |info =
| |
| }}
| |
|
| |
|
| | '''gl.ActiveShader''' <font color="#55ee99">can be used in NON-drawing events (to update uniforms etc.)!</font> |
| | ( number shaderID, function [, arg1 [, arg2, ..]] ) -> nil |
|
| |
|
| {{LuaCallout
| | '''gl.UseShader''' |
| |prefix = Spring.
| | ( number shaderID ) -> boolean linked |
| |name = GetGaiaTeamID
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} teamID
| |
| |info =
| |
| }}
| |
|
| |
|
| === GameStates ===
| | '''gl.GetShaderLog''' |
| | ( ) -> string "infoLog" |
|
| |
|
| {{LuaCallout
| | '''gl.SetShaderParameter''' |
| |prefix = Spring.
| | <font color="#ff0000">Renamed to SetGeometryShaderParameter in spring version >= 104.0.1-596 (maintenance).</font> |
| |name = IsGodModeEnabled
| | <font color="#55ee99">needed by geometry shader programs (check the opengl GL_ARB_geometry_shader4 extension for glProgramParameteri)</font> |
| |arg1 =
| | ( number shaderID, number param, number value ) -> nil |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} enabled
| |
| |info =
| |
| }}
| |
|
| |
|
| | '''gl.SetTesselationShaderParameter''' |
| | <font color="#0000ee">Available for spring versions >= 104.0.1-596 (maintenance).</font> |
| | <font color="#55ee99">needed by tesselation shader programs (check the opengl GL_ARB_tessellation_shader extension for glProgramParameteri)</font> |
| | ( number param, number value ) -> nil |
|
| |
|
| {{LuaCallout | | '''gl.GetActiveUniforms''' |
| |prefix = Spring.
| | ( number shaderID ) -> { |
| |name = IsCheatingEnabled
| | [1] = { name = "name", type = "type", length = number length, size = number size }, |
| |arg1 =
| | ... |
| |arg2 =
| | } |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} enabled
| |
| |info =
| |
| }}
| |
|
| |
|
| | '''gl.GetUniformLocation''' |
| | ( number shaderID, name uniformName ) -> number locationID |
|
| |
|
| | '''gl.Uniform''' |
| | ( number locationID, number f1 [,number f2 [,number f3 [,number f4]]] ) -> nil |
|
| |
|
| {{LuaCallout
| | '''gl.UniformInt''' |
| |prefix = Spring.
| | ( number locationID, number int1 [,number int2 [,number int3 [,number int4]]] ) -> nil |
| |name = IsDevLuaEnabled
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} enabled
| |
| |info =
| |
| }}
| |
|
| |
|
| | '''gl.UniformArray''' {{new|95.0}} |
| | ( number locationID, number type, table uniforms ) -> nil |
| | <span class="note">type can be one of {1 = int, 2 = float, 3 = float matrix}. In 104.0 the maximum length of the uniforms table increased from 32 entries to 1024.</span> |
|
| |
|
| {{LuaCallout
| | '''gl.UniformMatrix''' |
| |prefix = Spring.
| | ( number locationID, |
| |name = IsEditDefsEnabled
| | "shadow" | |
| |arg1 =
| | "camera" | |
| |arg2 =
| | "caminv" | |
| |arg3 =
| | "camprj" | |
| |arg4 =
| | number m1, number m2, number m3, number m4 | |
| |arg5 =
| | number m1, ... , number m9 | |
| |arg6 =
| | number m1, ... , number m16 |
| |arg7 =
| | ) -> nil |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} enabled
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = AreHelperAIsEnabled
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} enabled
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = FixedAllies
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} enabled
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = IsGameOver
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} enabled
| |
| |info =
| |
| }}
| |
| | |
| === RulesParams ===
| |
| <span class=note>The following functions allow to save data per game, team and unit. The advantage of it is that it can be read from anywhere (even from LuaUI and AIs!)</span><br>
| |
| <span class=warning>String values are new since 95.0.</span>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGameRulesParam
| |
| |arg1 = {{type|number}} ruleIndex {{pipe}} {{type|string}} ruleName
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} value {{pipe}} {{type|string}} value
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGameRulesParams
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} { {{bracket|ruleName1}} = {{type|number}} value1 {{pipe}} {{type|string}} value1, ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamRulesParam
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|number}} index {{pipe}} {{type|string}} ruleName
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} value {{pipe}} {{type|string}} value
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamRulesParams
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} { {{bracket|ruleName1}} = {{type|number}} value1 {{pipe}} {{type|string}} value1, ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitRulesParam
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} index {{pipe}} {{type|string}} ruleName
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} value {{pipe}} {{type|string}} value
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitRulesParams
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} { {{bracket|ruleName1}} = {{type|number}} value1 {{pipe}} {{type|string}} value1, ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureRulesParam
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|number}} index {{pipe}} {{type|string}} ruleName
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} value {{pipe}} {{type|string}} value
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureRulesParams
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} { {{bracket|ruleName1}} = {{type|number}} value1 {{pipe}} {{type|string}} value1, ... }
| |
| |info =
| |
| }}
| |
| | |
| === Mod-/Map-Options ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetModOptions
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { } {{pipe}} { "keyName1" = {{type|string}} "value", "keyName2" = {{type|string}} "value", ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetMapOptions
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { } {{pipe}} { "keyName1" = {{type|string}} "value", "keyName2" = {{type|string}} "value", ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| <span class="warning">Warning:</span> boolean values are not transfered from C to Lua correctly. For this reason the respective option has to be converted to a number and checked accordingly via an IF statement as shown below:<br>
| |
| <pre>if (tonumber(Spring.GetModOptions.exampleOption) == 1) then...end</pre>
| |
| The following check therefore is insufficient!
| |
| <pre>if (Spring.GetModOptions.exampleOption) then...end</pre>
| |
| | |
| === Speed/Time ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGameSpeed
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} userSpeedFactor, {{type|number}} speedFactor, {{type|bool}} paused
| |
| |info = <span class="warning">As of 98.0 moved to [[Lua_UnsyncedRead]] due to desyncs in replays/demos</span>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGameFrame
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} frameNum%dayFrames, {{type|number}} frameNum/dayFrames
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGameSeconds
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} seconds
| |
| |info =
| |
| }}
| |
| | |
| === Vectors ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetWind
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ, {{type|number}} strength, {{type|number}} normDirX, {{type|number}} normDirY, {{type|number}} normDirZ
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetHeadingFromVector
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} heading
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetVectorFromHeading
| |
| |arg1 = {{type|number}} heading
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} x, {{type|number}} z
| |
| |info =
| |
| }}
| |
| | |
| == Sides/Factions ==
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetSideData
| |
| |arg1 = {{type|string}} sideName
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} startUnit, {{type|string}} caseSensitiveSideName
| |
| |info =
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetSideData
| |
| |arg1 = {{type|number}} sideID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} sideName, {{type|string}} startUnit, {{type|string}} caseSensitiveSideName
| |
| |info =
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetSideData
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { {{bracket|1}} = { sideName = {{type|string}}, caseName = {{type|string}}, startUnit = {{type|string}}} }, {{bracket|2}} = { ..., ..., ... }, ... }
| |
| |info =
| |
| }}
| |
| | |
| == Teams ==
| |
| === StartBoxes/StartPositions ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetAllyTeamStartBox
| |
| |arg1 = {{type|number}} allyID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} xMin, {{type|number}} zMin, {{type|number}} xMax, {{type|number}} zMax
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamStartPosition
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} x, {{type|number}} y, {{type|number}} z
| |
| |info =
| |
| }}
| |
| | |
| === Player,Team,Ally Lists/Info ===
| |
| | |
| Note: AIs are associated to teamIDs (and do not have playerIDs). Code to cycle through AI teamIDs can be found [https://springrts.com/phpbb/viewtopic.php?f=21&t=36873#p586026 here]
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetPlayerList
| |
| |arg1 = {{bracket}} {{type|number}} teamID = -1 {{pipe}} {{type|bool}} onlyActive = false {{bracket}}
| |
| |arg2 = {{type|number}} teamID {{pipe}} {{type|bool}} onlyActive {{rbracket}} {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} { {{bracket|1}} = {{type|number}} playerID, etc... }
| |
| |info = From 104.0 onwards spectators will be ignored if a valid (>=0) teamID is given.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamList
| |
| |arg1 = {{bracket}} {{type|number}} allyTeamID = -1 {{rbracket}}
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} { {{bracket|1}} = {{type|number}} teamID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetAllyTeamList
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { {{bracket|1}} = {{type|number}} teamID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetPlayerInfo
| |
| |arg1 = {{type|number}} playerID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} "name", {{type|bool}} active, {{type|bool}} spectator, {{type|number}} teamID, {{type|number}} allyTeamID, {{type|number}} pingTime, {{type|number}} cpuUsage, {{type|string}} "country", {{type|number}} rank, {{type|table}} customPlayerKeys
| |
| |info = PRE-83.0: in synced code "name" is "SYNCED_NONAME"!
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetPlayerControlledUnit
| |
| |arg1 = {{type|number}} playerID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} unitID
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetAIInfo
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} skirmishAIID, {{type|string}} "name", {{type|number}} hostingPlayerID, {{type|string}} "shortName", {{type|string}} "version", {{type|table}} options
| |
| |info = Note: Before 0.82, the first argument was teamID, and then every other argument with a shifted position.<br><br>shortName, <span class="note">(synced => "SYNCED_NOSHORTNAME"; non-local => "UNKNOWN")</span><br>version, <span class="note">(synced => "SYNCED_NOVERSION"; non-local => "UNKNOWN")</span><br>options <span class="note">(synced & non-local => empty-table)</span>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetAllyTeamInfo
| |
| |arg1 = {{type|number}} allyteamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} customTeamKeys
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamInfo
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} teamID, {{type|number}} leader, {{type|bool}} isDead, {{type|bool}} isAiTeam, {{type|string}} "side", {{type|number}} allyTeam, {{type|number}} incomeMultiplier, {{type|table}} customTeamKeys
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamResources
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|string}} "metal" {{pipe}} "energy"
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} currentLevel, {{type|number}} storage, {{type|number}} pull, {{type|number}} income, {{type|number}} expense, {{type|number}} share, {{type|number}} sent, {{type|number}} received
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamUnitStats
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} killed, {{type|number}} died, {{type|number}} capturedBy, {{type|number}} capturedFrom, {{type|number}} received, {{type|number}} sent
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamUnitStats
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|string}} "metal" {{pipe}} "energy"
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} used, {{type|number}} produced, {{type|number}} excessed, {{type|number}} received, {{type|number}} sent
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamUnitStats
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} cur_max_index
| |
| |info = cur_max_index is possible range for startIndex/endIndex :={1..cur_max_index}
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamUnitStats
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|number}} startIndex {{bracket}}
| |
| |arg3 = {{type|number}} endIndex = startIndex {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} stats (see below for table content description)
| |
| |info =
| |
| }}
| |
| <pre> table stats = {
| |
| [1] = {
| |
| "time" = number,
| |
| "frame" = number,
| |
| "metalUsed" = number,
| |
| "metalProduced" = number,
| |
| "metalExcess" = number,
| |
| "metalReceived" = number,
| |
| "metalSent" = number,
| |
| "energyUsed" = number,
| |
| "energyProduced" = number,
| |
| "energyExcess" = number,
| |
| "energyReceived" = number,
| |
| "energySent" = number,
| |
| "damageDealt" = number,
| |
| "damageReceived" = number,
| |
| "unitsProduced" = number,
| |
| "unitsDied" = number,
| |
| "unitsReceived" = number,
| |
| "unitsSent" = number,
| |
| "unitsCaptured" = number,
| |
| "unitsOutCaptured" = number,
| |
| "unitsKilled" = number
| |
| }, ...
| |
| }</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamLuaAI
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|string}} "luaAI"
| |
| |info = Returns string containing name of AI defined in file LuaAI.lua as name="<AI name>". Maybe it returns whole table with all values there, but in my LuaAI.lua name is on first position...
| |
| }}
| |
| | |
| === Teams/PlayersAllied ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = AreTeamsAllied
| |
| |arg1 = {{type|number}} teamID1
| |
| |arg2 = {{type|number}} teamID2
| |
| |arg3 = ...
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} isAllied
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = ArePlayersAllied
| |
| |arg1 = {{type|number}} playerID1
| |
| |arg2 = {{type|number}} playerID2
| |
| |arg3 = ...
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} isAllied
| |
| |info =
| |
| }}
| |
| | |
| == Units ==
| |
| === GetUnits ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetAllUnits
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} unitTable = { {{bracket|1}} = {{type|number}} unitID, ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamUnits
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} unitTable = { {{bracket|1}} = {{type|number}} unitID, ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamUnitsSorted
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} unitDefTable = { {{bracket}}{{type|number}} unitDefID{{rbracket}} = { {{bracket|1}} = {{type|number}} unitID, ... }, ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamUnitsCounts
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} countTable = { {{bracket}}{{type|number}} unitDefID{{rbracket}} = count, ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamUnitsByDefs
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|number}} unitDefID {{pipe}} tableUnitDefs = { {{type|number}} unitDefID1, ... }
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} unitTable = { {{bracket|1}} = {{type|number}} unitID, ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamUnitDefCount
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|number}} unitDefID
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} count
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTeamUnitCount
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} count
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitsInRectangle
| |
| |arg1 = {{type|number}} xmin
| |
| |arg2 = {{type|number}} zmin
| |
| |arg3 = {{type|number}} xmax
| |
| |arg4 = {{type|number}} zmax {{bracket}}
| |
| |arg5 = {{type|number}} teamID {{rbracket}}
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} unitTable = { {{bracket|1}} = {{type|number}} unitID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitsInBox
| |
| |arg1 = {{type|number}} xmin, {{type|number}} ymin, {{type|number}} zmin
| |
| |arg2 = {{type|number}} xmax, {{type|number}} ymax, {{type|number}} zmax {{bracket}}
| |
| |arg3 = {{type|number}} teamID {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} unitTable = { {{bracket|1}} = {{type|number}} unitID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitsInSphere
| |
| |arg1 = {{type|number}} x, {{type|number}} y, {{type|number}} z
| |
| |arg2 = {{type|number}} radius {{bracket}}
| |
| |arg3 = {{type|number}} teamID {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} unitTable = { {{bracket|1}} = {{type|number}} unitID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitsInCylinder
| |
| |arg1 = {{type|number}} x, {{type|number}} z
| |
| |arg2 = {{type|number}} radius {{bracket}}
| |
| |arg3 = {{type|number}} teamID {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} unitTable = { {{bracket|1}} = {{type|number}} unitID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitsInPlanes
| |
| |arg1 = {{type|table}} planes = { {{bracket|1}} = {{type|number}} normalVecX, {{type|number}} normalVecY, {{type|number}} normalVecZ, {{type|number}} d }, etc... }
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} unitTable = { {{bracket|1}} = {{type|number}} unitID, etc... }
| |
| |info = Plane normals point towards accepted space, so the acceptance criteria for each plane is:
| |
| }}
| |
| <pre> radius = unit radius
| |
| px, py, pz = unit position
| |
| [(nx * px) + (ny * py) + (nz * pz) + (d - radius)] <= 0</pre>
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitNearestAlly
| |
| |arg1 = {{type|number}} unitID {{bracket}}
| |
| |arg2 = {{type|number}} range {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} unitID
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitNearestEnemy
| |
| |arg1 = {{type|number}} unitID {{bracket}}
| |
| |arg2 = {{type|number}} range {{bracket}}
| |
| |arg3 = {{type|bool}} useLOS {{rbracket}}{{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} unitID
| |
| |info = Post 95.0 this no longer returns neutral units.
| |
| }}
| |
| | |
| === Unit Informations ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = ValidUnitID
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} valid
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitIsDead
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} isDead
| |
| |info = Returns false if unit exists and is alive, true for a brief period of time after unit dies, nil otherwise. Keep this in mind when using (not Spring.GetUnitIsDead() ).
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitTooltip
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} tooltip
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitDefID
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} unitDefID
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitTeam
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} teamID
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitAllyTeam
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} allyID
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitLineage
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} lineage {{pipe}} {{type|number}} lineage, {{type|bool}} lineageIsRoot
| |
| |info = {{Removed|83.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitNeutral
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} neutral
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitHealth
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} health, {{type|number}} maxHealth, {{type|number}} paralyzeDamage, {{type|number}} captureProgress, {{type|number}} buildProgress
| |
| |info = Build progress is returned as floating point number between 0.0 and 1.0.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitArmored
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} armored, {{type|number}} armorMultiple
| |
| |info = armorMultiple new in version 0.83.x.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitIsStunned
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} stunned_or_inbuild, {{type|bool}} stunned, {{type|bool}} inbuild
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitMaxRange
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} maxEngagementRange
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitResources
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} metalMake, {{type|number}} metalUse, {{type|number}} energyMake, {{type|number}} energyUse
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitHarvestStorage
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} metal
| |
| |info = See also {{xtaglink|Gamedev:UnitDefs|harvestStorage}} UnitDef tag.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitMetalExtraction
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} metalExtraction
| |
| |info = 0.82+ and later
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitExperience
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} experience
| |
| |info = 0.82+ and later
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitStates
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} unitStates
| |
| |info = The unitStates table arguments are:
| |
| }}
| |
| <pre>unitStates = {
| |
| "firestate" = number,
| |
| "movestate" = number,
| |
| "repeat" = boolean,
| |
| "cloak" = boolean,
| |
| "active" = boolean,
| |
| "trajectory" = boolean,
| |
| ["autoland" = boolean,]
| |
| ["autorepairlevel" = number,]
| |
| ["loopbackattack" = boolean]
| |
| } </pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitIsActive
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} active
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitIsCloaked
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} isCloaked
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitSelfDTime
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} time
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitStockpile
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} numStockpiled, {{type|number}} numStockpileQued, {{type|number}} buildPercent
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitHeight
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} height
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitRadius
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} radius
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitMass
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} mass
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitBlocking
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} isBlocking, {{type|bool}} isSolidObjectCollidable, {{type|bool}} isProjectileCollidable, {{type|bool}} isRaySegmentCollidable, {{type|bool}} crushable, {{type|bool}} blockEnemyPushing, {{type|bool}} blockHeightChanges
| |
| |info = {{new|95.0}}<br>Additional output arguments.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitPosition
| |
| |arg1 = {{type|number}} unitID {{bracket}}
| |
| |arg2 = {{type|bool}} midPos {{bracket}}
| |
| |arg3 = {{type|bool}} aimPos {{rbracket}}{{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} basePointX, {{type|number}} basePointY, {{type|number}} basePointZ {{bracket}}, {{type|number}} midPointX, {{type|number}} midPointY, {{type|number}} midPointZ {{bracket}}, {{type|number}} aimPointX, {{type|number}} aimPointY, {{type|number}} aimPointZ {{rbracket}}{{rbracket}}
| |
| |info = Since 89.0, returns the base (default), middle or aim position of the unit.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitBasePosition
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ
| |
| |info = {{Removed|89.0}} Use GetUnitPosition instead. Returned the bottom of the unit.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitDirection
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ
| |
| |info = Returns the direction vector.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitHeading
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} heading
| |
| |info = Returns heading directions used in COB scripts.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitRotation
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} pitch, {{type|number}} yaw, {{type|number}} roll
| |
| |info = {{New|95.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitVelocity
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} velX, {{type|number}} velY, {{type|number}} velZ, {{type|number}} velLength
| |
| |info = VelLength new in 95.0, it returns the velocity length in one frame. Multiply by 30 (game frames/s) to get an equivalent to unitDef.speed.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitBuildFacing
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} facing
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitIsBuilding
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} unitID
| |
| |info = Returns what unit a constructor/factory is currently building.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitCurrentBuildPower
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} buildPower
| |
| |info = {{new|92.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitNanoPieces
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} { {{bracket|1}} = {{type|number}} piece1, etc ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitTransporter
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} unitID
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitIsTransporting
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} { {{bracket|1}} = {{type|number}} unitID, etc ... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitShieldState
| |
| |arg1 = {{type|number}} unitID {{bracket}}
| |
| |arg2 = {{type|number}} weaponID = -1 {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} isEnabled, {{type|number}} curPower
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitTravel
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} travel, {{type|number}} travelPeriod
| |
| |info = Marked as deprecated.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitFuel
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} fuel
| |
| |info = Marked as deprecated.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitFlanking
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|string}} "dir"
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} x, {{type|number}} y, {{type|number}} z
| |
| |info =
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitFlanking
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|string}} "mode" {{pipe}} {{type|string}} "dir" {{pipe}} {{type|string}} "moveFactor" {{pipe}} {{type|string}} "minDamage" {{pipe}} {{type|string}} "maxDamage"
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} flankingBonusMode {{pipe}} {{type|number}} flankingBonusDir.x, {{type|number}} flankingBonusDir.y, {{type|number}} flankingBonusDir.z {{pipe}} {{type|number}} flankingBonusMobilityAdd {{pipe}} {{type|number}} minDamage {{pipe}} {{type|number}} maxDamage
| |
| |info =
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitFlanking
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} mode, {{type|number}} modilityAdd, {{type|number}} minDamage, {{type|number}} maxDamage, {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitSensorRadius
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|string}} type
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} radius
| |
| |info = Possible types are:<br>los, airLos, radar, sonar, seismic, radarJammer, sonarJammer
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitLosState
| |
| |arg1 = {{type|number}} unitID {{bracket}}
| |
| |arg2 = {{type|number}} allyTeamID {{bracket}}
| |
| |arg3 = {{type|bool}} raw {{rbracket}}{{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} raw {{pipe}} {{bracket}} {{type|string}} "los" = true {{bracket}}, {{type|string}} "radar" = true {{bracket}}, {{type|string}} "typed" = true {{rbracket}}{{rbracket}}{{rbracket}}
| |
| |info = Raw is only available in gadgets.
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitSeparation
| |
| |arg1 = {{type|number}} unitID1
| |
| |arg2 = {{type|number}} unitID2 {{bracket}}
| |
| |arg3 = {{type|bool}} 2D {{bracket}}
| |
| |arg4 = {{type|bool}} surfaceDist {{rbracket}}{{rbracket}}
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} distance
| |
| |info = SurfaceDist new in 95.0. Returns the distance of two units. SurfaceDist calculates the distance between the unitsphere surfaces instead of their midpos.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitFeatureSeparation
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} featureID {{bracket}}
| |
| |arg3 = {{type|bool}} 2D {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} distance
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitDefDimensions
| |
| |arg1 = {{type|number}} unitDefID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} defDimensions
| |
| |info = DefDimensions table arguments are:
| |
| }}
| |
| <pre>defDimensions = {
| |
| "height" = number,
| |
| "radius" = number,
| |
| "midx" = number,
| |
| "minx" = number,
| |
| "maxx" = number,
| |
| "midy" = number,
| |
| "miny" = number,
| |
| "maxy" = number,
| |
| "midz" = number,
| |
| "minz" = number,
| |
| "maxz" = number
| |
| }</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitLastAttacker
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} unitID
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitLastAttackedPiece
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} pieceName, {{type|number}} gameframe
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitMoveTypeData
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} movetypeData
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitCollisionVolumeData
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} scaleX, {{type|number}} scaleY, {{type|number}} scaleZ, {{type|number}} offsetX, {{type|number}} offsetY, {{type|number}} offsetZ, {{type|number}} volumeType, {{type|number}} testType, {{type|number}} primaryAxis, {{type|bool}} disabled
| |
| |info =
| |
| }}
| |
| | |
| ==== Unit Weapon Informations ====
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponState
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} angleGood, {{type|bool}} loaded, {{type|number}} reloadFrame, {{type|number}} salvoLeft, {{type|number}} numStockpiled
| |
| |info =
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponState
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 = {{type|string}} tag
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} tagVariable
| |
| |info = String argument "tag" can return a specific variable. Possilbe tags are:
| |
| }}
| |
| <pre> "reloadState" == "reloadFrame"
| |
| "reloadTime"
| |
| "accuracy"
| |
| "sprayAngle"
| |
| "range"
| |
| "projectileSpeed"
| |
| "burst"
| |
| "burstRate"
| |
| "projectiles"
| |
| | |
| The following 4 tags were added in 104.0:
| |
| "salvoError"
| |
| "salvoLeft"
| |
| "nextSalvo"
| |
| "targetMoveError"</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponDamages
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum {{pipe}} {{type|string}} "selfDestruct" {{pipe}} {{type|string}} "explode"
| |
| |arg3 = {{type|string}} tag
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} tagVariable
| |
| |info = String argument "tag" can return a specific variable. Possilbe tags are:
| |
| }}
| |
| <pre> "paralyzeDamageTime"
| |
| "impulseFactor"
| |
| "impulseBoost"
| |
| "craterMult"
| |
| "craterBoost"
| |
| "dynDamageExp"
| |
| "dynDamageMin"
| |
| "dynDamageRange"
| |
| "dynDamageInverted"
| |
| "craterAreaOfEffect"
| |
| "damageAreaOfEffect"
| |
| "edgeEffectiveness"
| |
| "explosionSpeed"
| |
| - or -
| |
| an armor type index to get the damage against it.</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponVectors
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ, {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponTryTarget
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 = {{type|number}} targetID {{pipe}} {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} success
| |
| |info = {{new|94.0}}<br>For a position it just checks if the weapon can attackGround. For a unit existance, category, death status, crashing status, LOS status, neutral status, ally status and transport status are checked.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponTestTarget
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 = {{type|number}} targetID {{pipe}} {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} success
| |
| |info = {{new|94.0}}<br>Checks TryTarget, TestRange, and that weapon emit point is not below ground, then checks FreeLineOfFire.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponTestRange
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 = {{type|number}} targetID {{pipe}} {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} success
| |
| |info = {{new|94.0}}<br>Checks if target is in range including height modifiers and cylinder targeting if set.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponHaveFreeLineOfFire
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 = {{type|number}} targetID {{pipe}} {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} success
| |
| |info = {{new|94.0}}<br>Runs a raytrace from unit aimpoint respecting collision flags.
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponHaveFreeLineOfFire
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 = {{type|number}} targetID {{pipe}} {{bracket}} {{type|number}} srcPosX {{bracket}}
| |
| |arg4 = {{type|number}} srcPosY {{bracket}}
| |
| |arg5 = {{type|number}} srcPosZ {{bracket}}
| |
| |arg6 = {{type|number}} tgtPosX {{bracket}}
| |
| |arg7 = {{type|number}} tgtPosY {{bracket}}
| |
| |arg8 = {{type|number}} tgtPosZ {{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} success
| |
| |info = {{new|104.0}}<br>The param list was changed so that the source firing position can also be passed.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponCanFire
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} canFire
| |
| |info = {{new|95.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitWeaponTarget
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} 0 {{pipe}} {{type|number}} 1, {{type|bool}} isUserTarget, {{type|number}} unitID {{pipe}} {{type|number}} 2, {{type|bool}} isUserTarget, { {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ } {{pipe}} {{type|number}} 3, {{type|bool}} isUserTarget, {{type|number}} projectileID
| |
| |info = {{new|95.0}}<br>Returned number of args is always 3 if targetType != None.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetRadarErrorParams
| |
| |arg1 = {{type|number}} allyTeamID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} allyteamErrorSize, {{type|number}} baseErrorSize, {{type|number}} baseErrorMult
| |
| |info = {{new|95.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitPosErrorParams
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} posErrorVector.x, {{type|number}} posErrorVector.y, {{type|number}} posErrorVector.z, {{type|number}} posErrorDelta.x, {{type|number}} posErrorDelta.y, {{type|number}} posErrorDelta.z, {{type|number}} nextPosErrorUpdatebaseErrorMult
| |
| |info = {{new|95.0}}
| |
| }}
| |
| | |
| ==== Unit LOS ====
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = IsUnitInLos
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} allyID
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} inLOS
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = IsUnitInAirLos
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} allyID
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} inAirLOS
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = IsUnitInRadar
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} allyID
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} inRadar
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = IsUnitInJammer
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} allyID
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} inJammer
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| === Unit Pieces ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitVectors
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} { {{type|number}} frontX, {{type|number}} frontY, {{type|number}} frontZ } , { {{type|number}} upX, {{type|number}} upY, {{type|number}} upZ } , { {{type|number}} rightX, {{type|number}} rightY, {{type|number}} rightZ }
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitPiecePosition
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} piece
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ
| |
| |info = Returns piece position in unit space. Also remember to multiply the x-axis value with -1 if you want to move a piece to another piece.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitPieceDirection
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} piece
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ
| |
| |info = Fixed since 101. Now returns the same direction as Spring.GetUnitPiecePosDir.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitPiecePosDir
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} pieceNum
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ, {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ
| |
| |info = Returns piece position and direction in world space. The direction (dirX, dirY, dirZ) is not necessarily normalized. The position is defined as the position of the first vertex of the piece and it defines direction as the direction in which the line from the first vertex to the second vertex points.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitPieceMatrix
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} piece
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { {{bracket|1}} = {{type|number}}, ... , {{bracket|16}} = {{type|number}} }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitPieceList
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { {{bracket|1}} = {{type|string}} "piecename", ... , {{bracket|pieceNumN}} = {{type|string}} "piecename" }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitPieceMap
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { {{type|string}} "piecename1" = {{type|number}} pieceNum1, ... , {{type|string}} "piecenameN" = {{type|number}} pieceNumN }
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitPieceInfo
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} piece
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|table}} pieceInfo
| |
| |info = {{new|95.0}} "parent" field<br>{{new|101.0}} parent for root pieces is now "[null]" instead of ""<br> table pieceInfo contains:
| |
| }}
| |
| <pre>pieceInfo = {
| |
| "name" = string "piecename", | |
| "isEmpty" = boolean,
| |
| "children" = { [1] = string "piecename", ... },
| |
| "min" = { [1] = number x, [2] = number y, [3] = number z },
| |
| "max" = { [1] = number x, [2] = number y, [3] = number z },
| |
| "offset" = { [1] = number x, [2] = number y, [3] = number z },
| |
| "parent" = string "parentpiecename",
| |
| }</pre>
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring. | |
| |name = GetUnitScriptPiece
| |
| |arg1 = {{type|number}} unitID {{bracket}}
| |
| |arg2 = {{type|number}} scriptPiece {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{bracket}} {{type|number}} scriptPieceNum = {{type|number}} modelPieceNum {{rbracket}} {{pipe}} {{type|number}} modelPieceNum
| |
| |info = This functions translate the COB ScriptPiece numbers into the ModelPiece numbers (the set of ScriptPieces is a subset of the ModelPieces, means #ScriptPieces <= #ModelPieces), which is used in all other functions (the "number piece" means always the modelpiece). So if you get a pieceID via Cob2Lua you have to translate it with this function. Btw. the COB ScriptPiece number is equal with the piece position in the <i>piece</i> definition in your cob/bos.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitScriptNames
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { {{type|string}} "cobpiecename1" = {{type|number}} ScriptPieceNum1, ... , {{type|string}} "cobpiecenameN" = {{type|number}} ScriptPieceNumN }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitPieceCollisionVolumeData
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} pieceID
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} scaleX,{{type|number}} scaleY, {{type|number}} scaleZ, {{type|number}} offsetX, {{type|number}} offsetY, {{type|number}} offsetZ, {{type|number}} volumeType, {{type|number}} testType, {{type|number}} primaryAxis, {{type|bool}} disabled
| |
| |info = As of 101.0 this is 1-based piece index argument (was 0-based).
| |
| }}
| |
| | |
| === CommandQueues ===
| |
| | |
| Spring.GetCommandQueue function is identical to Spring.GetUnitCommands function. Here only Spring.GetUnitCommands will be listed:
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitCommands
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} count = 0
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} commandQueueSize
| |
| |info =
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitCommands
| |
| |arg1 = {{type|number}} unitID {{bracket}}
| |
| |arg2 = {{type|number}} count = -1 {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} commandQueueTable
| |
| |info = This function can trigger an error if called too often without passing a second parameter. Refer to [https://github.com/spring/spring/blob/92c54d5b15775c39a8c67b203c28fe9b9db51cea/rts/Lua/LuaSyncedRead.cpp#L3983-L3996 LuaSyncedRead.cpp#L3983-L3996].<br>CommandQueueTable table arguments are:
| |
| }}
| |
| <pre>commandQueueTable = {
| |
| [1] = {
| |
| "id" = number,
| |
| "params" = { [1] = number, ...},
| |
| "options" = {
| |
| "coded" = number,
| |
| "alt" = boolean,
| |
| "ctrl" = boolean,
| |
| "shift" = boolean,
| |
| "right" = boolean,
| |
| "internal" = boolean,
| |
| "meta" = boolean
| |
| }
| |
| }, ...
| |
| }</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFullBuildQueue
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} buildOrders = { {{bracket|1}} = { {{bracket}}{{type|number}} unitDefID{{rbracket}} = {{type|number}} count }, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetRealBuildQueue
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} buildOrders = { {{bracket|1}} = { {{bracket}}{{type|number}} unitDefID{{rbracket}} = {{type|number}} count }, etc... }
| |
| |info = Cleans the buildqueue of things the unit can't build itself.
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFactoryCommands
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} count = 0
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} commandQueueSize
| |
| |info =
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFactoryCommands
| |
| |arg1 = {{type|number}} unitID {{bracket}}
| |
| |arg2 = {{type|number}} count = -1 {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} commandQueueTable
| |
| |info = CommandQueueTable table arguments are:
| |
| }}
| |
| <pre>commandQueueTable = {
| |
| [1] = {
| |
| "id" = number,
| |
| "params" = { [1] = number, ...},
| |
| "options" = {
| |
| "coded" = number,
| |
| "alt" = boolean,
| |
| "ctrl" = boolean,
| |
| "shift" = boolean,
| |
| "right" = boolean,
| |
| "internal" = boolean,
| |
| "meta" = boolean
| |
| }
| |
| }, ...
| |
| }</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFactoryCounts
| |
| |arg1 = {{type|number}} unitID {{bracket}}
| |
| |arg2 = {{type|number}} count {{bracket}}
| |
| |arg3 = {{type|bool}} addCMDs {{rbracket}}{{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} commandQueueTable = { {{bracket|2}} = { {{bracket}}{{type|number}} unitDefID {{pipe}} {{type|number}} -cmdID{{rbracket}} = {{type|number}} count }, ... }
| |
| |info = Gets the buildqueue of a factory.
| |
| }}
| |
| | |
| === Command Descriptions/Buttons ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitCmdDescs
| |
| |arg1 = {{type|number}} unitID {{bracket}}
| |
| |arg2 = {{type|number}} startIndex {{bracket}}
| |
| |arg3 = {{type|number}} endIndex {{rbracket}}{{rbracket}} | |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} commandDescTable
| |
| |info = CommandDescTable arguments are:
| |
| }}
| |
| <pre>commandDescTable = {
| |
| [1] = {
| |
| "id" = number,
| |
| "type" = number,
| |
| "name" = string,
| |
| "action" = string,
| |
| "tooltip" = string,
| |
| "texture" = string,
| |
| "cursor" = string,
| |
| "hidden" = boolean,
| |
| "disabled" = boolean,
| |
| "showUnique" = boolean,
| |
| "onlyTexture" = boolean,
| |
| | |
| "params" = { [1] = string, ... }
| |
| }, ...
| |
| }</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = FindUnitCmdDesc
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} cmdID
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} index
| |
| |info =
| |
| }}
| |
| | |
| == Features ==
| |
| === GetFeatures ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturesInRectangle
| |
| |arg1 = {{type|number}} xMin
| |
| |arg2 = {{type|number}} zMin
| |
| |arg3 = {{type|number}} xMax
| |
| |arg4 = {{type|number}} zMax
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} featureTable = { {{bracket|1}} = {{type|number}} featureID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturesInSphere
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} y
| |
| |arg3 = {{type|number}} z
| |
| |arg4 = {{type|number}} radius
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} featureTable = { {{bracket|1}} = {{type|number}} featureID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturesInCylinder
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z
| |
| |arg3 = {{type|number}} radius
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} featureTable = { {{bracket|1}} = {{type|number}} featureID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetAllFeatures
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|table}} featureTable = { {{bracket|1}} = {{type|number}} featureID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| === Feature Informations ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = ValidFeatureID
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} isValid
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureDefID
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = | |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} featureDefID
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureTeam
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} teamID
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureAllyTeam
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} allyID
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureHealth
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} health, {{type|number}} maxHealth, {{type|number}} resurrectProgress
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureHeight
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} height
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureRadius
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} radius
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureMass
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} mass
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureSeparation
| |
| |arg1 = {{type|number}} featureID1
| |
| |arg2 = {{type|number}} featureID2 {{bracket}}
| |
| |arg3 = {{type|bool}} 2D {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} distance
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturePosition
| |
| |arg1 = {{type|number}} featureID {{bracket}}
| |
| |arg2 = {{type|bool}} midPos {{bracket}}
| |
| |arg3 = {{type|bool}} aimPos {{rbracket}}{{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} bpX, {{type|number}} bpY, {{type|number}} bpZ {{bracket}}, {{type|number}} mpX, {{type|number}} mpY, {{type|number}} mpZ {{bracket}}, {{type|number}} apX, {{type|number}} apY, {{type|number}} apZ {{rbracket}}{{rbracket}}
| |
| |info = Since 89.0, returns the base (default), middle or aim position of the feature.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureVelocity
| |
| |arg1 = {{type|number}} featureID {{bracket}}
| |
| |arg2 = {{type|bool}} norm {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} velX, {{type|number}} velY, {{type|number}} velZ, {{type|number}} velLength
| |
| |info = {{new|95.0}}
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureDirection
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureRotation
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} pitch, {{type|number}} yaw, {{type|number}} roll
| |
| |info = {{New|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureHeading
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} heading
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureResources
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} RemainingMetal, {{type|number}} maxMetal, {{type|number}} RemainingEnergy, {{type|number}} maxEnergy, {{type|number}} reclaimLeft, {{type|number}} reclaimTime
| |
| |info = reclaimTime {{new|105.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureNoSelect
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} noSelect
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureResurrect
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} UnitDefName, {{type|number}} buildFacing
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureCollisionVolumeData
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} scaleX, {{type|number}} scaleY, {{type|number}} scaleZ, {{type|number}} offsetX, {{type|number}} offsetY, {{type|number}} offsetZ, {{type|number}} volumeType, {{type|number}} testType, {{type|number}} primaryAxis, {{type|bool}} disabled
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturePieceCollisionVolumeData
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|number}} pieceID
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} scaleX, {{type|number}} scaleY, {{type|number}} scaleZ, {{type|number}} offsetX, {{type|number}} offsetY, {{type|number}} offsetZ, {{type|number}} volumeType, {{type|number}} testType, {{type|number}} primaryAxis, {{type|bool}} disabled
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureBlocking
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} isBlocking, {{type|bool}} isSolidObjectCollidable, {{type|bool}} isProjectileCollidable, {{type|bool}} isRaySegmentCollidable, {{type|bool}} crushable, {{type|bool}} blockEnemyPushing, {{type|bool}} blockHeightChanges
| |
| |info = {{new|95.0}}
| |
| }}
| |
| | |
| === Feature Pieces ===
| |
| | |
| Works analogue to #Unit_Pieces
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeatureLastAttackedPiece
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} pieceName, {{type|number}} gameframe
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturePieceMap
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { {{type|string}} "piecename1" = {{type|number}} pieceNum1, ... , {{type|string}} "piecenameN" = {{type|number}} pieceNumN }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturePieceList
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { {{bracket|1}} = {{type|string}} "piecename", ... , {{bracket|pieceNumN}} = {{type|string}} "piecename" }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturePieceInfo
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|number}} piece
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|table}} pieceInfo
| |
| |info = {{new|95.0}} "parent" field<br>{{new|101.0}} parent for root pieces is now "[null]" instead of ""<br> table pieceInfo contains:
| |
| }}
| |
| <pre>pieceInfo = {
| |
| "name" = string "piecename",
| |
| "isEmpty" = boolean,
| |
| "children" = { [1] = string "piecename", ... },
| |
| "min" = { [1] = number x, [2] = number y, [3] = number z },
| |
| "max" = { [1] = number x, [2] = number y, [3] = number z },
| |
| "offset" = { [1] = number x, [2] = number y, [3] = number z },
| |
| "parent" = string "parentpiecename", | |
| }</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturePiecePosition
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|number}} piece
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ
| |
| |info = Returns piece position in unit space. Also remember to multiply the x-axis value with -1 if you want to move a piece to another piece.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturePieceDirection
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|number}} piece
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ
| |
| |info = Fixed since 101. Now returns the same direction as Spring.GetUnitPiecePosDir. | |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturePiecePosDir
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|number}} pieceNum
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ, {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ
| |
| |info = Returns piece position and direction in world space. The direction (dirX, dirY, dirZ) is not necessarily normalized. The position is defined as the position of the first vertex of the piece and it defines direction as the direction in which the line from the first vertex to the second vertex points.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetFeaturePieceMatrix
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|number}} piece
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = { {{bracket|1}} = {{type|number}}, ... , {{bracket|16}} = {{type|number}} }
| |
| |info =
| |
| }}
| |
| | |
| == COB ==
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetCOBUnitVar
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} varID {{bracket}}
| |
| |arg3 = {{type|bool}} unpack = false {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} value {{pipe}} {{type|number}} unpackedX, {{type|number}} unpackedY
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetCOBTeamVar
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|number}} varID {{bracket}}
| |
| |arg3 = {{type|bool}} unpack = false {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} value {{pipe}} {{type|number}} unpackedX, {{type|number}} unpackedY
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetCOBAllyTeamVar
| |
| |arg1 = {{type|number}} allyID
| |
| |arg2 = {{type|number}} varID {{bracket}}
| |
| |arg3 = {{type|bool}} unpack = false {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} value {{pipe}} {{type|number}} unpackedX, {{type|number}} unpackedY
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetCOBGlobalVar
| |
| |arg1 = {{type|number}} varID {{bracket}}
| |
| |arg2 = {{type|bool}} unpack = false {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} value {{pipe}} {{type|number}} unpackedX, {{type|number}} unpackedY
| |
| |info =
| |
| }}
| |
| | |
| == Ground ==
| |
| <font color="#55ee99">Elevation is y. Water level is always at y=0. Ground height can be changed during play (terraform or deformation).</font>
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGroundHeight
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} y
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGroundOrigHeight
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} y
| |
| |info = This returns the ground's original height (i.e. before terraforming) at a given x,z position.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGroundNormal
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z {{bracket}}
| |
| |arg3 = {{type|bool}} smoothedNormal = false {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} x, {{type|number}} y, {{type|number}} z, {{type|number}} slope
| |
| |info = {{new|100.0}}: smoothedNormal and slope
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGroundInfo
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|string}} "Type", {{type|number}} metal, {{type|number}} hardness, {{type|number}} tankSpeed, {{type|number}} kbotSpeed, {{type|number}} hoverSpeed, {{type|number}} shipSpeed, {{type|bool}} receiveTracks
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGroundBlocked
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} "feature", {{type|number}} featureID {{pipe}} {{type|string}} "unit", {{type|number}} unitID
| |
| |info =
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGroundBlocked
| |
| |arg1 = {{type|number}} x1
| |
| |arg2 = {{type|number}} z1
| |
| |arg3 = {{type|number}} x2
| |
| |arg4 = {{type|number}} z2
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} "feature", {{type|number}} featureID {{pipe}} {{type|string}} "unit", {{type|number}} unitID
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGroundExtremes
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} minHeight, {{type|number}} maxHeight
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetSmoothMeshHeight
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} y
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetMetalMapSize
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} sizeX, {{type|number}} sizeY
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetMetalAmount
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} metalAmount
| |
| |info = With x & z in metal map coordinates (worldspace/16)
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetMetalExtraction
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} extractionAmount
| |
| |info = With x & z in metal map coordinates (worldspace/16)
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetTerrainTypeData
| |
| |arg1 = {{type|number}} i
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} "name", {{type|number}} hardness, {{type|number}} tankSpeed, {{type|number}} kbotSpeed, {{type|number}} hoverSpeed, {{type|number}} shipSpeed, {{type|bool}} receiveTracks
| |
| |info = {{new|92.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetGrass
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} 0 {{pipe}} {{type|number}} 1
| |
| |info = With x & z in worldspace coordinates.
| |
| }}
| |
| | |
| === Test Orders ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = TestMoveOrder
| |
| |arg1 = {{type|number}} unitDefID
| |
| |arg2 = {{type|number}} pos.x {{bracket}}, {{type|number}} pos.y {{bracket}}, {{type|number}} pos.z {{bracket}}
| |
| |arg3 = {{type|number}} dir.x {{bracket}}, {{type|number}} dir.y {{bracket}}, {{type|number}} dir.z {{bracket}}
| |
| |arg4 = {{type|bool}} testTerrain {{bracket}}
| |
| |arg5 = {{type|bool}} testObjects {{bracket}}
| |
| |arg6 = {{type|bool}} centerOnly {{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} validMove
| |
| |info = {{New|95.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = TestBuildOrder
| |
| |arg1 = {{type|number}} unitDefID
| |
| |arg2 = {{type|number}} x
| |
| |arg3 = {{type|number}} y
| |
| |arg4 = {{type|number}} z
| |
| |arg5 = {{type|number}} facing
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} blocking {{bracket}}, {{type|number}} featureID {{rbracket}}
| |
| |info =
| |
| }}
| |
| <pre>blocking can be:
| |
| 0 - blocked | |
| 1 - mobile unit in the way
| |
| 2 - free (or if featureID is != nil then with a blocking feature that can be reclaimed)
| |
| | |
| facing can be:
| |
| 0, "s", "south"
| |
| 1, "e", "east"
| |
| 2, "n", "north"
| |
| 3, "w", "west"</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = Pos2BuildPos
| |
| |arg1 = {{type|number}} unitDefID
| |
| |arg2 = {{type|number}} x
| |
| |arg3 = {{type|number}} y
| |
| |arg4 = {{type|number}} z {{bracket}}
| |
| |arg5 = {{type|number}} facing {{rbracket}}
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} x, {{type|number}} y, {{type|number}} z
| |
| |info =
| |
| }}
| |
| | |
| === PathFinding ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetUnitEstimatedPath
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} waypoints, {{type|table}} waypointIndices
| |
| |info = The table arguments are:
| |
| }}
| |
| <pre>table waypoints = {
| |
| [1] = { x,y,z }, ...
| |
| }
| |
| | |
| table waypointIndices= {
| |
| [1] = startIdxOfDetailedPath,
| |
| [2] = startIdxOfDetailedEstimatedPath1,
| |
| [3] = startIdxOfDetailedEstimatedPath2,
| |
| }
| |
| | |
| GetUnitEstimatedPath() returns 2 tables:
| |
| 1 table the waypoints and 1 table with indices (in the waypoint table)
| |
| when a new (more lazy) pathfinding algorithm begins.
| |
| So the waypoint table contains 3 different levels of details.</pre>
| |
| | |
| === LOS ===
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = IsPosInLos
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} y
| |
| |arg3 = {{type|number}} z
| |
| |arg4 = {{type|number}} allyID
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} isInLos
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = IsPosInRadar
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} y
| |
| |arg3 = {{type|number}} z
| |
| |arg4 = {{type|number}} allyID
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} isInRadar
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = IsPosInAirLos
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} y
| |
| |arg3 = {{type|number}} z
| |
| |arg4 = {{type|number}} allyID
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} isInAirLos
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetPositionLosState
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} y
| |
| |arg3 = {{type|number}} z {{bracket}}
| |
| |arg4 = {{type|number}} allyID {{rbracket}}
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} LosOrRadar, {{type|bool}} inLos, {{type|bool}} inRadar, {{type|bool}} jammed
| |
| |info = Jammed new in 95.0, indicates if a position is actively being radar- or sonar-jammed by ANY allyteam.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetClosestValidPosition
| |
| |arg1 = {{type|number}} unitDefID
| |
| |arg2 = {{type|number}} x
| |
| |arg3 = {{type|number}} y
| |
| |arg4 = {{type|number}} z
| |
| |arg5 = {{type|number}} r
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = CURRENTLY UNFINISHED! Always returns nil!
| |
| }}
| |
| | |
| == Projectiles ==
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectilesInRectangle
| |
| |arg1 = {{type|number}} xmin
| |
| |arg2 = {{type|number}} zmin
| |
| |arg3 = {{type|number}} xmax
| |
| |arg4 = {{type|number}} zmax {{bracket}}
| |
| |arg5 = {{type|bool}} excludeWeaponProjectiles {{bracket}}
| |
| |arg6 = {{type|bool}} excludePieceProjectiles {{rbracket}}{{rbracket}}
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|table}} projectileTable = { {{bracket|1}} = {{type|number}} projectileID, etc... }
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileOwnerID
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} unitID
| |
| |info = {{new|99.0}}
| |
| }}
| |
| | |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileTeamID
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} teamID
| |
| |info = {{new|99.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileDefID
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} weaponDefID
| |
| |info = Using this to get a weaponDefID is HIGHLY preferred to indexing WeaponDefNames via GetProjectileName.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileName
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|string}} name
| |
| |info = It is recommended to rather use GetProjectileDefID for indexing purposes.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileType
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} weapon, {{type|bool}} piece
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileTarget
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} targetTypeInt, {{type|number}} targetID {{pipe}} {{type|table}} targetPos = {x, y, z}
| |
| |info =
| |
| }}
| |
| <pre>Pre version 95.0 return arguments: -> nil | number targetID, string targetTypeStr
| |
| | |
| targetTypeStr could be one of: | |
| 'u' - unit
| |
| 'f' - feature
| |
| 'p' - projectile
| |
| | |
| while targetTypeInt was one of:
| |
| string.byte('g') := GROUND
| |
| string.byte('u') := UNIT
| |
| string.byte('f') := FEATURE
| |
| string.byte('p') := PROJECTILE</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileIntercepted
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} isBeingIntercepted
| |
| |info = {{new|99.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectilePosition
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} posX, {{type|number}} posY, {{type|number}} posZ
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileVelocity
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} velX, {{type|number}} velY, {{type|number}} velZ
| |
| |info = {{new|95.0}}: returns (targetPos - startPos) for Beamlasers and similar weapons
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileGravity
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} gravity
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetPieceProjectileParams
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} explosionFlags, {{type|number}} spinAngle, {{type|number}} spinSpeed, {{type|number}} spinVectorX, {{type|number}} spinVectorY, {{type|number}} spinVectorZ
| |
| |info = {{new|95.0}}<br>ExplosionFlags use binary flags with the following integer equivalents (more info [http://springrts.com/wiki/Animation-CobConstants#explode here] ):<br>SHATTER = 1, EXPLODE = 2, EXPLODE_ON_HIT = 2, FALL = 4, SMOKE = 8, FIRE = 16, NONE = 32, NO_CEG_TRAIL = 64, NO_HEATCLOUD = 128
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileTimeToLive
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} ttl
| |
| |info = {{new|99.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileDirection
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ
| |
| |info = {{new|95.0}}
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileSpinAngle
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} angle
| |
| |info = <font color="maroon" style="font-weight:600">Deprecated in 95.0 - use GetPieceProjectileParams instead!</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileSpinSpeed
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} spinSpeed
| |
| |info = <font color="maroon" style="font-weight:600">Deprecated in 95.0 - use GetPieceProjectileParams instead!</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileSpinVec
| |
| |arg1 = {{type|number}} projectileID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} x, {{type|number}} y, {{type|number}} z
| |
| |info = <font color="maroon" style="font-weight:600">Deprecated in 95.0 - use GetPieceProjectileParams instead!</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GetProjectileDamages
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} weaponNum
| |
| |arg3 = {{type|string}} tag
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|number}} damage
| |
| |info = {{new|101.0}}
| |
| }}
| |
| <pre>The string tag can be:
| |
| "paralyzeDamageTime"
| |
| "impulseFactor"
| |
| "impulseBoost"
| |
| "craterMult"
| |
| "craterBoost"
| |
| "dynDamageExp"
| |
| "dynDamageMin"
| |
| "dynDamageRange"
| |
| "dynDamageInverted"
| |
| "craterAreaOfEffect"
| |
| "damageAreaOfEffect"
| |
| "edgeEffectiveness"
| |
| "explosionSpeed"
| |
| - or -
| |
| an armor type index to get the damage against it.</pre>
| |
| | |
|
| |
|
| [[category: Lua]] | | [[category: Lua]] |