Unhardcode weapon ammo consumption

fix gh actions
This commit is contained in:
tjk-ws
2021-06-11 12:55:46 +08:00
committed by Smittytron
parent 9fa5dcc055
commit a893cf9cb6
4 changed files with 8 additions and 2 deletions

View File

@@ -147,7 +147,7 @@ namespace OpenRA.Mods.Cnc.Activities
if (pool == null) if (pool == null)
return; return;
pool.TakeAmmo(self, 1); pool.TakeAmmo(self, minelayer.Info.AmmoUsage);
} }
self.World.AddFrameEndTask(w => w.CreateActor(minelayer.Info.Mine, new TypeDictionary self.World.AddFrameEndTask(w => w.CreateActor(minelayer.Info.Mine, new TypeDictionary

View File

@@ -62,6 +62,9 @@ namespace OpenRA.Mods.Cnc.Traits
[Desc("Cursor to display when able to lay a mine.")] [Desc("Cursor to display when able to lay a mine.")]
public readonly string AbilityCursor = "ability"; public readonly string AbilityCursor = "ability";
[Desc("Ammo the minelayer consumes per mine.")]
public readonly int AmmoUsage = 1;
public override object Create(ActorInitializer init) { return new Minelayer(init.Self, this); } public override object Create(ActorInitializer init) { return new Minelayer(init.Self, this); }
} }

View File

@@ -99,7 +99,7 @@ namespace OpenRA.Mods.Common.Traits
void INotifyAttack.Attacking(Actor self, in Target target, Armament a, Barrel barrel) void INotifyAttack.Attacking(Actor self, in Target target, Armament a, Barrel barrel)
{ {
if (a != null && Info.Armaments.Contains(a.Info.Name)) if (a != null && Info.Armaments.Contains(a.Info.Name))
TakeAmmo(self, 1); TakeAmmo(self, a.Info.AmmoUsage);
} }
void INotifyAttack.PreparingAttack(Actor self, in Target target, Armament a, Barrel barrel) { } void INotifyAttack.PreparingAttack(Actor self, in Target target, Armament a, Barrel barrel) { }

View File

@@ -83,6 +83,9 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Cursor to display when hovering over a valid target that is outside of range.")] [Desc("Cursor to display when hovering over a valid target that is outside of range.")]
public readonly string OutsideRangeCursor = "attackoutsiderange"; public readonly string OutsideRangeCursor = "attackoutsiderange";
[Desc("Ammo the weapon consumes per shot.")]
public readonly int AmmoUsage = 1;
public override object Create(ActorInitializer init) { return new Armament(init.Self, this); } public override object Create(ActorInitializer init) { return new Armament(init.Self, this); }
public override void RulesetLoaded(Ruleset rules, ActorInfo ai) public override void RulesetLoaded(Ruleset rules, ActorInfo ai)