tesla charges

This commit is contained in:
Chris Forbes
2009-12-17 09:28:50 +13:00
parent d86e317d2c
commit e6e00d2010
6 changed files with 34 additions and 1 deletions

View File

@@ -95,6 +95,8 @@ namespace OpenRa.Game.Graphics
Tick( 40 ); // tick one frame Tick( 40 ); // tick one frame
} }
public bool HasSequence(string seq) { return SequenceProvider.HasSequence( name, seq ); }
public void Tick( int t ) public void Tick( int t )
{ {
if( tickAlways ) if( tickAlways )

View File

@@ -65,6 +65,11 @@ namespace OpenRa.Game.Graphics
} }
} }
public static bool HasSequence(string unit, string seq)
{
return units[unit].ContainsKey(seq);
}
public static CursorSequence GetCursorSequence(string cursor) public static CursorSequence GetCursorSequence(string cursor)
{ {
return cursors[cursor]; return cursors[cursor];

View File

@@ -163,6 +163,7 @@
<Compile Include="Traits\Harvester.cs" /> <Compile Include="Traits\Harvester.cs" />
<Compile Include="Traits\Helicopter.cs" /> <Compile Include="Traits\Helicopter.cs" />
<Compile Include="Traits\ProductionQueue.cs" /> <Compile Include="Traits\ProductionQueue.cs" />
<Compile Include="Traits\RenderBuildingCharge.cs" />
<Compile Include="Traits\RenderInfantry.cs" /> <Compile Include="Traits\RenderInfantry.cs" />
<Compile Include="Traits\McvDeploy.cs" /> <Compile Include="Traits\McvDeploy.cs" />
<Compile Include="Traits\Mobile.cs" /> <Compile Include="Traits\Mobile.cs" />

View File

@@ -106,6 +106,7 @@ namespace OpenRa.Game.Traits
var firePos = self.CenterLocation.ToInt2() + Util.GetTurretPosition(self, unit, offset, 0f).ToInt2(); var firePos = self.CenterLocation.ToInt2() + Util.GetTurretPosition(self, unit, offset, 0f).ToInt2();
var thisTarget = target; var thisTarget = target;
ScheduleDelayedAction(self.Info.FireDelay, () => ScheduleDelayedAction(self.Info.FireDelay, () =>
{ {
if( weapon.RenderAsTesla ) if( weapon.RenderAsTesla )

View File

@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OpenRa.Game.Traits
{
/* used for tesla */
class RenderBuildingCharge : RenderBuilding, INotifyAttack
{
public RenderBuildingCharge(Actor self)
: base(self)
{
}
public void Attacking(Actor self)
{
var prev = anim.CurrentSequence.Name;
Sound.Play("tslachg2.aud");
anim.PlayThen("active", () => anim.PlayRepeating(prev));
}
}
}

View File

@@ -200,10 +200,11 @@ Footprint=x
SelectionPriority=3 SelectionPriority=3
[TSLA] [TSLA]
Description=Tesla Coil Description=Tesla Coil
Traits=Building, Turreted, RenderBuilding, AttackTurreted, AutoTarget Traits=Building, Turreted, RenderBuildingCharge, AttackTurreted, AutoTarget
Dimensions=1,2 Dimensions=1,2
Footprint=_ x Footprint=_ x
SelectionPriority=3 SelectionPriority=3
FireDelay=8
[GUN] [GUN]
Description=Turret Description=Turret
Traits=Building, Turreted, RenderBuildingTurreted, AttackTurreted, AutoTarget Traits=Building, Turreted, RenderBuildingTurreted, AttackTurreted, AutoTarget