单位引用(Unit Reference)是铁锈战争1.15新加入的单位选择器,可引用符合条件的单位。

查询

单位引用
标记 getAsMarker()

getOffsetRelative() getOffsetAbsolute() createMarker()

局内 thisActionTarget

eventSource

全局 attachment()

transporting() attacking lastDamagedBy parent activeWaypointTarget nearestUnit() globalSearchForFirstUnit()

存储 customTarget1

customTarget2

其他 nullUnit

标记

局内

局内只能在行动内使用,可用alsoTriggerActionalsoQueueAction延长“寿命”,你也可以用内存将其存储。thisActionTarget在不同情况下所指代的单位不同,与eventSource不同,后者只与autoTriggerOnEvent绑定,触发的事件不同所指代的单位也不同。

thisActionIndex的用法

thisActionIndexindex为其缩略形式。 ...待补充

对应的情况

thisActionTarget用处
fireXTurretAtGround 指向的位置
alsoTriggerAction 与原行动的thisActionTarget相同
onShoot_triggerActions 炮塔射击的单位
takeResources_triggerActionIfAnyCollected 提取到的单位
takeResources_triggerActionForEach 与上同理
addWaypoint_triggerActionIfMatched 添加路径的位置(攻击则为被攻击的单位)
eventSource用处
tookDamage 攻击你的单位
killedAnyUnit 杀死的单位
transportingNewUnit 新装载的单位
transportUnloadedOrRemovedUnit 刚卸载的单位
queuedUnitFinished 刚生产的单位
touchTargetSuccess 碰到的单位(需配合路径点)
thisActionTarget与eventSource的例子
[turret_super]
onShoot_triggerActions: idol
[hiddenAction_idol]
showMessageToAllPlayers: %{thisActionTarget}的笑容。

[hiddenAction_tookDmg]
autoTriggerOnEvent: tookDamge(withTag="APCR")
showMessageToAllPlayers: 来自%{eventSource}的攻击!

全局

铁锈战争提供了一些常见情况可能用到的单位选择器,且所以节都能使用,与局内相对。

选填参数部分

附属:attachment([slot], [withTag])

运输:transporting([slot])

最近单位:nearestUnit([withinRange], [withTag], [relation])

搜索首个单位globalSearchForFirstUnit([withTag], [relation])

参数都为选填,默认情况就很有趣了。

  • 附属

不填参数则返回行数最高的单位。

  • 运输

不填参数则返回最近运输的单位。

  • 最近单位

不填参数则返回范围约为500内的单位。

  • 搜索首个单位

不填参数则返回该地图最小id的单位。

无参数部分

这些单位引用的特点很明显,都是指向具体的某个单位。 attackingactiveWaypointTarget为攻击时套上单位的快捷引用方式。lastDamagedBy在事件来源为tookDamage时的快捷引用方式。parent在单位自身为他人附属时可使用。

存储

其他