Remove some bs from buildings with multiple damage states; cnc civilian structure rubble persists after death.

This commit is contained in:
Paul Chote
2010-07-31 01:08:22 +12:00
parent 62c2c3a1c6
commit 9b051a6624
11 changed files with 127 additions and 143 deletions

View File

@@ -1,44 +0,0 @@
#region Copyright & License Information
/*
* Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see LICENSE.
*/
#endregion
using OpenRA.Effects;
using OpenRA.Traits;
namespace OpenRA.Mods.Cnc
{
class CriticalBuildingStateInfo : ITraitInfo, ITraitPrerequisite<HealthInfo>
{
public readonly int LingerTime = 20;
public object Create(ActorInitializer init) { return new CriticalBuildingState(init.self, this); }
}
class CriticalBuildingState : INotifyDamage
{
CriticalBuildingStateInfo info;
public CriticalBuildingState(Actor self, CriticalBuildingStateInfo info)
{
this.info = info;
self.traits.Get<Health>().RemoveOnDeath = false;
}
public void Damaged(Actor self, AttackInfo e)
{
if (e.DamageStateChanged && e.DamageState == DamageState.Dead)
{
self.traits.Get<RenderSimple>().anim.PlayRepeating("critical-idle");
self.World.AddFrameEndTask(
w => w.Add(
new DelayedAction(info.LingerTime,
() => w.Remove(self))));
}
}
}
}

View File

@@ -0,0 +1,48 @@
#region Copyright & License Information
/*
* Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see LICENSE.
*/
#endregion
using OpenRA.Effects;
using OpenRA.Traits;
namespace OpenRA.Mods.Cnc
{
class DeadBuildingStateInfo : ITraitInfo, ITraitPrerequisite<HealthInfo>, ITraitPrerequisite<RenderSimpleInfo>
{
public readonly int LingerTime = 20;
public readonly bool Zombie = false; // Civilian structures stick around after death
public object Create(ActorInitializer init) { return new DeadBuildingState(init.self, this); }
}
class DeadBuildingState : INotifyDamage
{
DeadBuildingStateInfo info;
RenderSimple rs;
public DeadBuildingState(Actor self, DeadBuildingStateInfo info)
{
this.info = info;
rs = self.traits.Get<RenderSimple>();
self.traits.Get<Health>().RemoveOnDeath = !rs.anim.HasSequence("dead");
}
public void Damaged(Actor self, AttackInfo e)
{
if (e.DamageStateChanged && e.DamageState == DamageState.Dead)
{
if (!rs.anim.HasSequence("dead")) return;
rs.anim.PlayRepeating("dead");
if (!info.Zombie)
self.World.AddFrameEndTask(
w => w.Add(
new DelayedAction(info.LingerTime,
() => w.Remove(self))));
}
}
}
}

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -52,7 +52,6 @@
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="CriticalBuildingState.cs" />
<Compile Include="Effects\IonCannon.cs" /> <Compile Include="Effects\IonCannon.cs" />
<Compile Include="IonCannonPower.cs" /> <Compile Include="IonCannonPower.cs" />
<Compile Include="PoisonedByTiberium.cs" /> <Compile Include="PoisonedByTiberium.cs" />
@@ -60,6 +59,7 @@
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="TiberiumRefineryDockAction.cs" /> <Compile Include="TiberiumRefineryDockAction.cs" />
<Compile Include="MobileAir.cs" /> <Compile Include="MobileAir.cs" />
<Compile Include="DeadBuildingState.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj"> <ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">

View File

@@ -15,7 +15,6 @@ namespace OpenRA.Mods.RA.Render
{ {
class RenderBuildingWallInfo : RenderBuildingInfo class RenderBuildingWallInfo : RenderBuildingInfo
{ {
public readonly int DamageStates = 2;
public override object Create(ActorInitializer init) { return new RenderBuildingWall(init.self); } public override object Create(ActorInitializer init) { return new RenderBuildingWall(init.self); }
} }
@@ -33,30 +32,25 @@ namespace OpenRA.Mods.RA.Render
public override void Damaged(Actor self, AttackInfo e) public override void Damaged(Actor self, AttackInfo e)
{ {
var numStates = self.Info.Traits.Get<RenderBuildingWallInfo>().DamageStates;
if (!e.DamageStateChanged) return; if (!e.DamageStateChanged) return;
switch (e.DamageState) var bi = self.Info.Traits.Get<BuildingInfo>();
if (e.DamageState == DamageState.Medium && anim.HasSequence("scratched-idle"))
seqName = "scratched-idle";
else if (e.DamageState <= DamageState.Medium)
seqName = "idle";
else if (e.DamageState == DamageState.Critical && anim.HasSequence("critical-idle"))
{ {
case DamageState.Light: seqName = "critical-idle";
seqName = "idle"; if (e.DamageState > e.PreviousDamageState)
break; Sound.Play(bi.DamagedSound, self.CenterLocation);
case DamageState.Medium: }
if (numStates >= 4) else if (e.DamageState <= DamageState.Critical)
seqName = "minor-damaged-idle"; {
break; seqName = "damaged-idle";
case DamageState.Heavy: if (e.DamageState > e.PreviousDamageState)
seqName = "damaged-idle"; Sound.Play(bi.DamagedSound, self.CenterLocation);
Sound.Play(self.Info.Traits.Get<BuildingInfo>().DamagedSound, self.CenterLocation);
break;
case DamageState.Critical:
if (numStates >= 3)
{
seqName = "critical-idle";
Sound.Play(self.Info.Traits.Get<BuildingInfo>().DamagedSound, self.CenterLocation);
}
break;
} }
anim.PlayFetchIndex(seqName, () => adjacentWalls); anim.PlayFetchIndex(seqName, () => adjacentWalls);

View File

@@ -107,7 +107,7 @@
DamagedSound: xplos.aud DamagedSound: xplos.aud
DestroyedSound: xplobig4.aud DestroyedSound: xplobig4.aud
RenderBuilding: RenderBuilding:
CriticalBuildingState: DeadBuildingState:
EmitInfantryOnSell: EmitInfantryOnSell:
ActorTypes: c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,e1,e1,e1,e1,e1,e1,e1 ActorTypes: c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,e1,e1,e1,e1,e1,e1,e1
MustBeDestroyed: MustBeDestroyed:
@@ -121,6 +121,8 @@
^CivBuilding: ^CivBuilding:
Inherits: ^Building Inherits: ^Building
DeadBuildingState:
Zombie: true
Health: Health:
HP: 400 HP: 400
Armor: wood Armor: wood
@@ -132,6 +134,8 @@
^CivField: ^CivField:
Inherits: ^CivBuilding Inherits: ^CivBuilding
-Selectable: -Selectable:
DeadBuildingState:
Zombie: true
Valued: Valued:
Description: Field Description: Field
RenderBuilding: RenderBuilding:
@@ -158,7 +162,6 @@
RenderBuildingWall: RenderBuildingWall:
HasMakeAnimation: false HasMakeAnimation: false
Palette: terrain Palette: terrain
DamageStates: 2
GivesExperience: GivesExperience:
^Tree: ^Tree:

View File

@@ -133,187 +133,187 @@
<unit name="v01"> <unit name="v01">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v25"> <unit name="v25">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v02"> <unit name="v02">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v20"> <unit name="v20">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v03"> <unit name="v03">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v21"> <unit name="v21">
<sequence name="idle" start="0" length="3" /> <sequence name="idle" start="0" length="3" />
<sequence name="damaged-idle" start="3" length="3" /> <sequence name="damaged-idle" start="3" length="3" />
<sequence name="critical-idle" start="6" length="1" /> <sequence name="dead" start="6" length="1" />
</unit> </unit>
<unit name="v04"> <unit name="v04">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v24"> <unit name="v24">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v05"> <unit name="v05">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v22"> <unit name="v22">
<sequence name="idle" start="0" length="3" /> <sequence name="idle" start="0" length="3" />
<sequence name="damaged-idle" start="3" length="3" /> <sequence name="damaged-idle" start="3" length="3" />
<sequence name="critical-idle" start="6" length="1" /> <sequence name="dead" start="6" length="1" />
</unit> </unit>
<unit name="v06"> <unit name="v06">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v26"> <unit name="v26">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v07"> <unit name="v07">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="2" length="1" /> <sequence name="damaged-idle" start="2" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v30"> <unit name="v30">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="2" length="1" /> <sequence name="damaged-idle" start="2" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v08"> <unit name="v08">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v23"> <unit name="v23">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v09"> <unit name="v09">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v27"> <unit name="v27">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v10"> <unit name="v10">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v28"> <unit name="v28">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v11"> <unit name="v11">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v29"> <unit name="v29">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v12"> <unit name="v12">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v34"> <unit name="v34">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v13"> <unit name="v13">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v35"> <unit name="v35">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<!-- Buildings that can't be mapped from tem into desert (Fields) --> <!-- Buildings that can't be mapped from tem into desert (Fields) -->
<unit name="v14"> <unit name="v14">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v15"> <unit name="v15">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v16"> <unit name="v16">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v17"> <unit name="v17">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v18"> <unit name="v18">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<!-- Buildings that can't be mapped from desert into tem --> <!-- Buildings that can't be mapped from desert into tem -->
<unit name="v31"> <unit name="v31">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v32"> <unit name="v32">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
<unit name="v33"> <unit name="v33">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
</unit> </unit>
</sequences> </sequences>

View File

@@ -4,17 +4,16 @@
<unit name="fact"> <unit name="fact">
<sequence name="build" start="4" length="20" /> <sequence name="build" start="4" length="20" />
<sequence name="idle" start="0" length="4" tick="80" /> <sequence name="idle" start="0" length="4" tick="80" />
<sequence name="critical-build" start="28" length="20" />
<sequence name="damaged-build" start="28" length="20" />
<sequence name="critical-idle" start="48" length="1" />
<sequence name="damaged-idle" start="24" length="4" tick="80" /> <sequence name="damaged-idle" start="24" length="4" tick="80" />
<sequence name="damaged-build" start="28" length="20" />
<sequence name="dead" start="48" length="1" />
<sequence name="make" start="0" length="32" src="factmake" /> <sequence name="make" start="0" length="32" src="factmake" />
</unit> </unit>
<!-- Power Plant --> <!-- Power Plant -->
<unit name="nuke"> <unit name="nuke">
<sequence name="idle" start="0" length="4" tick="400" /> <sequence name="idle" start="0" length="4" tick="400" />
<sequence name="damaged-idle" start="4" length="4" tick="400" /> <sequence name="damaged-idle" start="4" length="4" tick="400" />
<sequence name="critical-idle" start="8" length="1" tick="400" /> <sequence name="dead" start="8" length="1" tick="400" />
<sequence name="make" start="0" length="*" src="nukemake" /> <sequence name="make" start="0" length="*" src="nukemake" />
</unit> </unit>
<!-- Tiberium Refinary --> <!-- Tiberium Refinary -->
@@ -26,116 +25,109 @@
<sequence name="active" start="0" length="30" /> <sequence name="active" start="0" length="30" />
<sequence name="damaged-idle" start="30" /> <sequence name="damaged-idle" start="30" />
<sequence name="damaged-active" start="30" length="30" /> <sequence name="damaged-active" start="30" length="30" />
<sequence name="critical-idle" start="60" /> <sequence name="dead" start="60" />
<sequence name="critical-active" start="30" length="30" />
<sequence name="make" start="0" length="*" src="procmake" /> <sequence name="make" start="0" length="*" src="procmake" />
</unit> </unit>
<!-- Tiberium Silo --> <!-- Tiberium Silo -->
<unit name="silo"> <unit name="silo">
<sequence name="idle" start="0" length="5" /> <sequence name="idle" start="0" length="5" />
<sequence name="damaged-idle" start="5" length="5" /> <sequence name="damaged-idle" start="5" length="5" />
<sequence name="critical-idle" start="10" length="1" /> <sequence name="dead" start="10" length="1" />
<sequence name="make" start="0" length="*" src="silomake" /> <sequence name="make" start="0" length="*" src="silomake" />
</unit> </unit>
<!-- Hand of Nod --> <!-- Hand of Nod -->
<unit name="hand"> <unit name="hand">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
<sequence name="make" start="0" length="*" src="handmake" /> <sequence name="make" start="0" length="*" src="handmake" />
</unit> </unit>
<!-- GDI Barracks --> <!-- GDI Barracks -->
<unit name="pyle"> <unit name="pyle">
<sequence name="idle" start="0" length="10" /> <sequence name="idle" start="0" length="10" />
<sequence name="damaged-idle" start="10" length="10" /> <sequence name="damaged-idle" start="10" length="10" />
<sequence name="critical-idle" start="20" length="1" /> <sequence name="dead" start="20" length="1" />
<sequence name="make" start="0" length="*" src="pylemake" /> <sequence name="make" start="0" length="*" src="pylemake" />
</unit> </unit>
<!-- GDI Weapons factor --> <!-- GDI Weapons factor -->
<unit name="weap"> <unit name="weap">
<sequence name="idle" start="0" /> <sequence name="idle" start="0" />
<sequence name="damaged-idle" start="1" /> <sequence name="damaged-idle" start="1" />
<sequence name="critical-idle" start="2" /> <sequence name="dead" start="2" />
<sequence name="build-top" start="0" length="10" src="weap2" /> <sequence name="build-top" start="0" length="10" src="weap2" />
<sequence name="damaged-build-top" start="10" length="10" src="weap2" /> <sequence name="damaged-build-top" start="10" length="10" src="weap2" />
<sequence name="critical-build-top" start="10" length="10" src="weap2" />
<sequence name="idle-top" start="0" length="1" src="weap2" /> <sequence name="idle-top" start="0" length="1" src="weap2" />
<sequence name="damaged-idle-top" start="4" length="1" src="weap2" /> <sequence name="damaged-idle-top" start="4" length="1" src="weap2" />
<sequence name="critical-idle-top" start="4" length="1" src="weap2" />
<sequence name="make" start="0" length="*" src="weapmake" /> <sequence name="make" start="0" length="*" src="weapmake" />
</unit> </unit>
<!-- Nod Airfield --> <!-- Nod Airfield -->
<unit name="afld"> <unit name="afld">
<sequence name="idle" start="0" length="16" tick="120" /> <sequence name="idle" start="0" length="16" tick="120" />
<sequence name="damaged-idle" start="16" length="16" tick="120" /> <sequence name="damaged-idle" start="16" length="16" tick="120" />
<sequence name="critical-idle" start="32" length="1" /> <sequence name="dead" start="32" length="1" />
<sequence name="make" start="0" length="*" src="afldmake" /> <sequence name="make" start="0" length="*" src="afldmake" />
</unit> </unit>
<!-- Communications Center --> <!-- Communications Center -->
<unit name="hq"> <unit name="hq">
<sequence name="idle" start="0" length="16" tick="200" /> <sequence name="idle" start="0" length="16" tick="200" />
<sequence name="damaged-idle" start="16" length="16" tick="200" /> <sequence name="damaged-idle" start="16" length="16" tick="200" />
<sequence name="critical-idle" start="32" /> <sequence name="dead" start="32" />
<sequence name="make" start="0" length="*" src="hqmake" /> <sequence name="make" start="0" length="*" src="hqmake" />
</unit> </unit>
<!-- Advanced Power Plant --> <!-- Advanced Power Plant -->
<unit name="nuk2"> <unit name="nuk2">
<sequence name="idle" start="0" length="4" tick="400" /> <sequence name="idle" start="0" length="4" tick="400" />
<sequence name="damaged-idle" start="4" length="4" tick="400" /> <sequence name="damaged-idle" start="4" length="4" tick="400" />
<sequence name="critical-idle" start="8" length="1" /> <sequence name="dead" start="8" length="1" />
<sequence name="make" start="0" length="*" src="nuk2make" /> <sequence name="make" start="0" length="*" src="nuk2make" />
</unit> </unit>
<!-- Helipad --> <!-- Helipad -->
<unit name="hpad"> <unit name="hpad">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="7" length="1" /> <sequence name="damaged-idle" start="7" length="1" />
<sequence name="critical-idle" start="14" length="1" />
<sequence name="active" start="1" length="6" /> <sequence name="active" start="1" length="6" />
<sequence name="damaged-active" start="8" length="6" /> <sequence name="damaged-active" start="8" length="6" />
<sequence name="critical-active" start="14" length="1" /> <sequence name="dead" start="14" length="1" />
<sequence name="make" start="0" length="20" src="hpadmake" /> <sequence name="make" start="0" length="20" src="hpadmake" />
</unit> </unit>
<!-- Repair Facility --> <!-- Repair Facility -->
<unit name="fix"> <unit name="fix">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="7" length="1" /> <sequence name="damaged-idle" start="7" length="1" />
<sequence name="critical-idle" start="14" length="1" />
<sequence name="active" start="0" length="7" /> <sequence name="active" start="0" length="7" />
<sequence name="damaged-active" start="7" length="7" /> <sequence name="damaged-active" start="7" length="7" />
<sequence name="critical-active" start="14" length="1" /> <sequence name="dead" start="14" length="1" />
<sequence name="make" start="0" length="14" src="fixmake" /> <sequence name="make" start="0" length="14" src="fixmake" />
</unit> </unit>
<!-- Advanced Communications Center --> <!-- Advanced Communications Center -->
<unit name="eye"> <unit name="eye">
<sequence name="idle" start="0" length="16" tick="200" /> <sequence name="idle" start="0" length="16" tick="200" />
<sequence name="damaged-idle" start="16" length="16" tick="200" /> <sequence name="damaged-idle" start="16" length="16" tick="200" />
<sequence name="critical-idle" start="32" /> <sequence name="dead" start="32" />
<sequence name="make" start="0" length="*" src="eyemake" /> <sequence name="make" start="0" length="*" src="eyemake" />
</unit> </unit>
<!-- Temple of Nod --> <!-- Temple of Nod -->
<unit name="tmpl"> <unit name="tmpl">
<sequence name="idle" start="0" /> <sequence name="idle" start="0" />
<sequence name="damaged-idle" start="5" /> <sequence name="damaged-idle" start="5" />
<sequence name="critical-idle" start="10" />
<sequence name="active" start="0" length="5" /> <sequence name="active" start="0" length="5" />
<sequence name="damaged-active" start="5" length="5" /> <sequence name="damaged-active" start="5" length="5" />
<sequence name="critical-active" start="5" length="5" /> <sequence name="dead" start="10" />
<sequence name="make" start="0" length="*" src="tmplmake" /> <sequence name="make" start="0" length="*" src="tmplmake" />
</unit> </unit>
<!-- Obelisk of Light --> <!-- Obelisk of Light -->
<unit name="obli"> <unit name="obli">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="4" length="1" /> <sequence name="damaged-idle" start="4" length="1" />
<sequence name="critical-idle" start="8" length="1" />
<sequence name="active" start="0" length="4" /> <sequence name="active" start="0" length="4" />
<sequence name="damaged-active" start="4" length="4" /> <sequence name="damaged-active" start="4" length="4" />
<sequence name="critical-active" start="4" length="4" /> <sequence name="dead" start="8" length="1" />
<sequence name="make" start="0" length="13" src="oblimake" /> <sequence name="make" start="0" length="13" src="oblimake" />
</unit> </unit>
<!-- Concrete Barrier --> <!-- Concrete Barrier -->
<unit name="brik"> <unit name="brik">
<sequence name="idle" start="0" length="16" /> <sequence name="idle" start="0" length="16" />
<sequence name="minor-damaged-idle" start="16" length="16" /> <sequence name="scratched-idle" start="16" length="16" />
<sequence name="damaged-idle" start="32" length="16" /> <sequence name="damaged-idle" start="32" length="16" />
<sequence name="critical-idle" start="48" length="16" /> <sequence name="critical-idle" start="48" length="16" />
</unit> </unit>
@@ -165,7 +157,6 @@
<sequence name="idle" start="0" facings="32" /> <sequence name="idle" start="0" facings="32" />
<sequence name="recoil" start="32" facings="32" /> <sequence name="recoil" start="32" facings="32" />
<sequence name="damaged-idle" start="64" facings="32" /> <sequence name="damaged-idle" start="64" facings="32" />
<sequence name="critical-idle" start="64" facings="32" />
<sequence name="damaged-recoil" start="96" facings="32" /> <sequence name="damaged-recoil" start="96" facings="32" />
<sequence name="make" start="0" length="20" src="gunmake" /> <sequence name="make" start="0" length="20" src="gunmake" />
</unit> </unit>
@@ -173,21 +164,20 @@
<unit name="sam"> <unit name="sam">
<sequence name="idle" start="17" facings="32" /> <sequence name="idle" start="17" facings="32" />
<sequence name="damaged-idle" start="81" facings="32" /> <sequence name="damaged-idle" start="81" facings="32" />
<sequence name="critical-idle" start="81" facings="32" />
<sequence name="make" start="0" length="20" src="sammake" /> <sequence name="make" start="0" length="20" src="sammake" />
</unit> </unit>
<!-- Guard Tower --> <!-- Guard Tower -->
<unit name="gtwr"> <unit name="gtwr">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
<sequence name="make" start="0" length="20" src="gtwrmake" /> <sequence name="make" start="0" length="20" src="gtwrmake" />
</unit> </unit>
<!-- Advanced Guard Tower --> <!-- Advanced Guard Tower -->
<unit name="atwr"> <unit name="atwr">
<sequence name="idle" start="0" length="1" /> <sequence name="idle" start="0" length="1" />
<sequence name="damaged-idle" start="1" length="1" /> <sequence name="damaged-idle" start="1" length="1" />
<sequence name="critical-idle" start="2" length="1" /> <sequence name="dead" start="2" length="1" />
<sequence name="make" start="0" length="14" src="atwrmake" /> <sequence name="make" start="0" length="14" src="atwrmake" />
</unit> </unit>
</sequences> </sequences>

View File

@@ -442,8 +442,6 @@ CYCL:
Health: Health:
HP: 300 HP: 300
Armor: none Armor: none
RenderBuildingWall:
DamageStates: 3
SBAG: SBAG:
Category: Defense Category: Defense
@@ -474,8 +472,6 @@ BRIK:
Health: Health:
HP: 1000 HP: 1000
Armor: heavy Armor: heavy
RenderBuildingWall:
DamageStates: 4
Wall: Wall:
CrushClasses: heavywall CrushClasses: heavywall
@@ -505,6 +501,7 @@ GUN:
PrimaryWeapon: TurretGun PrimaryWeapon: TurretGun
AutoTarget: AutoTarget:
-RenderBuilding: -RenderBuilding:
-DeadBuildingState:
RenderRangeCircle: RenderRangeCircle:
SAM: SAM:
@@ -535,6 +532,7 @@ SAM:
PrimaryWeapon: Nike PrimaryWeapon: Nike
AutoTarget: AutoTarget:
-RenderBuilding: -RenderBuilding:
-DeadBuildingState:
RenderRangeCircle: RenderRangeCircle:
GTWR: GTWR:

View File

@@ -131,7 +131,6 @@
RenderBuildingWall: RenderBuildingWall:
HasMakeAnimation: false HasMakeAnimation: false
Palette: terrain Palette: terrain
DamageStates: 2
GivesExperience: GivesExperience:
^CivBuilding: ^CivBuilding:

View File

@@ -868,7 +868,7 @@
</unit> </unit>
<unit name="brik"> <unit name="brik">
<sequence name="idle" start="0" length="16" /> <sequence name="idle" start="0" length="16" />
<sequence name="minor-damaged-idle" start="16" length="16" /> <sequence name="scratched-idle" start="16" length="16" />
<sequence name="damaged-idle" start="32" length="16" /> <sequence name="damaged-idle" start="32" length="16" />
<sequence name="critical-idle" start="48" length="16" /> <sequence name="critical-idle" start="48" length="16" />
</unit> </unit>

View File

@@ -946,8 +946,6 @@ BRIK:
Health: Health:
HP: 1500 HP: 1500
Armor: none Armor: none
RenderBuildingWall:
DamageStates: 4
Wall: Wall:
CrushClasses: heavywall CrushClasses: heavywall
CYCL: CYCL:
@@ -955,8 +953,6 @@ CYCL:
Health: Health:
HP: 100 HP: 100
Armor: none Armor: none
RenderBuildingWall:
DamageStates: 3
BARB: BARB:
Inherits: ^Wall Inherits: ^Wall