Fix exploding walls
This commit is contained in:
@@ -347,6 +347,7 @@
|
||||
<Compile Include="Activities\CaptureActor.cs" />
|
||||
<Compile Include="InvisibleToEnemy.cs" />
|
||||
<Compile Include="ParachuteAttachment.cs" />
|
||||
<Compile Include="Render\WithBuildingExplosion.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace OpenRA.Mods.RA.Render
|
||||
}
|
||||
}
|
||||
|
||||
public class RenderBuilding : RenderSimple, INotifyDamageStateChanged, IRenderModifier, INotifyKilled
|
||||
public class RenderBuilding : RenderSimple, INotifyDamageStateChanged, IRenderModifier
|
||||
{
|
||||
readonly RenderBuildingInfo Info;
|
||||
|
||||
@@ -103,13 +103,5 @@ namespace OpenRA.Mods.RA.Render
|
||||
else if (e.DamageState < DamageState.Heavy)
|
||||
anim.ReplaceAnim("idle");
|
||||
}
|
||||
|
||||
public void Killed(Actor self, AttackInfo e)
|
||||
{
|
||||
var bi = self.Info.Traits.Get<BuildingInfo>();
|
||||
FootprintUtils.UnpathableTiles(self.Info.Name, bi, self.Location).Do(
|
||||
t => self.World.AddFrameEndTask(
|
||||
w => w.Add(new Explosion(w, Traits.Util.CenterOfCell(t), "building", false, 0))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
28
OpenRA.Mods.RA/Render/WithBuildingExplosion.cs
Executable file
28
OpenRA.Mods.RA/Render/WithBuildingExplosion.cs
Executable file
@@ -0,0 +1,28 @@
|
||||
#region Copyright & License Information
|
||||
/*
|
||||
* Copyright 2007-2011 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 COPYING.
|
||||
*/
|
||||
#endregion
|
||||
|
||||
using OpenRA.Mods.RA.Buildings;
|
||||
using OpenRA.Mods.RA.Effects;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.RA.Render
|
||||
{
|
||||
class WithBuildingExplosionInfo : TraitInfo<WithBuildingExplosion> { }
|
||||
class WithBuildingExplosion : INotifyKilled
|
||||
{
|
||||
public void Killed(Actor self, AttackInfo e)
|
||||
{
|
||||
var bi = self.Info.Traits.Get<BuildingInfo>();
|
||||
FootprintUtils.UnpathableTiles(self.Info.Name, bi, self.Location).Do(
|
||||
t => self.World.AddFrameEndTask(
|
||||
w => w.Add(new Explosion(w, Traits.Util.CenterOfCell(t), "building", false, 0))));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -205,6 +205,7 @@
|
||||
Buildable:
|
||||
Queue: Building
|
||||
RenderBuilding:
|
||||
WithBuildingExplosion:
|
||||
DeadBuildingState:
|
||||
EmitInfantryOnSell:
|
||||
ActorTypes: e6,e1
|
||||
@@ -234,6 +235,8 @@
|
||||
Armor:
|
||||
Type: Wood
|
||||
Building:
|
||||
RenderBuilding:
|
||||
WithBuildingExplosion:
|
||||
-RepairableBuilding:
|
||||
-Capturable:
|
||||
Tooltip:
|
||||
@@ -249,6 +252,7 @@
|
||||
RenderBuilding:
|
||||
OverrideTileset: DESERT
|
||||
OverrideImage: v23
|
||||
-WithBuildingExplosion:
|
||||
|
||||
^Wall:
|
||||
AppearsOnRadar:
|
||||
|
||||
@@ -176,6 +176,7 @@
|
||||
DamagedSound: kaboom1.aud
|
||||
DestroyedSound: kaboom22.aud
|
||||
RenderBuilding:
|
||||
WithBuildingExplosion:
|
||||
RepairableBuilding:
|
||||
EmitInfantryOnSell:
|
||||
ActorTypes: e1,e1,e1,c1,c2,e6
|
||||
|
||||
Reference in New Issue
Block a user