Merge pull request #6575 from pchote/selfhealing
Add elite self-healing bonus
This commit is contained in:
@@ -204,9 +204,12 @@ namespace OpenRA
|
|||||||
{
|
{
|
||||||
World.AddFrameEndTask(w =>
|
World.AddFrameEndTask(w =>
|
||||||
{
|
{
|
||||||
if (Destroyed) return;
|
if (Destroyed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (IsInWorld)
|
||||||
World.Remove(this);
|
World.Remove(this);
|
||||||
|
|
||||||
World.traitDict.RemoveActor(this);
|
World.traitDict.RemoveActor(this);
|
||||||
Destroyed = true;
|
Destroyed = true;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -563,6 +563,18 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engineVersion < 20140927)
|
||||||
|
{
|
||||||
|
if (depth == 0)
|
||||||
|
node.Value.Nodes.RemoveAll(n => n.Key == "SelfHealingTech");
|
||||||
|
|
||||||
|
if (depth == 2 && node.Key == "RequiresTech" && parentKey.StartsWith("SelfHealing"))
|
||||||
|
{
|
||||||
|
node.Key = "RequiresUpgrade";
|
||||||
|
node.Value.Value = "selfhealing-needs-reconfiguration";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ namespace OpenRA.Mods.RA
|
|||||||
{ 200, new[] { "firepower", "damage", "speed", "reload", "inaccuracy" } },
|
{ 200, new[] { "firepower", "damage", "speed", "reload", "inaccuracy" } },
|
||||||
{ 400, new[] { "firepower", "damage", "speed", "reload", "inaccuracy" } },
|
{ 400, new[] { "firepower", "damage", "speed", "reload", "inaccuracy" } },
|
||||||
{ 800, new[] { "firepower", "damage", "speed", "reload", "inaccuracy" } },
|
{ 800, new[] { "firepower", "damage", "speed", "reload", "inaccuracy" } },
|
||||||
{ 1600, new[] { "firepower", "damage", "speed", "reload", "inaccuracy" } }
|
{ 1600, new[] { "firepower", "damage", "speed", "reload", "inaccuracy", "selfheal" } }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,31 +21,49 @@ namespace OpenRA.Mods.RA
|
|||||||
public readonly float HealIfBelow = .5f;
|
public readonly float HealIfBelow = .5f;
|
||||||
public readonly int DamageCooldown = 0;
|
public readonly int DamageCooldown = 0;
|
||||||
|
|
||||||
[Desc("The Type defined by SelfHealingTech required to enable this.")]
|
[Desc("Enable only if this upgrade is enabled.")]
|
||||||
public readonly string RequiresTech = null;
|
public readonly string RequiresUpgrade = null;
|
||||||
|
|
||||||
public virtual object Create(ActorInitializer init) { return new SelfHealing(this); }
|
public virtual object Create(ActorInitializer init) { return new SelfHealing(init.self, this); }
|
||||||
}
|
}
|
||||||
|
|
||||||
class SelfHealing : ITick, ISync, INotifyDamage
|
class SelfHealing : ITick, ISync, INotifyDamage, IUpgradable
|
||||||
{
|
{
|
||||||
|
readonly SelfHealingInfo info;
|
||||||
|
readonly Health health;
|
||||||
|
|
||||||
[Sync] int ticks;
|
[Sync] int ticks;
|
||||||
[Sync] int damageTicks;
|
[Sync] int damageTicks;
|
||||||
SelfHealingInfo Info;
|
[Sync] bool disabled;
|
||||||
|
|
||||||
public SelfHealing(SelfHealingInfo info) { Info = info; }
|
|
||||||
|
public SelfHealing(Actor self, SelfHealingInfo info)
|
||||||
|
{
|
||||||
|
this.info = info;
|
||||||
|
|
||||||
|
health = self.Trait<Health>();
|
||||||
|
|
||||||
|
// Disable if an upgrade is required
|
||||||
|
disabled = info.RequiresUpgrade != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool AcceptsUpgrade(string type)
|
||||||
|
{
|
||||||
|
return type == info.RequiresUpgrade;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpgradeAvailable(Actor self, string type, bool available)
|
||||||
|
{
|
||||||
|
if (type == info.RequiresUpgrade)
|
||||||
|
disabled = !available;
|
||||||
|
}
|
||||||
|
|
||||||
public void Tick(Actor self)
|
public void Tick(Actor self)
|
||||||
{
|
{
|
||||||
if (self.IsDead())
|
if (self.IsDead() || disabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (Info.RequiresTech != null && !self.World.ActorsWithTrait<SelfHealingTech>()
|
if (health.HP >= info.HealIfBelow * health.MaxHP)
|
||||||
.Any(a => !a.Actor.IsDead() && a.Actor.Owner.IsAlliedWith(self.Owner) && Info.RequiresTech == a.Trait.Type))
|
|
||||||
return;
|
|
||||||
|
|
||||||
var health = self.Trait<Health>();
|
|
||||||
if (health.HP >= Info.HealIfBelow*health.MaxHP)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (damageTicks > 0)
|
if (damageTicks > 0)
|
||||||
@@ -56,35 +74,15 @@ namespace OpenRA.Mods.RA
|
|||||||
|
|
||||||
if (--ticks <= 0)
|
if (--ticks <= 0)
|
||||||
{
|
{
|
||||||
ticks = Info.Ticks;
|
ticks = info.Ticks;
|
||||||
self.InflictDamage(self, -Info.Step, null);
|
self.InflictDamage(self, -info.Step, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Damaged(Actor self, AttackInfo e)
|
public void Damaged(Actor self, AttackInfo e)
|
||||||
{
|
{
|
||||||
if (e.Damage > 0)
|
if (e.Damage > 0)
|
||||||
damageTicks = Info.DamageCooldown;
|
damageTicks = info.DamageCooldown;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Desc("Attach this to an actor required as prerequisite for all owned units to regenerate health.")]
|
|
||||||
class SelfHealingTechInfo : ITraitInfo
|
|
||||||
{
|
|
||||||
public readonly string Type = null;
|
|
||||||
|
|
||||||
public object Create(ActorInitializer init) { return new SelfHealingTech(this); }
|
|
||||||
}
|
|
||||||
|
|
||||||
class SelfHealingTech
|
|
||||||
{
|
|
||||||
public string Type { get { return info.Type; } }
|
|
||||||
|
|
||||||
readonly SelfHealingTechInfo info;
|
|
||||||
|
|
||||||
public SelfHealingTech(SelfHealingTechInfo info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,12 @@
|
|||||||
LuaScriptEvents:
|
LuaScriptEvents:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Tank:
|
^Tank:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
@@ -90,6 +96,12 @@
|
|||||||
LuaScriptEvents:
|
LuaScriptEvents:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Helicopter:
|
^Helicopter:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
@@ -122,6 +134,12 @@
|
|||||||
LuaScriptEvents:
|
LuaScriptEvents:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Infantry:
|
^Infantry:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
@@ -172,12 +190,15 @@
|
|||||||
Guard:
|
Guard:
|
||||||
Guardable:
|
Guardable:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
SelfHealing:
|
SelfHealing@HOSPITAL:
|
||||||
Step: 5
|
Step: 5
|
||||||
Ticks: 100
|
Ticks: 100
|
||||||
HealIfBelow: 1
|
HealIfBelow: 1
|
||||||
DamageCooldown: 125
|
DamageCooldown: 125
|
||||||
RequiresTech: InfantryHealing
|
RequiresUpgrade: hospitalheal
|
||||||
|
GlobalUpgradable:
|
||||||
|
Upgrades: hospitalheal
|
||||||
|
Prerequisites: hosp
|
||||||
UpdatesPlayerStatistics:
|
UpdatesPlayerStatistics:
|
||||||
Huntable:
|
Huntable:
|
||||||
LuaScriptEvents:
|
LuaScriptEvents:
|
||||||
@@ -193,6 +214,12 @@
|
|||||||
DeathSound: Poisoned
|
DeathSound: Poisoned
|
||||||
DeathTypes: 6
|
DeathTypes: 6
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^CivInfantry:
|
^CivInfantry:
|
||||||
Inherits: ^Infantry
|
Inherits: ^Infantry
|
||||||
@@ -293,6 +320,12 @@
|
|||||||
LuaScriptEvents:
|
LuaScriptEvents:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Ship:
|
^Ship:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
@@ -320,6 +353,12 @@
|
|||||||
LuaScriptEvents:
|
LuaScriptEvents:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Building:
|
^Building:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
|
|||||||
@@ -31,3 +31,5 @@ Player:
|
|||||||
ProvidesTechPrerequisite@all:
|
ProvidesTechPrerequisite@all:
|
||||||
Name: Unrestricted
|
Name: Unrestricted
|
||||||
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons
|
||||||
|
GlobalUpgradeManager:
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ HOSP:
|
|||||||
Dimensions: 2,2
|
Dimensions: 2,2
|
||||||
Health:
|
Health:
|
||||||
HP: 1000
|
HP: 1000
|
||||||
SelfHealingTech:
|
|
||||||
Type: InfantryHealing
|
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Hospital
|
Name: Hospital
|
||||||
LeavesHusk:
|
LeavesHusk:
|
||||||
|
|||||||
@@ -40,6 +40,12 @@
|
|||||||
Demolishable:
|
Demolishable:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Tank:
|
^Tank:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
@@ -83,6 +89,12 @@
|
|||||||
Demolishable:
|
Demolishable:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Husk:
|
^Husk:
|
||||||
Health:
|
Health:
|
||||||
@@ -203,6 +215,12 @@
|
|||||||
Parachutable:
|
Parachutable:
|
||||||
FallRate: 130
|
FallRate: 130
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Plane:
|
^Plane:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
@@ -229,6 +247,12 @@
|
|||||||
LuaScriptEvents:
|
LuaScriptEvents:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Helicopter:
|
^Helicopter:
|
||||||
Inherits: ^Plane
|
Inherits: ^Plane
|
||||||
|
|||||||
@@ -83,8 +83,6 @@ HOSP:
|
|||||||
ExternalCapturable:
|
ExternalCapturable:
|
||||||
ExternalCapturableBar:
|
ExternalCapturableBar:
|
||||||
EngineerRepairable:
|
EngineerRepairable:
|
||||||
SelfHealingTech:
|
|
||||||
Type: InfantryHealing
|
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Hospital
|
Name: Hospital
|
||||||
RevealsShroud:
|
RevealsShroud:
|
||||||
|
|||||||
@@ -55,6 +55,12 @@
|
|||||||
Notification: UnitStolen
|
Notification: UnitStolen
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Tank:
|
^Tank:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
@@ -113,6 +119,12 @@
|
|||||||
Notification: UnitStolen
|
Notification: UnitStolen
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Infantry:
|
^Infantry:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
@@ -161,12 +173,15 @@
|
|||||||
Guard:
|
Guard:
|
||||||
Guardable:
|
Guardable:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
SelfHealing:
|
SelfHealing@HOSPITAL:
|
||||||
Step: 5
|
Step: 5
|
||||||
Ticks: 100
|
Ticks: 100
|
||||||
HealIfBelow: 1
|
HealIfBelow: 1
|
||||||
DamageCooldown: 125
|
DamageCooldown: 125
|
||||||
RequiresTech: InfantryHealing
|
RequiresUpgrade: hospitalheal
|
||||||
|
GlobalUpgradable:
|
||||||
|
Upgrades: hospitalheal
|
||||||
|
Prerequisites: hosp
|
||||||
Huntable:
|
Huntable:
|
||||||
LuaScriptEvents:
|
LuaScriptEvents:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
@@ -188,6 +203,12 @@
|
|||||||
Cloneable:
|
Cloneable:
|
||||||
Types: Infantry
|
Types: Infantry
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Ship:
|
^Ship:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
@@ -222,6 +243,12 @@
|
|||||||
LuaScriptEvents:
|
LuaScriptEvents:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Plane:
|
^Plane:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
@@ -259,6 +286,12 @@
|
|||||||
LuaScriptEvents:
|
LuaScriptEvents:
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
|
|
||||||
^Helicopter:
|
^Helicopter:
|
||||||
Inherits: ^Plane
|
Inherits: ^Plane
|
||||||
|
|||||||
@@ -72,3 +72,4 @@ Player:
|
|||||||
ProvidesTechPrerequisite@unrestricted:
|
ProvidesTechPrerequisite@unrestricted:
|
||||||
Name: Unrestricted
|
Name: Unrestricted
|
||||||
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.unrestricted
|
Prerequisites: techlevel.infonly, techlevel.low, techlevel.medium, techlevel.unrestricted
|
||||||
|
GlobalUpgradeManager:
|
||||||
|
|||||||
@@ -118,12 +118,18 @@
|
|||||||
ChevronPalette: ra
|
ChevronPalette: ra
|
||||||
Upgrades:
|
Upgrades:
|
||||||
500: firepower, damage, speed, reload
|
500: firepower, damage, speed, reload
|
||||||
1000: firepower, damage, speed, reload
|
1000: firepower, damage, speed, reload, selfheal
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
FirepowerModifier: 110, 130
|
FirepowerModifier: 110, 130
|
||||||
DamageModifier: 83, 66
|
DamageModifier: 83, 66
|
||||||
SpeedModifier: 120, 150
|
SpeedModifier: 120, 150
|
||||||
ReloadModifier: 90, 75
|
ReloadModifier: 90, 75
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
ActorLostNotification:
|
ActorLostNotification:
|
||||||
@@ -207,12 +213,18 @@
|
|||||||
ChevronPalette: ra
|
ChevronPalette: ra
|
||||||
Upgrades:
|
Upgrades:
|
||||||
500: firepower, damage, speed, reload
|
500: firepower, damage, speed, reload
|
||||||
1000: firepower, damage, speed, reload
|
1000: firepower, damage, speed, reload, selfheal
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
FirepowerModifier: 110, 130
|
FirepowerModifier: 110, 130
|
||||||
DamageModifier: 83, 66
|
DamageModifier: 83, 66
|
||||||
SpeedModifier: 120, 150
|
SpeedModifier: 120, 150
|
||||||
ReloadModifier: 90, 75
|
ReloadModifier: 90, 75
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
ActorLostNotification:
|
ActorLostNotification:
|
||||||
@@ -260,12 +272,18 @@
|
|||||||
ChevronPalette: ra
|
ChevronPalette: ra
|
||||||
Upgrades:
|
Upgrades:
|
||||||
500: firepower, damage, speed, reload
|
500: firepower, damage, speed, reload
|
||||||
1000: firepower, damage, speed, reload
|
1000: firepower, damage, speed, reload, selfheal
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
FirepowerModifier: 110, 130
|
FirepowerModifier: 110, 130
|
||||||
DamageModifier: 83, 66
|
DamageModifier: 83, 66
|
||||||
SpeedModifier: 120, 150
|
SpeedModifier: 120, 150
|
||||||
ReloadModifier: 90, 75
|
ReloadModifier: 90, 75
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
ActorLostNotification:
|
ActorLostNotification:
|
||||||
@@ -307,12 +325,18 @@
|
|||||||
ChevronPalette: ra
|
ChevronPalette: ra
|
||||||
Upgrades:
|
Upgrades:
|
||||||
500: firepower, damage, speed, reload
|
500: firepower, damage, speed, reload
|
||||||
1000: firepower, damage, speed, reload
|
1000: firepower, damage, speed, reload, selfheal
|
||||||
GainsStatUpgrades:
|
GainsStatUpgrades:
|
||||||
FirepowerModifier: 110, 130
|
FirepowerModifier: 110, 130
|
||||||
DamageModifier: 83, 66
|
DamageModifier: 83, 66
|
||||||
SpeedModifier: 120, 150
|
SpeedModifier: 120, 150
|
||||||
ReloadModifier: 90, 75
|
ReloadModifier: 90, 75
|
||||||
|
SelfHealing@ELITE:
|
||||||
|
Step: 2
|
||||||
|
Ticks: 100
|
||||||
|
HealIfBelow: 1
|
||||||
|
DamageCooldown: 125
|
||||||
|
RequiresUpgrade: selfheal
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
ActorLostNotification:
|
ActorLostNotification:
|
||||||
|
|||||||
Reference in New Issue
Block a user