<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Lua_MoveCtrl</id>
	<title>Lua MoveCtrl - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Lua_MoveCtrl"/>
	<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Lua_MoveCtrl&amp;action=history"/>
	<updated>2026-04-21T02:34:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Lua_MoveCtrl&amp;diff=477&amp;oldid=prev</id>
		<title>Qrow: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Lua_MoveCtrl&amp;diff=477&amp;oldid=prev"/>
		<updated>2025-11-13T01:51:00Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:51, 12 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Qrow</name></author>
	</entry>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Lua_MoveCtrl&amp;diff=476&amp;oldid=prev</id>
		<title>interwiki3&gt;Pepeampere: /* MoveType-Controlling */ adding the repeated values to be listed in all commands docu</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Lua_MoveCtrl&amp;diff=476&amp;oldid=prev"/>
		<updated>2021-08-16T23:34:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;MoveType-Controlling: &lt;/span&gt; adding the repeated values to be listed in all commands docu&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Engine_Development|Development]] &amp;lt; [[Lua_Scripting|Lua Scripting]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
&lt;br /&gt;
= ScriptMoveType =&lt;br /&gt;
== Enable/Disable ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.Enable&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.Disable&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
== Tags ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetTag&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, number tag ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.GetTag&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetProgressState&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, number state | &amp;quot;done&amp;quot; | &amp;quot;active&amp;quot; | &amp;quot;failed&amp;quot; ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
== Physics ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetGravity&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
  ( number unitID, number gravity ) -&amp;gt; nil&lt;br /&gt;
&amp;lt;span class=note&amp;gt;N.B. gravity here is a multiplier to Game.gravity&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetDrag&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, number drag ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetGroundOffset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, number offset ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetWindFactor&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, number windFactor ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetPhysics&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID,&lt;br /&gt;
    number posX, number posY, number posZ,&lt;br /&gt;
    number velX, number velY, number velZ,&lt;br /&gt;
    number rotX, number rotY, number rotZ ) -&amp;gt; nil &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetPosition&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID,&lt;br /&gt;
    number posX, number posY, number posZ ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetVelocity&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID,&lt;br /&gt;
    number velX, number velY, number velZ ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetRelativeVelocity&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID,&lt;br /&gt;
    number relvelX, number relvelY, number relvelZ ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetRotation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID,&lt;br /&gt;
    number rotX, number rotY, number rotZ ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetRotationVelocity&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID,&lt;br /&gt;
    number rotVelX, number rotVelY, number rotVelZ ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetRotationOffset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID,&lt;br /&gt;
    number rotOffX, number rotOffY, number rotOffZ ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetHeading&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, number heading ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetNoBlocking&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, boolean noblock ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetLimits&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID,&lt;br /&gt;
    number minX, number minY, number minZ,&lt;br /&gt;
    number maxX, number maxY, number maxZ ) -&amp;gt; nil &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetTrackSlope&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, boolean trackslope ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetTrackGround&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, boolean noblock ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetExtrapolate&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, boolean on ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetShotStop&amp;#039;&amp;#039;&amp;#039; &amp;lt;span class=&amp;quot;warning&amp;quot;&amp;gt;Currently a no-op&amp;lt;/span&amp;gt;&lt;br /&gt;
  ( number unitID, boolean shotstop ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetSlopeStop&amp;#039;&amp;#039;&amp;#039; &amp;lt;span class=&amp;quot;warning&amp;quot;&amp;gt;Currently a no-op&amp;lt;/span&amp;gt;&lt;br /&gt;
  ( number unitID, boolean slopestop ) -&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetCollideStop&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  ( number unitID, boolean collidestop ) -&amp;gt; nil&lt;br /&gt;
&amp;lt;span class=note&amp;gt;Enable both SetCollideStop and SetTrackGround to enable MoveCtrlNotify(unitID, unitDefID, unitTeam, data) call-in, data was supposed to indicate the type of notification but currently never has a value other than 1 (where 1 means &amp;quot;unit hit the ground&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MoveType-Controlling =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetMoveDef&amp;#039;&amp;#039;&amp;#039; {{new|94.0}}&lt;br /&gt;
  ( number unitID, number moveDefID | string moveDefName ) -&amp;gt; boolean success&lt;br /&gt;
&amp;lt;span class=note&amp;gt;NOTE: string moveDefName needs to be in &amp;#039;&amp;#039;&amp;#039;lowercase&amp;#039;&amp;#039;&amp;#039;, notwithstanding the fact that it may be in another case in the movedef table.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span class=note&amp;gt;NOTE: all Set*MoveTypeData functions support the following number keys:&lt;br /&gt;
 maxSpeed&lt;br /&gt;
 maxWantedSpeed&lt;br /&gt;
 repairBelowHealth&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetAirMoveTypeData&amp;#039;&amp;#039;&amp;#039; {{new|0.81}}&lt;br /&gt;
  ( number unitID, string key, value  ) -&amp;gt; nil&lt;br /&gt;
  ( number unitID, table values ) -&amp;gt; nil&lt;br /&gt;
  &amp;lt;span class=note&amp;gt;supported keys:&lt;br /&gt;
  numbers:&lt;br /&gt;
    maxSpeed&lt;br /&gt;
    maxWantedSpeed&lt;br /&gt;
    repairBelowHealth&lt;br /&gt;
    wantedHeight&lt;br /&gt;
    myGravity&lt;br /&gt;
    maxBank&lt;br /&gt;
    maxPitch&lt;br /&gt;
    turnRadius&lt;br /&gt;
    maxAcc&lt;br /&gt;
    maxAileron&lt;br /&gt;
    maxElevator&lt;br /&gt;
    maxRudder&lt;br /&gt;
    waterline&lt;br /&gt;
    attackSafetyDistance       -- since 100.0 : fighters abort dive toward target if within attackSafetyDistance and try to climb back to normal altitude while still moving toward target  &lt;br /&gt;
    maneuverBlockTime          -- since 104.0.1+(FIXME) : number of frames aircraft will try to keep flying straight past the target after firing &lt;br /&gt;
  booleans:&lt;br /&gt;
    collide&lt;br /&gt;
    useSmoothMesh&lt;br /&gt;
  NOTE: not all keys and not all values may work correctly.&lt;br /&gt;
  [[SetMoveTypeDataExample|Example usage]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetGroundMoveTypeData&amp;#039;&amp;#039;&amp;#039; {{new|0.81}}&lt;br /&gt;
  ( number unitID, string key, value  ) -&amp;gt; nil&lt;br /&gt;
  ( number unitID, table values ) -&amp;gt; nil&lt;br /&gt;
  &amp;lt;span class=note&amp;gt;supported keys:&lt;br /&gt;
  numbers:&lt;br /&gt;
    baseTurnRate&lt;br /&gt;
    turnRate&lt;br /&gt;
    accRate&lt;br /&gt;
    decRate&lt;br /&gt;
    maxSpeed&lt;br /&gt;
    maxWantedSpeed&lt;br /&gt;
    repairBelowHealth&lt;br /&gt;
    maxReverseDist&lt;br /&gt;
    maxReverseSpeed&lt;br /&gt;
    minReverseAngle&lt;br /&gt;
    requestedSpeed&lt;br /&gt;
    requestedTurnRate&lt;br /&gt;
    sqSkidSpeedMult&lt;br /&gt;
    waterline&lt;br /&gt;
  booleans:&lt;br /&gt;
    floatOnWater&lt;br /&gt;
    pushResistant&lt;br /&gt;
  NOTE: not all keys and not all values may work correctly.&lt;br /&gt;
  [[SetMoveTypeDataExample|Example usage]]&amp;lt;/span&amp;gt;&lt;br /&gt;
{{new|101.0}} {{var|maxReverseDist}} &amp;amp; {{var|minReverseAngle}} keys&lt;br /&gt;
&lt;br /&gt;
{{new|104.0}} {{var|sqSkidSpeedMult}}, {{var|pushResistant}} &amp;amp; {{var|waterline}} keys&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spring.MoveCtrl.SetGunshipMoveTypeData&amp;#039;&amp;#039;&amp;#039; {{new|0.81}}&lt;br /&gt;
  ( number unitID, string key, value  ) -&amp;gt; nil&lt;br /&gt;
  ( number unitID, table values ) -&amp;gt; nil&lt;br /&gt;
  &amp;lt;span class=note&amp;gt;supported keys:&lt;br /&gt;
  numbers:&lt;br /&gt;
    maxSpeed&lt;br /&gt;
    maxWantedSpeed&lt;br /&gt;
    repairBelowHealth&lt;br /&gt;
    wantedHeight&lt;br /&gt;
    turnRate&lt;br /&gt;
    accRate&lt;br /&gt;
    decRate&lt;br /&gt;
    altitudeRate&lt;br /&gt;
    currentBank&lt;br /&gt;
    currentPitch&lt;br /&gt;
    waterline&lt;br /&gt;
  booleans:&lt;br /&gt;
    collide&lt;br /&gt;
    useSmoothMesh&lt;br /&gt;
    bankingAllowed&lt;br /&gt;
    dontLand&lt;br /&gt;
    airStrafe&lt;br /&gt;
  NOTE: not all keys and not all values may work correctly.&lt;br /&gt;
  [[SetMoveTypeDataExample|Example usage]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[category: Lua]]&lt;/div&gt;</summary>
		<author><name>interwiki3&gt;Pepeampere</name></author>
	</entry>
</feed>