Merge pull request #10711 from colonelpopcorn/bleed
Refactored ticks to delay per issue #9810
This commit is contained in:
@@ -17,7 +17,7 @@ namespace OpenRA.Traits
|
|||||||
{
|
{
|
||||||
public class DrawLineToTargetInfo : ITraitInfo
|
public class DrawLineToTargetInfo : ITraitInfo
|
||||||
{
|
{
|
||||||
public readonly int Ticks = 60;
|
public readonly int Delay = 60;
|
||||||
|
|
||||||
public virtual object Create(ActorInitializer init) { return new DrawLineToTarget(init.Self, this); }
|
public virtual object Create(ActorInitializer init) { return new DrawLineToTarget(init.Self, this); }
|
||||||
}
|
}
|
||||||
@@ -38,7 +38,7 @@ namespace OpenRA.Traits
|
|||||||
this.c = c;
|
this.c = c;
|
||||||
|
|
||||||
if (display)
|
if (display)
|
||||||
lifetime = info.Ticks;
|
lifetime = info.Delay;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetTargets(Actor self, List<Target> targets, Color c, bool display)
|
public void SetTargets(Actor self, List<Target> targets, Color c, bool display)
|
||||||
@@ -47,7 +47,7 @@ namespace OpenRA.Traits
|
|||||||
this.c = c;
|
this.c = c;
|
||||||
|
|
||||||
if (display)
|
if (display)
|
||||||
lifetime = info.Ticks;
|
lifetime = info.Delay;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Selected(Actor a)
|
public void Selected(Actor a)
|
||||||
@@ -56,7 +56,7 @@ namespace OpenRA.Traits
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// Reset the order line timeout.
|
// Reset the order line timeout.
|
||||||
lifetime = info.Ticks;
|
lifetime = info.Delay;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<IRenderable> RenderAfterWorld(WorldRenderer wr)
|
public IEnumerable<IRenderable> RenderAfterWorld(WorldRenderer wr)
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
foreach (var t in self.TraitsImplementing<INotifyHarvesterAction>())
|
foreach (var t in self.TraitsImplementing<INotifyHarvesterAction>())
|
||||||
t.Harvested(self, resource);
|
t.Harvested(self, resource);
|
||||||
|
|
||||||
return ActivityUtils.SequenceActivities(new Wait(harvInfo.LoadTicksPerBale), this);
|
return ActivityUtils.SequenceActivities(new Wait(harvInfo.BaleLoadDelay), this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
if (ammoPools == null)
|
if (ammoPools == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ammoPoolsReloadTimes = ammoPools.ToDictionary(x => x, y => y.Info.ReloadTicks);
|
ammoPoolsReloadTimes = ammoPools.ToDictionary(x => x, y => y.Info.ReloadDelay);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Activity Tick(Actor self)
|
public override Activity Tick(Actor self)
|
||||||
@@ -66,7 +66,7 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
if (sound != null)
|
if (sound != null)
|
||||||
Game.Sound.Play(sound, self.CenterPosition);
|
Game.Sound.Play(sound, self.CenterPosition);
|
||||||
|
|
||||||
ammoPoolsReloadTimes[pool] = pool.Info.ReloadTicks;
|
ammoPoolsReloadTimes[pool] = pool.Info.ReloadDelay;
|
||||||
}
|
}
|
||||||
|
|
||||||
return needsReloading ? this : NextActivity;
|
return needsReloading ? this : NextActivity;
|
||||||
|
|||||||
@@ -43,13 +43,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public readonly string RearmSound = null;
|
public readonly string RearmSound = null;
|
||||||
|
|
||||||
[Desc("Time to reload per ReloadCount on airfield etc.")]
|
[Desc("Time to reload per ReloadCount on airfield etc.")]
|
||||||
public readonly int ReloadTicks = 25 * 2;
|
public readonly int ReloadDelay = 50;
|
||||||
|
|
||||||
[Desc("Whether or not ammo is replenished on its own.")]
|
[Desc("Whether or not ammo is replenished on its own.")]
|
||||||
public readonly bool SelfReloads = false;
|
public readonly bool SelfReloads = false;
|
||||||
|
|
||||||
[Desc("Time to reload per ReloadCount when actor 'SelfReloads'.")]
|
[Desc("Time to reload per ReloadCount when actor 'SelfReloads'.")]
|
||||||
public readonly int SelfReloadTicks = 25 * 2;
|
public readonly int SelfReloadDelay = 50;
|
||||||
|
|
||||||
[Desc("Whether or not reload timer should be reset when ammo has been fired.")]
|
[Desc("Whether or not reload timer should be reset when ammo has been fired.")]
|
||||||
public readonly bool ResetOnFire = false;
|
public readonly bool ResetOnFire = false;
|
||||||
@@ -72,7 +72,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
else
|
else
|
||||||
CurrentAmmo = Info.Ammo;
|
CurrentAmmo = Info.Ammo;
|
||||||
|
|
||||||
RemainingTicks = Info.SelfReloadTicks;
|
RemainingTicks = Info.SelfReloadDelay;
|
||||||
PreviousAmmo = GetAmmoCount();
|
PreviousAmmo = GetAmmoCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,13 +112,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
// Resets the tick counter if ammo was fired.
|
// Resets the tick counter if ammo was fired.
|
||||||
if (Info.ResetOnFire && GetAmmoCount() < PreviousAmmo)
|
if (Info.ResetOnFire && GetAmmoCount() < PreviousAmmo)
|
||||||
{
|
{
|
||||||
RemainingTicks = Info.SelfReloadTicks;
|
RemainingTicks = Info.SelfReloadDelay;
|
||||||
PreviousAmmo = GetAmmoCount();
|
PreviousAmmo = GetAmmoCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!FullAmmo() && --RemainingTicks == 0)
|
if (!FullAmmo() && --RemainingTicks == 0)
|
||||||
{
|
{
|
||||||
RemainingTicks = Info.SelfReloadTicks;
|
RemainingTicks = Info.SelfReloadDelay;
|
||||||
|
|
||||||
for (var i = 0; i < Info.ReloadCount; i++)
|
for (var i = 0; i < Info.ReloadCount; i++)
|
||||||
GiveAmmo();
|
GiveAmmo();
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public readonly int MaxCharges = 1;
|
public readonly int MaxCharges = 1;
|
||||||
|
|
||||||
[Desc("Reload time for all charges (in ticks).")]
|
[Desc("Reload time for all charges (in ticks).")]
|
||||||
public readonly int ReloadTime = 120;
|
public readonly int ReloadDelay = 120;
|
||||||
|
|
||||||
[Desc("Delay for initial charge attack (in ticks).")]
|
[Desc("Delay for initial charge attack (in ticks).")]
|
||||||
public readonly int InitialChargeDelay = 22;
|
public readonly int InitialChargeDelay = 22;
|
||||||
@@ -67,7 +67,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public void Attacking(Actor self, Target target, Armament a, Barrel barrel)
|
public void Attacking(Actor self, Target target, Armament a, Barrel barrel)
|
||||||
{
|
{
|
||||||
--charges;
|
--charges;
|
||||||
timeToRecharge = info.ReloadTime;
|
timeToRecharge = info.ReloadDelay;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Activity GetAttackActivity(Actor self, Target newTarget, bool allowMove, bool forceAttack)
|
public override Activity GetAttackActivity(Actor self, Target newTarget, bool allowMove, bool forceAttack)
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("How much resources it can carry.")]
|
[Desc("How much resources it can carry.")]
|
||||||
public readonly int Capacity = 28;
|
public readonly int Capacity = 28;
|
||||||
|
|
||||||
public readonly int LoadTicksPerBale = 4;
|
public readonly int BaleLoadDelay = 4;
|
||||||
|
|
||||||
[Desc("How fast it can dump it's carryage.")]
|
[Desc("How fast it can dump it's carryage.")]
|
||||||
public readonly int UnloadTicksPerBale = 4;
|
public readonly int BaleUnloadDelay = 4;
|
||||||
|
|
||||||
[Desc("How many squares to show the fill level.")]
|
[Desc("How many squares to show the fill level.")]
|
||||||
public readonly int PipCount = 7;
|
public readonly int PipCount = 7;
|
||||||
@@ -290,7 +290,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
if (--contents[type] == 0)
|
if (--contents[type] == 0)
|
||||||
contents.Remove(type);
|
contents.Remove(type);
|
||||||
|
|
||||||
currentUnloadTicks = Info.UnloadTicksPerBale;
|
currentUnloadTicks = Info.BaleUnloadDelay;
|
||||||
}
|
}
|
||||||
|
|
||||||
return contents.Count == 0;
|
return contents.Count == 0;
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[Desc("Allows King of the Hill (KotH) style gameplay.")]
|
[Desc("Allows King of the Hill (KotH) style gameplay.")]
|
||||||
public class StrategicVictoryConditionsInfo : ITraitInfo, Requires<MissionObjectivesInfo>
|
public class StrategicVictoryConditionsInfo : ITraitInfo, Requires<MissionObjectivesInfo>
|
||||||
{
|
{
|
||||||
[Desc("Amount of time (in game ticks) that the player has to hold all the strategic points.", "Defaults to 5 minutes.")]
|
[Desc("Amount of time (in game ticks) that the player has to hold all the strategic points.", "Defaults to 7500 ticks (5 minutes at default speed).")]
|
||||||
public readonly int TicksToHold = 25 * 60 * 5;
|
public readonly int HoldDuration = 7500;
|
||||||
|
|
||||||
[Desc("Should the timer reset when the player loses hold of a strategic point.")]
|
[Desc("Should the timer reset when the player loses hold of a strategic point.")]
|
||||||
public readonly bool ResetOnHoldLost = true;
|
public readonly bool ResetOnHoldLost = true;
|
||||||
@@ -52,7 +52,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public StrategicVictoryConditions(Actor self, StrategicVictoryConditionsInfo svcInfo)
|
public StrategicVictoryConditions(Actor self, StrategicVictoryConditionsInfo svcInfo)
|
||||||
{
|
{
|
||||||
info = svcInfo;
|
info = svcInfo;
|
||||||
TicksLeft = info.TicksToHold;
|
TicksLeft = info.HoldDuration;
|
||||||
player = self.Owner;
|
player = self.Owner;
|
||||||
mo = self.Trait<MissionObjectives>();
|
mo = self.Trait<MissionObjectives>();
|
||||||
}
|
}
|
||||||
@@ -97,7 +97,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
}
|
}
|
||||||
else if (TicksLeft != 0)
|
else if (TicksLeft != 0)
|
||||||
if (info.ResetOnHoldLost)
|
if (info.ResetOnHoldLost)
|
||||||
TicksLeft = info.TicksToHold; // Reset the time hold
|
TicksLeft = info.HoldDuration; // Reset the time hold
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
{
|
{
|
||||||
public class WithInfantryBodyInfo : UpgradableTraitInfo, IRenderActorPreviewSpritesInfo, Requires<IMoveInfo>, Requires<RenderSpritesInfo>
|
public class WithInfantryBodyInfo : UpgradableTraitInfo, IRenderActorPreviewSpritesInfo, Requires<IMoveInfo>, Requires<RenderSpritesInfo>
|
||||||
{
|
{
|
||||||
public readonly int MinIdleWaitTicks = 30;
|
public readonly int MinIdleDelay = 30;
|
||||||
public readonly int MaxIdleWaitTicks = 110;
|
public readonly int MaxIdleDelay = 110;
|
||||||
|
|
||||||
[SequenceReference] public readonly string MoveSequence = "run";
|
[SequenceReference] public readonly string MoveSequence = "run";
|
||||||
[SequenceReference] public readonly string AttackSequence = null;
|
[SequenceReference] public readonly string AttackSequence = null;
|
||||||
@@ -146,7 +146,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
if (Info.IdleSequences.Length > 0)
|
if (Info.IdleSequences.Length > 0)
|
||||||
{
|
{
|
||||||
idleSequence = Info.IdleSequences.Random(self.World.SharedRandom);
|
idleSequence = Info.IdleSequences.Random(self.World.SharedRandom);
|
||||||
idleDelay = self.World.SharedRandom.Next(Info.MinIdleWaitTicks, Info.MaxIdleWaitTicks);
|
idleDelay = self.World.SharedRandom.Next(Info.MinIdleDelay, Info.MaxIdleDelay);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (AllowIdleAnimation(self))
|
else if (AllowIdleAnimation(self))
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
class SelfHealingInfo : UpgradableTraitInfo, Requires<HealthInfo>
|
class SelfHealingInfo : UpgradableTraitInfo, Requires<HealthInfo>
|
||||||
{
|
{
|
||||||
public readonly int Step = 5;
|
public readonly int Step = 5;
|
||||||
public readonly int Ticks = 5;
|
public readonly int Delay = 5;
|
||||||
public readonly float HealIfBelow = .5f;
|
public readonly float HealIfBelow = .5f;
|
||||||
public readonly int DamageCooldown = 0;
|
public readonly int DamageCooldown = 0;
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
if (--ticks <= 0)
|
if (--ticks <= 0)
|
||||||
{
|
{
|
||||||
ticks = Info.Ticks;
|
ticks = Info.Delay;
|
||||||
self.InflictDamage(self, -Info.Step, null);
|
self.InflictDamage(self, -Info.Step, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,13 +20,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public readonly int WanderMoveRadius = 1;
|
public readonly int WanderMoveRadius = 1;
|
||||||
|
|
||||||
[Desc("Number of ticks to wait before decreasing the effective move radius.")]
|
[Desc("Number of ticks to wait before decreasing the effective move radius.")]
|
||||||
public readonly int TicksToWaitBeforeReducingMoveRadius = 5;
|
public readonly int ReduceMoveRadiusDelay = 5;
|
||||||
|
|
||||||
[Desc("Minimum amount of ticks the actor will sit idly before starting to wander.")]
|
[Desc("Minimum amount of ticks the actor will sit idly before starting to wander.")]
|
||||||
public readonly int MinMoveDelayInTicks = 0;
|
public readonly int MinMoveDelay = 0;
|
||||||
|
|
||||||
[Desc("Maximum amount of ticks the actor will sit idly before starting to wander.")]
|
[Desc("Maximum amount of ticks the actor will sit idly before starting to wander.")]
|
||||||
public readonly int MaxMoveDelayInTicks = 0;
|
public readonly int MaxMoveDelay = 0;
|
||||||
|
|
||||||
public abstract object Create(ActorInitializer init);
|
public abstract object Create(ActorInitializer init);
|
||||||
}
|
}
|
||||||
@@ -49,7 +49,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
public virtual void OnBecomingIdle(Actor self)
|
public virtual void OnBecomingIdle(Actor self)
|
||||||
{
|
{
|
||||||
countdown = self.World.SharedRandom.Next(info.MinMoveDelayInTicks, info.MaxMoveDelayInTicks);
|
countdown = self.World.SharedRandom.Next(info.MinMoveDelay, info.MaxMoveDelay);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TickIdle(Actor self)
|
public void TickIdle(Actor self)
|
||||||
@@ -70,7 +70,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
if (!self.World.Map.Contains(targetCell))
|
if (!self.World.Map.Contains(targetCell))
|
||||||
{
|
{
|
||||||
// If MoveRadius is too big there might not be a valid cell to order the attack to (if actor is on a small island and can't leave)
|
// If MoveRadius is too big there might not be a valid cell to order the attack to (if actor is on a small island and can't leave)
|
||||||
if (++ticksIdle % info.TicksToWaitBeforeReducingMoveRadius == 0)
|
if (++ticksIdle % info.ReduceMoveRadiusDelay == 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
|
||||||
|
|||||||
@@ -617,6 +617,33 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
node.Key = "Image";
|
node.Key = "Image";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engineVersion < 20160321)
|
||||||
|
{
|
||||||
|
var parentKey = parent != null ? parent.Key.Split('@').First() : null;
|
||||||
|
if (node.Key == "Ticks" && parentKey == "DrawLineToTarget")
|
||||||
|
node.Key = "Duration";
|
||||||
|
if (node.Key == "ReloadTicks")
|
||||||
|
node.Key = "ReloadDelay";
|
||||||
|
if (node.Key == "SelfReloadTicks")
|
||||||
|
node.Key = "SelfReloadDelay";
|
||||||
|
if (node.Key == "LoadTicksPerBale")
|
||||||
|
node.Key = "BaleLoadDelay";
|
||||||
|
if (node.Key == "UnloadTicksPerBale")
|
||||||
|
node.Key = "BaleUnloadDelay";
|
||||||
|
if (node.Key == "TicksToHold")
|
||||||
|
node.Key = "HoldDuration";
|
||||||
|
if (node.Key == "Ticks" && parentKey == "SelfHealing")
|
||||||
|
node.Key = "Delay";
|
||||||
|
if (node.Key == "TicksToWaitBeforeReducingMoveRadius")
|
||||||
|
node.Key = "ReduceMoveRadiusDelay";
|
||||||
|
if (node.Key == "MinIdleWaitTicks")
|
||||||
|
node.Key = "MinIdleDelay";
|
||||||
|
if (node.Key == "MaxIdleWaitTicks")
|
||||||
|
node.Key = "MaxIdleWaitDelay";
|
||||||
|
if (node.Key == "ReloadTime")
|
||||||
|
node.Key = "ReloadDelay";
|
||||||
|
}
|
||||||
|
|
||||||
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ RMBO.easy:
|
|||||||
Health:
|
Health:
|
||||||
HP: 300
|
HP: 300
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Ticks: 10
|
Delay: 10
|
||||||
HealIfBelow: 50%
|
HealIfBelow: 50%
|
||||||
DamageCooldown: 200
|
DamageCooldown: 200
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ HELI:
|
|||||||
PipCount: 5
|
PipCount: 5
|
||||||
SelfReloads: true
|
SelfReloads: true
|
||||||
ReloadCount: 10
|
ReloadCount: 10
|
||||||
SelfReloadTicks: 200
|
SelfReloadDelay: 200
|
||||||
WithSpriteRotorOverlay:
|
WithSpriteRotorOverlay:
|
||||||
Offset: 0,0,85
|
Offset: 0,0,85
|
||||||
WithMuzzleOverlay:
|
WithMuzzleOverlay:
|
||||||
@@ -129,7 +129,7 @@ ORCA:
|
|||||||
PipCount: 6
|
PipCount: 6
|
||||||
SelfReloads: true
|
SelfReloads: true
|
||||||
ReloadCount: 2
|
ReloadCount: 2
|
||||||
SelfReloadTicks: 100
|
SelfReloadDelay: 100
|
||||||
SpawnActorOnDeath:
|
SpawnActorOnDeath:
|
||||||
Actor: ORCA.Husk
|
Actor: ORCA.Husk
|
||||||
AutoTarget:
|
AutoTarget:
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
Modifier: 90, 80, 70, 50
|
Modifier: 90, 80, 70, 50
|
||||||
SelfHealing@ELITE:
|
SelfHealing@ELITE:
|
||||||
Step: 2
|
Step: 2
|
||||||
Ticks: 100
|
Delay: 100
|
||||||
HealIfBelow: 1
|
HealIfBelow: 1
|
||||||
DamageCooldown: 125
|
DamageCooldown: 125
|
||||||
UpgradeTypes: selfheal
|
UpgradeTypes: selfheal
|
||||||
@@ -233,7 +233,7 @@
|
|||||||
Guardable:
|
Guardable:
|
||||||
SelfHealing@HOSPITAL:
|
SelfHealing@HOSPITAL:
|
||||||
Step: 5
|
Step: 5
|
||||||
Ticks: 100
|
Delay: 100
|
||||||
HealIfBelow: 1
|
HealIfBelow: 1
|
||||||
DamageCooldown: 125
|
DamageCooldown: 125
|
||||||
UpgradeTypes: hospitalheal
|
UpgradeTypes: hospitalheal
|
||||||
|
|||||||
@@ -764,7 +764,7 @@ OBLI:
|
|||||||
FireDelay: 0
|
FireDelay: 0
|
||||||
AttackCharge:
|
AttackCharge:
|
||||||
ChargeAudio: obelpowr.aud
|
ChargeAudio: obelpowr.aud
|
||||||
ReloadTime: 40
|
ReloadDelay: 40
|
||||||
InitialChargeDelay: 50
|
InitialChargeDelay: 50
|
||||||
-EmitInfantryOnSell:
|
-EmitInfantryOnSell:
|
||||||
DetectCloaked:
|
DetectCloaked:
|
||||||
|
|||||||
@@ -55,8 +55,8 @@ HARV:
|
|||||||
Resources: Tiberium, BlueTiberium
|
Resources: Tiberium, BlueTiberium
|
||||||
PipCount: 7
|
PipCount: 7
|
||||||
Capacity: 20
|
Capacity: 20
|
||||||
LoadTicksPerBale: 12
|
BaleLoadDelay: 12
|
||||||
UnloadTicksPerBale: 6
|
BaleUnloadDelay: 6
|
||||||
SearchFromProcRadius: 25
|
SearchFromProcRadius: 25
|
||||||
SearchFromOrderRadius: 15
|
SearchFromOrderRadius: 15
|
||||||
Mobile:
|
Mobile:
|
||||||
@@ -410,7 +410,7 @@ HTNK:
|
|||||||
WithMuzzleOverlay:
|
WithMuzzleOverlay:
|
||||||
AutoTarget:
|
AutoTarget:
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Ticks: 10
|
Delay: 10
|
||||||
HealIfBelow: 50%
|
HealIfBelow: 50%
|
||||||
DamageCooldown: 200
|
DamageCooldown: 200
|
||||||
SpawnActorOnDeath:
|
SpawnActorOnDeath:
|
||||||
@@ -486,7 +486,7 @@ MLRS:
|
|||||||
PipCount: 0
|
PipCount: 0
|
||||||
SelfReloads: true
|
SelfReloads: true
|
||||||
ReloadCount: 1
|
ReloadCount: 1
|
||||||
SelfReloadTicks: 45
|
SelfReloadDelay: 45
|
||||||
AttackTurreted:
|
AttackTurreted:
|
||||||
WithReloadingSpriteTurret:
|
WithReloadingSpriteTurret:
|
||||||
AmmoPoolName: primary
|
AmmoPoolName: primary
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ carryall.reinforce:
|
|||||||
Image: carryall
|
Image: carryall
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Step: 5
|
Step: 5
|
||||||
Ticks: 3
|
Delay: 3
|
||||||
HealIfBelow: 50%
|
HealIfBelow: 50%
|
||||||
|
|
||||||
carryall:
|
carryall:
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
Modifier: 90, 80, 70, 50
|
Modifier: 90, 80, 70, 50
|
||||||
SelfHealing@ELITE:
|
SelfHealing@ELITE:
|
||||||
Step: 2
|
Step: 2
|
||||||
Ticks: 125
|
Delay: 125
|
||||||
HealIfBelow: 1
|
HealIfBelow: 1
|
||||||
DamageCooldown: 125
|
DamageCooldown: 125
|
||||||
UpgradeTypes: selfheal
|
UpgradeTypes: selfheal
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ mcv:
|
|||||||
VisualBounds: 42,42
|
VisualBounds: 42,42
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Step: 5
|
Step: 5
|
||||||
Ticks: 3
|
Delay: 3
|
||||||
HealIfBelow: 50%
|
HealIfBelow: 50%
|
||||||
|
|
||||||
harvester:
|
harvester:
|
||||||
@@ -68,7 +68,7 @@ harvester:
|
|||||||
Capacity: 28
|
Capacity: 28
|
||||||
HarvestFacings: 8
|
HarvestFacings: 8
|
||||||
Resources: Spice
|
Resources: Spice
|
||||||
UnloadTicksPerBale: 5
|
BaleUnloadDelay: 5
|
||||||
SearchFromProcRadius: 30
|
SearchFromProcRadius: 30
|
||||||
SearchFromOrderRadius: 15
|
SearchFromOrderRadius: 15
|
||||||
Health:
|
Health:
|
||||||
@@ -94,7 +94,7 @@ harvester:
|
|||||||
VisualBounds: 42,42
|
VisualBounds: 42,42
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Step: 5
|
Step: 5
|
||||||
Ticks: 3
|
Delay: 3
|
||||||
HealIfBelow: 50%
|
HealIfBelow: 50%
|
||||||
|
|
||||||
trike:
|
trike:
|
||||||
@@ -335,7 +335,7 @@ devastator:
|
|||||||
VisualBounds: 44,38,0,0
|
VisualBounds: 44,38,0,0
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Step: 5
|
Step: 5
|
||||||
Ticks: 3
|
Delay: 3
|
||||||
HealIfBelow: 50%
|
HealIfBelow: 50%
|
||||||
|
|
||||||
raider:
|
raider:
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ MINVV:
|
|||||||
Description: Bomb (Hotkey B)
|
Description: Bomb (Hotkey B)
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Step: -1
|
Step: -1
|
||||||
Ticks: 1
|
Delay: 1
|
||||||
HealIfBelow: 101%
|
HealIfBelow: 101%
|
||||||
DamageCooldown: 0
|
DamageCooldown: 0
|
||||||
Explodes:
|
Explodes:
|
||||||
|
|||||||
@@ -306,7 +306,7 @@ V2RL:
|
|||||||
EmptyWeapon: napalm
|
EmptyWeapon: napalm
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Step: 2
|
Step: 2
|
||||||
Ticks: 1
|
Delay: 1
|
||||||
HealIfBelow: 40%
|
HealIfBelow: 40%
|
||||||
|
|
||||||
BADR.Bomber:
|
BADR.Bomber:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ MISS:
|
|||||||
|
|
||||||
Player:
|
Player:
|
||||||
StrategicVictoryConditions:
|
StrategicVictoryConditions:
|
||||||
TicksToHold: 3000
|
HoldDuration: 3000
|
||||||
ResetOnHoldLost: true
|
ResetOnHoldLost: true
|
||||||
RatioRequired: 0.65
|
RatioRequired: 0.65
|
||||||
CriticalRatioRequired: 0.65
|
CriticalRatioRequired: 0.65
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ PBOX:
|
|||||||
Actor: 5TNK.Husk
|
Actor: 5TNK.Husk
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Step: 1
|
Step: 1
|
||||||
Ticks: 1
|
Delay: 1
|
||||||
HealIfBelow: 100%
|
HealIfBelow: 100%
|
||||||
DamageCooldown: 150
|
DamageCooldown: 150
|
||||||
Selectable:
|
Selectable:
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ YAK:
|
|||||||
AmmoPool:
|
AmmoPool:
|
||||||
Ammo: 18
|
Ammo: 18
|
||||||
PipCount: 6
|
PipCount: 6
|
||||||
ReloadTicks: 11
|
ReloadDelay: 11
|
||||||
ReturnOnIdle:
|
ReturnOnIdle:
|
||||||
SelectionDecorations:
|
SelectionDecorations:
|
||||||
VisualBounds: 30,28,0,2
|
VisualBounds: 30,28,0,2
|
||||||
@@ -317,7 +317,7 @@ HIND:
|
|||||||
AmmoPool:
|
AmmoPool:
|
||||||
Ammo: 24
|
Ammo: 24
|
||||||
PipCount: 6
|
PipCount: 6
|
||||||
ReloadTicks: 8
|
ReloadDelay: 8
|
||||||
SelectionDecorations:
|
SelectionDecorations:
|
||||||
VisualBounds: 38,32
|
VisualBounds: 38,32
|
||||||
WithMuzzleOverlay:
|
WithMuzzleOverlay:
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
Modifier: 90, 80, 70, 50
|
Modifier: 90, 80, 70, 50
|
||||||
SelfHealing@ELITE:
|
SelfHealing@ELITE:
|
||||||
Step: 2
|
Step: 2
|
||||||
Ticks: 100
|
Delay: 100
|
||||||
HealIfBelow: 1
|
HealIfBelow: 1
|
||||||
DamageCooldown: 125
|
DamageCooldown: 125
|
||||||
UpgradeTypes: selfheal
|
UpgradeTypes: selfheal
|
||||||
@@ -221,7 +221,7 @@
|
|||||||
GenericName: Soldier
|
GenericName: Soldier
|
||||||
SelfHealing@HOSPITAL:
|
SelfHealing@HOSPITAL:
|
||||||
Step: 5
|
Step: 5
|
||||||
Ticks: 100
|
Delay: 100
|
||||||
HealIfBelow: 1
|
HealIfBelow: 1
|
||||||
DamageCooldown: 125
|
DamageCooldown: 125
|
||||||
UpgradeTypes: hospitalheal
|
UpgradeTypes: hospitalheal
|
||||||
|
|||||||
@@ -434,7 +434,7 @@ TSLA:
|
|||||||
AttackCharge:
|
AttackCharge:
|
||||||
ChargeAudio: tslachg2.aud
|
ChargeAudio: tslachg2.aud
|
||||||
MaxCharges: 3
|
MaxCharges: 3
|
||||||
ReloadTime: 120
|
ReloadDelay: 120
|
||||||
Power:
|
Power:
|
||||||
Amount: -100
|
Amount: -100
|
||||||
DetectCloaked:
|
DetectCloaked:
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ V2RL:
|
|||||||
Actor: 4TNK.Husk
|
Actor: 4TNK.Husk
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Step: 1
|
Step: 1
|
||||||
Ticks: 3
|
Delay: 3
|
||||||
HealIfBelow: 50%
|
HealIfBelow: 50%
|
||||||
DamageCooldown: 150
|
DamageCooldown: 150
|
||||||
SelectionDecorations:
|
SelectionDecorations:
|
||||||
@@ -253,7 +253,7 @@ HARV:
|
|||||||
Harvester:
|
Harvester:
|
||||||
Capacity: 20
|
Capacity: 20
|
||||||
Resources: Ore,Gems
|
Resources: Ore,Gems
|
||||||
UnloadTicksPerBale: 1
|
BaleUnloadDelay: 1
|
||||||
SearchFromProcRadius: 30
|
SearchFromProcRadius: 30
|
||||||
SearchFromOrderRadius: 15
|
SearchFromOrderRadius: 15
|
||||||
Health:
|
Health:
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ ORCAB:
|
|||||||
Ammo: 10
|
Ammo: 10
|
||||||
PipCount: 2
|
PipCount: 2
|
||||||
ReloadCount: 5
|
ReloadCount: 5
|
||||||
ReloadTicks: 200
|
ReloadDelay: 200
|
||||||
PipType: Ammo
|
PipType: Ammo
|
||||||
PipTypeEmpty: AmmoEmpty
|
PipTypeEmpty: AmmoEmpty
|
||||||
AutoTarget:
|
AutoTarget:
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
Voice: Attack
|
Voice: Attack
|
||||||
AutoTarget:
|
AutoTarget:
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Ticks: 10
|
Delay: 10
|
||||||
HealIfBelow: 50%
|
HealIfBelow: 50%
|
||||||
DamageCooldown: 200
|
DamageCooldown: 200
|
||||||
WithVoxelTurret:
|
WithVoxelTurret:
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
Modifier: 90, 75
|
Modifier: 90, 75
|
||||||
SelfHealing@ELITE:
|
SelfHealing@ELITE:
|
||||||
Step: 2
|
Step: 2
|
||||||
Ticks: 100
|
Delay: 100
|
||||||
HealIfBelow: 1
|
HealIfBelow: 1
|
||||||
DamageCooldown: 125
|
DamageCooldown: 125
|
||||||
UpgradeTypes: selfheal
|
UpgradeTypes: selfheal
|
||||||
@@ -317,7 +317,7 @@
|
|||||||
DeathTypes: EnergyDeath
|
DeathTypes: EnergyDeath
|
||||||
SelfHealing@HOSPITAL:
|
SelfHealing@HOSPITAL:
|
||||||
Step: 5
|
Step: 5
|
||||||
Ticks: 100
|
Delay: 100
|
||||||
HealIfBelow: 1
|
HealIfBelow: 1
|
||||||
DamageCooldown: 125
|
DamageCooldown: 125
|
||||||
UpgradeTypes: hospitalheal
|
UpgradeTypes: hospitalheal
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ MEDIC:
|
|||||||
WithInfantryBody:
|
WithInfantryBody:
|
||||||
AttackSequence: heal
|
AttackSequence: heal
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Ticks: 60
|
Delay: 60
|
||||||
Passenger:
|
Passenger:
|
||||||
PipType: Red
|
PipType: Red
|
||||||
|
|
||||||
|
|||||||
@@ -233,8 +233,8 @@ WEED:
|
|||||||
DeliveryBuildings: nawast
|
DeliveryBuildings: nawast
|
||||||
Capacity: 7
|
Capacity: 7
|
||||||
Resources: Veins
|
Resources: Veins
|
||||||
UnloadTicksPerBale: 20
|
BaleUnloadDelay: 20
|
||||||
LoadTicksPerBale: 40
|
BaleLoadDelay: 40
|
||||||
SearchFromProcRadius: 72
|
SearchFromProcRadius: 72
|
||||||
SearchFromOrderRadius: 36
|
SearchFromOrderRadius: 36
|
||||||
HarvestVoice: Attack
|
HarvestVoice: Attack
|
||||||
@@ -245,7 +245,7 @@ WEED:
|
|||||||
Health:
|
Health:
|
||||||
HP: 600
|
HP: 600
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Ticks: 10
|
Delay: 10
|
||||||
HealIfBelow: 50%
|
HealIfBelow: 50%
|
||||||
DamageCooldown: 200
|
DamageCooldown: 200
|
||||||
Armor:
|
Armor:
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ HARV:
|
|||||||
DeliveryBuildings: proc
|
DeliveryBuildings: proc
|
||||||
Capacity: 28
|
Capacity: 28
|
||||||
Resources: Tiberium, BlueTiberium
|
Resources: Tiberium, BlueTiberium
|
||||||
UnloadTicksPerBale: 1
|
BaleUnloadDelay: 1
|
||||||
SearchFromProcRadius: 36
|
SearchFromProcRadius: 36
|
||||||
SearchFromOrderRadius: 18
|
SearchFromOrderRadius: 18
|
||||||
HarvestVoice: Attack
|
HarvestVoice: Attack
|
||||||
@@ -75,7 +75,7 @@ HARV:
|
|||||||
Health:
|
Health:
|
||||||
HP: 1000
|
HP: 1000
|
||||||
SelfHealing:
|
SelfHealing:
|
||||||
Ticks: 10
|
Delay: 10
|
||||||
HealIfBelow: 50%
|
HealIfBelow: 50%
|
||||||
DamageCooldown: 200
|
DamageCooldown: 200
|
||||||
Armor:
|
Armor:
|
||||||
|
|||||||
Reference in New Issue
Block a user