LUA and trait documentation fixes
- Typo in documentation ("proximitry").
- Add spaces between sentences.
- Remove most occurrences of " " (two spaces) unless clearly used as indendation
- Punctuation (although no fullstop after filenames like "notifications.yaml").
This commit is contained in:
@@ -155,7 +155,7 @@ namespace OpenRA
|
|||||||
// Helper functions
|
// Helper functions
|
||||||
public static class CellLayer
|
public static class CellLayer
|
||||||
{
|
{
|
||||||
/// <summary>Create a new layer by resizing another layer. New cells are filled with defaultValue.</summary>
|
/// <summary>Create a new layer by resizing another layer. New cells are filled with defaultValue.</summary>
|
||||||
public static CellLayer<T> Resize<T>(CellLayer<T> layer, Size newSize, T defaultValue)
|
public static CellLayer<T> Resize<T>(CellLayer<T> layer, Size newSize, T defaultValue)
|
||||||
{
|
{
|
||||||
var result = new CellLayer<T>(layer.Shape, newSize);
|
var result = new CellLayer<T>(layer.Shape, newSize);
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
radarPings = context.World.WorldActor.TraitOrDefault<RadarPings>();
|
radarPings = context.World.WorldActor.TraitOrDefault<RadarPings>();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Creates a new beacon that stays for the specified time at the specified WPos." +
|
[Desc("Creates a new beacon that stays for the specified time at the specified WPos. " +
|
||||||
"Does not remove player set beacons, nor gets removed by placing them.")]
|
"Does not remove player set beacons, nor gets removed by placing them.")]
|
||||||
public Beacon New(Player owner, WPos position, int duration = 30 * 25, bool showRadarPings = true, string palettePrefix = "player")
|
public Beacon New(Player owner, WPos position, int duration = 30 * 25, bool showRadarPings = true, string palettePrefix = "player")
|
||||||
{
|
{
|
||||||
var playerBeacon = new Beacon(owner, position, duration, palettePrefix);
|
var playerBeacon = new Beacon(owner, position, duration, palettePrefix);
|
||||||
owner.PlayerActor.World.AddFrameEndTask(w => w.Add(playerBeacon));
|
owner.PlayerActor.World.AddFrameEndTask(w => w.Add(playerBeacon));
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
[Desc("Create a new WDist.")]
|
[Desc("Create a new WDist.")]
|
||||||
public WDist New(int r) { return new WDist(r); }
|
public WDist New(int r) { return new WDist(r); }
|
||||||
|
|
||||||
[Desc("Create a new WDist by cell distance")]
|
[Desc("Create a new WDist by cell distance.")]
|
||||||
public WDist FromCells(int numCells) { return WDist.FromCells(numCells); }
|
public WDist FromCells(int numCells) { return WDist.FromCells(numCells); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
get { return DateTime.Today.Month == 10 && DateTime.Today.Day == 31; }
|
get { return DateTime.Today.Month == 10 && DateTime.Today.Day == 31; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Get the current game time (in ticks)")]
|
[Desc("Get the current game time (in ticks).")]
|
||||||
public int GameTime
|
public int GameTime
|
||||||
{
|
{
|
||||||
get { return Context.World.WorldTick; }
|
get { return Context.World.WorldTick; }
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
|
|
||||||
[Desc("Send reinforcements consisting of multiple units. Supports ground-based, naval and air units. " +
|
[Desc("Send reinforcements consisting of multiple units. Supports ground-based, naval and air units. " +
|
||||||
"The first member of the entryPath array will be the units' spawnpoint, " +
|
"The first member of the entryPath array will be the units' spawnpoint, " +
|
||||||
"while the last one will be their destination. If actionFunc is given, " +
|
"while the last one will be their destination. If actionFunc is given, " +
|
||||||
"it will be executed once a unit has reached its destination. actionFunc " +
|
"it will be executed once a unit has reached its destination. actionFunc " +
|
||||||
"will be called as actionFunc(Actor actor)")]
|
"will be called as actionFunc(Actor actor)")]
|
||||||
public Actor[] Reinforce(Player owner, string[] actorTypes, CPos[] entryPath, int interval = 25, LuaFunction actionFunc = null)
|
public Actor[] Reinforce(Player owner, string[] actorTypes, CPos[] entryPath, int interval = 25, LuaFunction actionFunc = null)
|
||||||
|
|||||||
@@ -283,8 +283,8 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Call a function when a ground-based actor enters this cell footprint." +
|
[Desc("Call a function when a ground-based actor enters this cell footprint. " +
|
||||||
"Returns the trigger id for later removal using RemoveFootprintTrigger(int id)." +
|
"Returns the trigger id for later removal using RemoveFootprintTrigger(int id). " +
|
||||||
"The callback function will be called as func(Actor a, int id).")]
|
"The callback function will be called as func(Actor a, int id).")]
|
||||||
public int OnEnteredFootprint(CPos[] cells, LuaFunction func)
|
public int OnEnteredFootprint(CPos[] cells, LuaFunction func)
|
||||||
{
|
{
|
||||||
@@ -309,8 +309,8 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
return triggerId;
|
return triggerId;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Call a function when a ground-based actor leaves this cell footprint." +
|
[Desc("Call a function when a ground-based actor leaves this cell footprint. " +
|
||||||
"Returns the trigger id for later removal using RemoveFootprintTrigger(int id)." +
|
"Returns the trigger id for later removal using RemoveFootprintTrigger(int id). " +
|
||||||
"The callback function will be called as func(Actor a, int id).")]
|
"The callback function will be called as func(Actor a, int id).")]
|
||||||
public int OnExitedFootprint(CPos[] cells, LuaFunction func)
|
public int OnExitedFootprint(CPos[] cells, LuaFunction func)
|
||||||
{
|
{
|
||||||
@@ -341,8 +341,8 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
Context.World.ActorMap.RemoveCellTrigger(id);
|
Context.World.ActorMap.RemoveCellTrigger(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Call a function when an actor enters this range." +
|
[Desc("Call a function when an actor enters this range. " +
|
||||||
"Returns the trigger id for later removal using RemoveProximityTrigger(int id)." +
|
"Returns the trigger id for later removal using RemoveProximityTrigger(int id). " +
|
||||||
"The callback function will be called as func(Actor a, int id).")]
|
"The callback function will be called as func(Actor a, int id).")]
|
||||||
public int OnEnteredProximityTrigger(WPos pos, WDist range, LuaFunction func)
|
public int OnEnteredProximityTrigger(WPos pos, WDist range, LuaFunction func)
|
||||||
{
|
{
|
||||||
@@ -367,8 +367,8 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
return triggerId;
|
return triggerId;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Call a function when an actor leaves this range." +
|
[Desc("Call a function when an actor leaves this range. " +
|
||||||
"Returns the trigger id for later removal using RemoveProximityTrigger(int id)." +
|
"Returns the trigger id for later removal using RemoveProximityTrigger(int id). " +
|
||||||
"The callback function will be called as func(Actor a, int id).")]
|
"The callback function will be called as func(Actor a, int id).")]
|
||||||
public int OnExitedProximityTrigger(WPos pos, WDist range, LuaFunction func)
|
public int OnExitedProximityTrigger(WPos pos, WDist range, LuaFunction func)
|
||||||
{
|
{
|
||||||
@@ -393,7 +393,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
return triggerId;
|
return triggerId;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Removes a previously created proximitry trigger.")]
|
[Desc("Removes a previously created proximity trigger.")]
|
||||||
public void RemoveProximityTrigger(int id)
|
public void RemoveProximityTrigger(int id)
|
||||||
{
|
{
|
||||||
Context.World.ActorMap.RemoveProximityTrigger(id);
|
Context.World.ActorMap.RemoveProximityTrigger(id);
|
||||||
@@ -407,20 +407,20 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Call a function when this actor is discovered by an enemy or a player with a Neutral stance. " +
|
[Desc("Call a function when this actor is discovered by an enemy or a player with a Neutral stance. " +
|
||||||
"The callback function will be called as func(Actor discovered, Player discoverer)")]
|
"The callback function will be called as func(Actor discovered, Player discoverer).")]
|
||||||
public void OnDiscovered(Actor a, LuaFunction func)
|
public void OnDiscovered(Actor a, LuaFunction func)
|
||||||
{
|
{
|
||||||
GetScriptTriggers(a).RegisterCallback(Trigger.OnDiscovered, func, Context);
|
GetScriptTriggers(a).RegisterCallback(Trigger.OnDiscovered, func, Context);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Call a function when this player is discovered by an enemy or neutral player. " +
|
[Desc("Call a function when this player is discovered by an enemy or neutral player. " +
|
||||||
"The callback function will be called as func(Player discovered, Player discoverer, Actor discoveredActor)")]
|
"The callback function will be called as func(Player discovered, Player discoverer, Actor discoveredActor).")]
|
||||||
public void OnPlayerDiscovered(Player discovered, LuaFunction func)
|
public void OnPlayerDiscovered(Player discovered, LuaFunction func)
|
||||||
{
|
{
|
||||||
GetScriptTriggers(discovered.PlayerActor).RegisterCallback(Trigger.OnPlayerDiscovered, func, Context);
|
GetScriptTriggers(discovered.PlayerActor).RegisterCallback(Trigger.OnPlayerDiscovered, func, Context);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Removes all triggers from this actor." +
|
[Desc("Removes all triggers from this actor. " +
|
||||||
"Note that the removal will only take effect at the end of a tick, " +
|
"Note that the removal will only take effect at the end of a tick, " +
|
||||||
"so you must not add new triggers at the same time that you are calling this function.")]
|
"so you must not add new triggers at the same time that you are calling this function.")]
|
||||||
public void ClearAll(Actor a)
|
public void ClearAll(Actor a)
|
||||||
@@ -428,7 +428,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
GetScriptTriggers(a).ClearAll();
|
GetScriptTriggers(a).ClearAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Removes the specified trigger from this actor." +
|
[Desc("Removes the specified trigger from this actor. " +
|
||||||
"Note that the removal will only take effect at the end of a tick, " +
|
"Note that the removal will only take effect at the end of a tick, " +
|
||||||
"so you must not add new triggers at the same time that you are calling this function.")]
|
"so you must not add new triggers at the same time that you are calling this function.")]
|
||||||
public void Clear(Actor a, string triggerName)
|
public void Clear(Actor a, string triggerName)
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
}
|
}
|
||||||
|
|
||||||
[ScriptActorPropertyActivity]
|
[ScriptActorPropertyActivity]
|
||||||
[Desc("Patrol along a set of given waypoints. The action is repeated by default, " +
|
[Desc("Patrol along a set of given waypoints. The action is repeated by default, " +
|
||||||
"and the actor will wait for `wait` ticks at each waypoint.")]
|
"and the actor will wait for `wait` ticks at each waypoint.")]
|
||||||
public void Patrol(CPos[] waypoints, bool loop = true, int wait = 0)
|
public void Patrol(CPos[] waypoints, bool loop = true, int wait = 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
}
|
}
|
||||||
|
|
||||||
[ScriptActorPropertyActivity]
|
[ScriptActorPropertyActivity]
|
||||||
[Desc("Returns true if this player has lost all units/actors that have" +
|
[Desc("Returns true if this player has lost all units/actors that have " +
|
||||||
"the MustBeDestroyed trait (according to the short game option).")]
|
"the MustBeDestroyed trait (according to the short game option).")]
|
||||||
public bool HasNoRequiredUnits()
|
public bool HasNoRequiredUnits()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
}
|
}
|
||||||
|
|
||||||
[ScriptActorPropertyActivity]
|
[ScriptActorPropertyActivity]
|
||||||
[Desc("Moves from outside the world into the cell grid")]
|
[Desc("Moves from outside the world into the cell grid.")]
|
||||||
public void MoveIntoWorld(CPos cell)
|
public void MoveIntoWorld(CPos cell)
|
||||||
{
|
{
|
||||||
Self.QueueActivity(mobile.MoveIntoWorld(Self, cell, mobile.ToSubCell));
|
Self.QueueActivity(mobile.MoveIntoWorld(Self, cell, mobile.ToSubCell));
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
.ToArray();
|
.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Returns all living actors of the specified type of this player")]
|
[Desc("Returns all living actors of the specified type of this player.")]
|
||||||
public Actor[] GetActorsByType(string type)
|
public Actor[] GetActorsByType(string type)
|
||||||
{
|
{
|
||||||
var result = new List<Actor>();
|
var result = new List<Actor>();
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
rp = self.Trait<RallyPoint>();
|
rp = self.Trait<RallyPoint>();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Query or set a factory's rally point")]
|
[Desc("Query or set a factory's rally point.")]
|
||||||
public CPos RallyPoint
|
public CPos RallyPoint
|
||||||
{
|
{
|
||||||
get { return rp.Location; }
|
get { return rp.Location; }
|
||||||
@@ -73,7 +73,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
pb = self.Trait<PrimaryBuilding>();
|
pb = self.Trait<PrimaryBuilding>();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Query or set the factory's primary building status")]
|
[Desc("Query or set the factory's primary building status.")]
|
||||||
public bool IsPrimaryBuilding
|
public bool IsPrimaryBuilding
|
||||||
{
|
{
|
||||||
get { return pb.IsPrimary; }
|
get { return pb.IsPrimary; }
|
||||||
@@ -146,7 +146,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Check whether the factory's production queue that builds this type of actor is currently busy." +
|
[Desc("Check whether the factory's production queue that builds this type of actor is currently busy. " +
|
||||||
"Note: it does not check whether this particular type of actor is being produced.")]
|
"Note: it does not check whether this particular type of actor is being produced.")]
|
||||||
public bool IsProducing(string actorType)
|
public bool IsProducing(string actorType)
|
||||||
{
|
{
|
||||||
@@ -202,9 +202,9 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
[Desc("Build the specified set of actors using classic (RA-style) production queues. " +
|
[Desc("Build the specified set of actors using classic (RA-style) production queues. " +
|
||||||
"The function will return true if production could be started, false otherwise. " +
|
"The function will return true if production could be started, false otherwise. " +
|
||||||
"If an actionFunc is given, it will be called as actionFunc(Actor[] actors) once " +
|
"If an actionFunc is given, it will be called as actionFunc(Actor[] actors) once " +
|
||||||
"production of all actors has been completed. The actors array is guaranteed to " +
|
"production of all actors has been completed. The actors array is guaranteed to " +
|
||||||
"only contain alive actors. Note: This function will fail to work when called " +
|
"only contain alive actors. Note: This function will fail to work when called " +
|
||||||
"during the first tick")]
|
"during the first tick.")]
|
||||||
public bool Build(string[] actorTypes, LuaFunction actionFunc = null)
|
public bool Build(string[] actorTypes, LuaFunction actionFunc = null)
|
||||||
{
|
{
|
||||||
var typeToQueueMap = new Dictionary<string, string>();
|
var typeToQueueMap = new Dictionary<string, string>();
|
||||||
@@ -252,7 +252,7 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Desc("Check whether the production queue that builds this type of actor is currently busy." +
|
[Desc("Check whether the production queue that builds this type of actor is currently busy. " +
|
||||||
"Note: it does not check whether this particular type of actor is being produced.")]
|
"Note: it does not check whether this particular type of actor is being produced.")]
|
||||||
public bool IsProducing(string actorType)
|
public bool IsProducing(string actorType)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
var ds = health.DamageState;
|
var ds = health.DamageState;
|
||||||
return (ds == DamageState.Dead && info.DestroyedTemplate > 0) ? info.DestroyedTemplate :
|
return (ds == DamageState.Dead && info.DestroyedTemplate > 0) ? info.DestroyedTemplate :
|
||||||
(ds >= DamageState.Heavy && info.DamagedTemplate > 0) ? info.DamagedTemplate : info.Template;
|
(ds >= DamageState.Heavy && info.DamagedTemplate > 0) ? info.DamagedTemplate : info.Template;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool killedUnits = false;
|
bool killedUnits = false;
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
{
|
{
|
||||||
class C4DemolitionInfo : ITraitInfo
|
class C4DemolitionInfo : ITraitInfo
|
||||||
{
|
{
|
||||||
[Desc("Delay to demolish the target once the C4 is planted." +
|
[Desc("Delay to demolish the target once the C4 is planted. " +
|
||||||
"Measured in game ticks. Default is 1.8 seconds.")]
|
"Measured in game ticks. Default is 1.8 seconds.")]
|
||||||
public readonly int C4Delay = 45;
|
public readonly int C4Delay = 45;
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Be sure to use lowercase. Default value is \"e1\".")]
|
[Desc("Be sure to use lowercase. Default value is \"e1\".")]
|
||||||
public readonly string[] ActorTypes = { "e1" };
|
public readonly string[] ActorTypes = { "e1" };
|
||||||
|
|
||||||
[Desc("Spawns actors only if the selling player's faction is in this list." +
|
[Desc("Spawns actors only if the selling player's faction is in this list. " +
|
||||||
"Leave empty to allow all factions by default.")]
|
"Leave empty to allow all factions by default.")]
|
||||||
public readonly string[] Factions = { };
|
public readonly string[] Factions = { };
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.")]
|
[Desc("Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.")]
|
||||||
[PaletteReference] public readonly string Palette = "chrome";
|
[PaletteReference] public readonly string Palette = "chrome";
|
||||||
|
|
||||||
[Desc("Point in the actor's bounding box used as reference for offsetting the decoration image." +
|
[Desc("Point in the actor's bounding box used as reference for offsetting the decoration image. " +
|
||||||
"Possible values are any combination of Top, VCenter, Bottom and Left, HCenter, Right separated by a comma.")]
|
"Possible values are any combination of Top, VCenter, Bottom and Left, HCenter, Right separated by a comma.")]
|
||||||
public readonly ReferencePoints ReferencePoint = ReferencePoints.Top | ReferencePoints.Left;
|
public readonly ReferencePoints ReferencePoint = ReferencePoints.Top | ReferencePoints.Left;
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("The upgrades to grant when deploying and revoke when undeploying.")]
|
[Desc("The upgrades to grant when deploying and revoke when undeploying.")]
|
||||||
public readonly string[] Upgrades = { };
|
public readonly string[] Upgrades = { };
|
||||||
|
|
||||||
[Desc("The terrain types that this actor can deploy on to receive these upgrades." +
|
[Desc("The terrain types that this actor can deploy on to receive these upgrades. " +
|
||||||
"Leave empty to allow any.")]
|
"Leave empty to allow any.")]
|
||||||
public readonly string[] AllowedTerrainTypes = { };
|
public readonly string[] AllowedTerrainTypes = { };
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
if (++ticksIdle % info.TicksToWaitBeforeReducingMoveRadius == 0)
|
if (++ticksIdle % info.TicksToWaitBeforeReducingMoveRadius == 0)
|
||||||
effectiveMoveRadius--;
|
effectiveMoveRadius--;
|
||||||
|
|
||||||
return CPos.Zero; // We'll be back the next tick; better to sit idle for a few seconds than prolong this tick indefinitely with a loop
|
return CPos.Zero; // We'll be back the next tick; better to sit idle for a few seconds than prolong this tick indefinitely with a loop
|
||||||
}
|
}
|
||||||
|
|
||||||
ticksIdle = 0;
|
ticksIdle = 0;
|
||||||
|
|||||||
@@ -41,9 +41,9 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
"* Global tables provide functions for interacting with the global world state, or performing general helper tasks.\n" +
|
"* Global tables provide functions for interacting with the global world state, or performing general helper tasks.\n" +
|
||||||
"They exist in the global namespace, and can be called directly using ```<table name>.<function name>```.\n" +
|
"They exist in the global namespace, and can be called directly using ```<table name>.<function name>```.\n" +
|
||||||
"* Individual actors expose a collection of properties and commands that query information or modify their state.\n" +
|
"* Individual actors expose a collection of properties and commands that query information or modify their state.\n" +
|
||||||
" * Some commands, marked as <em>queued activity</em>, are asynchronous. Activities are queued on the actor, and will run in " +
|
" * Some commands, marked as <em>queued activity</em>, are asynchronous. Activities are queued on the actor, and will run in " +
|
||||||
"sequence until the queue is empty or the Stop command is called. Actors that are not performing an activity are Idle " +
|
"sequence until the queue is empty or the Stop command is called. Actors that are not performing an activity are Idle " +
|
||||||
"(actor.IsIdle will return true). The properties and commands available on each actor depends on the traits that the actor " +
|
"(actor.IsIdle will return true). The properties and commands available on each actor depends on the traits that the actor " +
|
||||||
"specifies in its rule definitions.\n" +
|
"specifies in its rule definitions.\n" +
|
||||||
"* Individual players expose a collection of properties and commands that query information or modify their state.\n" +
|
"* Individual players expose a collection of properties and commands that query information or modify their state.\n" +
|
||||||
"The properties and commands available on each actor depends on the traits that the actor specifies in its rule definitions.\n");
|
"The properties and commands available on each actor depends on the traits that the actor specifies in its rule definitions.\n");
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ namespace OpenRA.Mods.RA.Traits
|
|||||||
[Desc("Map player to use when 'InternalName' is defined on 'OwnerType'.")]
|
[Desc("Map player to use when 'InternalName' is defined on 'OwnerType'.")]
|
||||||
public readonly string InternalOwner = null;
|
public readonly string InternalOwner = null;
|
||||||
|
|
||||||
[Desc("DeathType that triggers the actor spawn." +
|
[Desc("DeathType that triggers the actor spawn. " +
|
||||||
"Leave empty to spawn an actor ignoring the DeathTypes.")]
|
"Leave empty to spawn an actor ignoring the DeathTypes.")]
|
||||||
public readonly string DeathType = null;
|
public readonly string DeathType = null;
|
||||||
|
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ GDIReinforcements = { "e2", "e2", "e2", "e2", "e2" }
|
|||||||
GDIReinforcementsWaypoints = { GDIReinforcementsEntry.Location, GDIReinforcementsWP1.Location }
|
GDIReinforcementsWaypoints = { GDIReinforcementsEntry.Location, GDIReinforcementsWP1.Location }
|
||||||
|
|
||||||
NodHelis = {
|
NodHelis = {
|
||||||
{ DateTime.Seconds(HeliDelay[1]), { NodHeliEntry.Location, NodHeliLZ1.Location }, { "e1", "e1", "e3" } },
|
{ DateTime.Seconds(HeliDelay[1]), { NodHeliEntry.Location, NodHeliLZ1.Location }, { "e1", "e1", "e3" } },
|
||||||
{ DateTime.Seconds(HeliDelay[2]), { NodHeliEntry.Location, NodHeliLZ2.Location }, { "e1", "e1", "e1", "e1" } },
|
{ DateTime.Seconds(HeliDelay[2]), { NodHeliEntry.Location, NodHeliLZ2.Location }, { "e1", "e1", "e1", "e1" } },
|
||||||
{ DateTime.Seconds(HeliDelay[3]), { NodHeliEntry.Location, NodHeliLZ3.Location }, { "e1", "e1", "e3" } }
|
{ DateTime.Seconds(HeliDelay[3]), { NodHeliEntry.Location, NodHeliLZ3.Location }, { "e1", "e1", "e3" } }
|
||||||
}
|
}
|
||||||
|
|
||||||
SendHeli = function(heli)
|
SendHeli = function(heli)
|
||||||
units = Reinforcements.ReinforceWithTransport(nod, "tran", heli[3], heli[2], { heli[2][1] })
|
units = Reinforcements.ReinforceWithTransport(nod, "tran", heli[3], heli[2], { heli[2][1] })
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
InitialForcesA = { "bggy", "e1", "e1", "e1", "e1" }
|
InitialForcesA = { "bggy", "e1", "e1", "e1", "e1" }
|
||||||
InitialForcesB = { "e1", "e1", "bggy", "e1", "e1" }
|
InitialForcesB = { "e1", "e1", "bggy", "e1", "e1" }
|
||||||
|
|
||||||
RifleInfantryReinforcements = { "e1", "e1" }
|
RifleInfantryReinforcements = { "e1", "e1" }
|
||||||
RocketInfantryReinforcements = { "e3", "e3", "e3", "e3", "e3" }
|
RocketInfantryReinforcements = { "e3", "e3", "e3", "e3", "e3" }
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ WorldLoaded = function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
Tick = function()
|
Tick = function()
|
||||||
if Nod.HasNoRequiredUnits() then
|
if Nod.HasNoRequiredUnits() then
|
||||||
if DateTime.GameTime > 2 then
|
if DateTime.GameTime > 2 then
|
||||||
GDI.MarkCompletedObjective(GDIObjective)
|
GDI.MarkCompletedObjective(GDIObjective)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
NodUnits = { "e1", "e1", "bggy", "bike", "e1", "e1", "bike", "bggy", "e1", "e1" }
|
NodUnits = { "e1", "e1", "bggy", "bike", "e1", "e1", "bike", "bggy", "e1", "e1" }
|
||||||
Engineers = { "e6", "e6", "e6" }
|
Engineers = { "e6", "e6", "e6" }
|
||||||
FirstAttackWaveUnits = { "e1", "e1", "e2" }
|
FirstAttackWaveUnits = { "e1", "e1", "e2" }
|
||||||
SecondAttackWaveUnits = { "e1", "e1", "e1" }
|
SecondAttackWaveUnits = { "e1", "e1", "e1" }
|
||||||
ThirdAttackWaveUnits = { "e1", "e1", "e1", "e2" }
|
ThirdAttackWaveUnits = { "e1", "e1", "e1", "e2" }
|
||||||
|
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ WorldLoaded = function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
Tick = function()
|
Tick = function()
|
||||||
if Nod.HasNoRequiredUnits() then
|
if Nod.HasNoRequiredUnits() then
|
||||||
if DateTime.GameTime > 2 then
|
if DateTime.GameTime > 2 then
|
||||||
GDI.MarkCompletedObjective(GDIObjective)
|
GDI.MarkCompletedObjective(GDIObjective)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ WorldLoaded = function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
Tick = function()
|
Tick = function()
|
||||||
if Nod.HasNoRequiredUnits() then
|
if Nod.HasNoRequiredUnits() then
|
||||||
if DateTime.GameTime > 2 then
|
if DateTime.GameTime > 2 then
|
||||||
GDI.MarkCompletedObjective(GDIObjective)
|
GDI.MarkCompletedObjective(GDIObjective)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ BeachTriggerArea = { CPos.New(111, 36), CPos.New(112, 36), CPos.New(112, 37), CP
|
|||||||
ParadropTriggerArea = { CPos.New(81, 66), CPos.New(82, 66), CPos.New(83, 66), CPos.New(84, 66), CPos.New(85, 66), CPos.New(86, 66), CPos.New(87, 66), CPos.New(93, 64), CPos.New(94, 64), CPos.New(94, 63), CPos.New(95, 63), CPos.New(95, 62), CPos.New(96, 62), CPos.New(96, 61), CPos.New(97, 61), CPos.New(97, 60), CPos.New(98, 60), CPos.New(99, 60), CPos.New(100, 60), CPos.New(101, 60), CPos.New(102, 60), CPos.New(103, 60) }
|
ParadropTriggerArea = { CPos.New(81, 66), CPos.New(82, 66), CPos.New(83, 66), CPos.New(84, 66), CPos.New(85, 66), CPos.New(86, 66), CPos.New(87, 66), CPos.New(93, 64), CPos.New(94, 64), CPos.New(94, 63), CPos.New(95, 63), CPos.New(95, 62), CPos.New(96, 62), CPos.New(96, 61), CPos.New(97, 61), CPos.New(97, 60), CPos.New(98, 60), CPos.New(99, 60), CPos.New(100, 60), CPos.New(101, 60), CPos.New(102, 60), CPos.New(103, 60) }
|
||||||
ReinforcementsTriggerArea = { CPos.New(57, 46), CPos.New(58, 46), CPos.New(66, 35), CPos.New(65, 35), CPos.New(65, 36), CPos.New(64, 36), CPos.New(64, 37), CPos.New(64, 38), CPos.New(64, 39), CPos.New(64, 40), CPos.New(64, 41), CPos.New(63, 41), CPos.New(63, 42), CPos.New(63, 43), CPos.New(62, 43), CPos.New(62, 44) }
|
ReinforcementsTriggerArea = { CPos.New(57, 46), CPos.New(58, 46), CPos.New(66, 35), CPos.New(65, 35), CPos.New(65, 36), CPos.New(64, 36), CPos.New(64, 37), CPos.New(64, 38), CPos.New(64, 39), CPos.New(64, 40), CPos.New(64, 41), CPos.New(63, 41), CPos.New(63, 42), CPos.New(63, 43), CPos.New(62, 43), CPos.New(62, 44) }
|
||||||
Barracks3TriggerArea = { CPos.New(69, 50), CPos.New(69, 51), CPos.New(69, 52), CPos.New(69, 53), CPos.New(69, 54), CPos.New(61, 45), CPos.New(62, 45), CPos.New(62, 46), CPos.New(62, 47), CPos.New(62, 48), CPos.New(63, 48), CPos.New(57, 46), CPos.New(58, 46) }
|
Barracks3TriggerArea = { CPos.New(69, 50), CPos.New(69, 51), CPos.New(69, 52), CPos.New(69, 53), CPos.New(69, 54), CPos.New(61, 45), CPos.New(62, 45), CPos.New(62, 46), CPos.New(62, 47), CPos.New(62, 48), CPos.New(63, 48), CPos.New(57, 46), CPos.New(58, 46) }
|
||||||
JeepTriggerArea = { CPos.New(75, 76), CPos.New(76, 76), CPos.New(77, 76), CPos.New(78, 76), CPos.New(79, 76), CPos.New(80, 76), CPos.New(81, 76), CPos.New(82, 76), CPos.New(91, 78), CPos.New(92, 78), CPos.New(93, 78), CPos.New(95, 84), CPos.New(96, 84), CPos.New(97, 84), CPos.New(98, 84), CPos.New(99, 84), CPos.New(100, 84) }
|
JeepTriggerArea = { CPos.New(75, 76), CPos.New(76, 76), CPos.New(77, 76), CPos.New(78, 76), CPos.New(79, 76), CPos.New(80, 76), CPos.New(81, 76), CPos.New(82, 76), CPos.New(91, 78), CPos.New(92, 78), CPos.New(93, 78), CPos.New(95, 84), CPos.New(96, 84), CPos.New(97, 84), CPos.New(98, 84), CPos.New(99, 84), CPos.New(100, 84) }
|
||||||
JeepBarrels = { JeepBarrel1, JeepBarrel2, JeepBarrel3, JeepBarrel4 }
|
JeepBarrels = { JeepBarrel1, JeepBarrel2, JeepBarrel3, JeepBarrel4 }
|
||||||
GuardTanks = { Heavy1, Heavy2, Heavy3 }
|
GuardTanks = { Heavy1, Heavy2, Heavy3 }
|
||||||
CheckpointGuards = { USSRCheckpointGuard1, USSRCheckpointGuard2 }
|
CheckpointGuards = { USSRCheckpointGuard1, USSRCheckpointGuard2 }
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ WorldLoaded = function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
-- Four infantry from the small island move towards the USSR command center and attack it after 24 Seconds
|
-- Four infantry from the small island move towards the USSR command center and attack it after 24 Seconds
|
||||||
Trigger.AfterDelay(DateTime.Seconds(24), function()
|
Trigger.AfterDelay(DateTime.Seconds(24), function()
|
||||||
Utils.Do(CmdAtk, function(unit)
|
Utils.Do(CmdAtk, function(unit)
|
||||||
unit.AttackMove(AttackWaypoint1.Location)
|
unit.AttackMove(AttackWaypoint1.Location)
|
||||||
Trigger.OnIdle(unit, unit.Hunt)
|
Trigger.OnIdle(unit, unit.Hunt)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ ArmorAttack = { }
|
|||||||
|
|
||||||
InfReinfPath = { NRoadPoint.Location, CrossroadsPoint.Location, ToVillageRoadPoint.Location, VillagePoint.Location }
|
InfReinfPath = { NRoadPoint.Location, CrossroadsPoint.Location, ToVillageRoadPoint.Location, VillagePoint.Location }
|
||||||
Patrol1Path = { ToVillageRoadPoint.Location, ToBridgePoint.Location, InBasePoint.Location }
|
Patrol1Path = { ToVillageRoadPoint.Location, ToBridgePoint.Location, InBasePoint.Location }
|
||||||
Patrol2Path = { EntranceSouthPoint.Location, ToRadarBridgePoint.Location, IslandPoint.Location, ToRadarBridgePoint.Location }
|
Patrol2Path = { EntranceSouthPoint.Location, ToRadarBridgePoint.Location, IslandPoint.Location, ToRadarBridgePoint.Location }
|
||||||
|
|
||||||
VillageCamArea = { CPos.New(37, 58),CPos.New(37, 59),CPos.New(37, 60),CPos.New(38, 60),CPos.New(39, 60), CPos.New(40, 60), CPos.New(41, 60), CPos.New(35, 57), CPos.New(34, 57), CPos.New(33, 57), CPos.New(32, 57) }
|
VillageCamArea = { CPos.New(37, 58),CPos.New(37, 59),CPos.New(37, 60),CPos.New(38, 60),CPos.New(39, 60), CPos.New(40, 60), CPos.New(41, 60), CPos.New(35, 57), CPos.New(34, 57), CPos.New(33, 57), CPos.New(32, 57) }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user