Add static Tiberian Sun low bridges.
This commit is contained in:
committed by
Paul Chote
parent
5482fdb839
commit
4717d3e190
@@ -50,6 +50,13 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
yield return tile + position;
|
yield return tile + position;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static IEnumerable<CPos> PathableTiles(string name, BuildingInfo buildingInfo, CPos position)
|
||||||
|
{
|
||||||
|
var footprint = buildingInfo.Footprint.Where(x => !char.IsWhiteSpace(x)).ToArray();
|
||||||
|
foreach (var tile in TilesWhere(name, buildingInfo.Dimensions, footprint, a => a == '_'))
|
||||||
|
yield return tile + position;
|
||||||
|
}
|
||||||
|
|
||||||
static IEnumerable<CVec> TilesWhere(string name, CVec dim, char[] footprint, Func<char, bool> cond)
|
static IEnumerable<CVec> TilesWhere(string name, CVec dim, char[] footprint, Func<char, bool> cond)
|
||||||
{
|
{
|
||||||
if (footprint.Length != dim.X * dim.Y)
|
if (footprint.Length != dim.X * dim.Y)
|
||||||
|
|||||||
@@ -69,6 +69,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Activities\VoxelHarvesterDockSequence.cs" />
|
<Compile Include="Activities\VoxelHarvesterDockSequence.cs" />
|
||||||
<Compile Include="SpriteLoaders\TmpTSLoader.cs" />
|
<Compile Include="SpriteLoaders\TmpTSLoader.cs" />
|
||||||
|
<Compile Include="Traits\Buildings\LowBridge.cs" />
|
||||||
<Compile Include="Traits\Buildings\TiberianSunRefinery.cs" />
|
<Compile Include="Traits\Buildings\TiberianSunRefinery.cs" />
|
||||||
<Compile Include="Traits\Render\WithDockingOverlay.cs" />
|
<Compile Include="Traits\Render\WithDockingOverlay.cs" />
|
||||||
<Compile Include="Traits\Render\WithPermanentInjury.cs" />
|
<Compile Include="Traits\Render\WithPermanentInjury.cs" />
|
||||||
|
|||||||
72
OpenRA.Mods.TS/Traits/Buildings/LowBridge.cs
Normal file
72
OpenRA.Mods.TS/Traits/Buildings/LowBridge.cs
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2016 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, either version 3 of
|
||||||
|
* the License, or (at your option) any later version. For more
|
||||||
|
* information, see COPYING.
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using OpenRA.Graphics;
|
||||||
|
using OpenRA.Mods.Common.Traits;
|
||||||
|
using OpenRA.Primitives;
|
||||||
|
using OpenRA.Traits;
|
||||||
|
|
||||||
|
namespace OpenRA.Mods.TS.Traits
|
||||||
|
{
|
||||||
|
[Desc("Bridge actor that can't be passed underneath.")]
|
||||||
|
class LowBridgeInfo : ITraitInfo, Requires<BuildingInfo>
|
||||||
|
{
|
||||||
|
public readonly string TerrainType = "Road";
|
||||||
|
|
||||||
|
public object Create(ActorInitializer init) { return new LowBridge(init.Self, this); }
|
||||||
|
}
|
||||||
|
|
||||||
|
class LowBridge : INotifyAddedToWorld, INotifyRemovedFromWorld
|
||||||
|
{
|
||||||
|
readonly LowBridgeInfo info;
|
||||||
|
readonly IEnumerable<CPos> cells;
|
||||||
|
|
||||||
|
public LowBridge(Actor self, LowBridgeInfo info)
|
||||||
|
{
|
||||||
|
this.info = info;
|
||||||
|
|
||||||
|
var buildingInfo = self.Info.TraitInfo<BuildingInfo>();
|
||||||
|
cells = FootprintUtils.PathableTiles(self.Info.Name, buildingInfo, self.Location);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateTerrain(Actor self, byte terrainIndex)
|
||||||
|
{
|
||||||
|
foreach (var cell in cells)
|
||||||
|
self.World.Map.CustomTerrain[cell] = terrainIndex;
|
||||||
|
|
||||||
|
var domainIndex = self.World.WorldActor.TraitOrDefault<DomainIndex>();
|
||||||
|
if (domainIndex != null)
|
||||||
|
domainIndex.UpdateCells(self.World, cells);
|
||||||
|
}
|
||||||
|
|
||||||
|
void INotifyAddedToWorld.AddedToWorld(Actor self)
|
||||||
|
{
|
||||||
|
var tileSet = self.World.Map.Rules.TileSet;
|
||||||
|
var terrainIndex = tileSet.GetTerrainIndex(info.TerrainType);
|
||||||
|
UpdateTerrain(self, terrainIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KillUnitsOnBridge(Actor self)
|
||||||
|
{
|
||||||
|
foreach (var c in cells)
|
||||||
|
foreach (var a in self.World.ActorMap.GetActorsAt(c))
|
||||||
|
if (a.Info.HasTraitInfo<IPositionableInfo>() && !a.Trait<IPositionable>().CanEnterCell(c))
|
||||||
|
a.Kill(self);
|
||||||
|
}
|
||||||
|
|
||||||
|
void INotifyRemovedFromWorld.RemovedFromWorld(Actor self)
|
||||||
|
{
|
||||||
|
UpdateTerrain(self, byte.MaxValue);
|
||||||
|
KillUnitsOnBridge(self);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -18,6 +18,7 @@ using OpenRA.FileSystem;
|
|||||||
using OpenRA.Mods.Common;
|
using OpenRA.Mods.Common;
|
||||||
using OpenRA.Mods.Common.FileFormats;
|
using OpenRA.Mods.Common.FileFormats;
|
||||||
using OpenRA.Mods.Common.Traits;
|
using OpenRA.Mods.Common.Traits;
|
||||||
|
using OpenRA.Traits;
|
||||||
|
|
||||||
namespace OpenRA.Mods.TS.UtilityCommands
|
namespace OpenRA.Mods.TS.UtilityCommands
|
||||||
{
|
{
|
||||||
@@ -72,40 +73,41 @@ namespace OpenRA.Mods.TS.UtilityCommands
|
|||||||
{ 0x47, "palet02" },
|
{ 0x47, "palet02" },
|
||||||
{ 0x48, "palet03" },
|
{ 0x48, "palet03" },
|
||||||
{ 0x49, "palet04" },
|
{ 0x49, "palet04" },
|
||||||
/*
|
|
||||||
{ 0x4A, "lobrdg01" },
|
{ 0x4A, "lobrdg_b" }, // lobrdg01
|
||||||
{ 0x4B, "lobrdg02" },
|
{ 0x4B, "lobrdg_b" }, // lobrdg02
|
||||||
{ 0x4C, "lobrdg03" },
|
{ 0x4C, "lobrdg_b" }, // lobrdg03
|
||||||
{ 0x4D, "lobrdg04" },
|
{ 0x4D, "lobrdg_b" }, // lobrdg04
|
||||||
{ 0x4E, "lobrdg05" },
|
{ 0x4E, "lobrdg_b" }, // lobrdg05
|
||||||
{ 0x4F, "lobrdg06" },
|
{ 0x4F, "lobrdg_b" }, // lobrdg06
|
||||||
{ 0x50, "lobrdg07" },
|
{ 0x50, "lobrdg_b" }, // lobrdg07
|
||||||
{ 0x51, "lobrdg08" },
|
{ 0x51, "lobrdg_b" }, // lobrdg08
|
||||||
{ 0x52, "lobrdg09" },
|
{ 0x52, "lobrdg_b" }, // lobrdg09
|
||||||
{ 0x53, "lobrdg10" },
|
{ 0x53, "lobrdg_a" }, // lobrdg10
|
||||||
{ 0x54, "lobrdg11" },
|
{ 0x54, "lobrdg_a" }, // lobrdg11
|
||||||
{ 0x55, "lobrdg12" },
|
{ 0x55, "lobrdg_a" }, // lobrdg12
|
||||||
{ 0x56, "lobrdg13" },
|
{ 0x56, "lobrdg_a" }, // lobrdg13
|
||||||
{ 0x57, "lobrdg14" },
|
{ 0x57, "lobrdg_a" }, // lobrdg14
|
||||||
{ 0x58, "lobrdg15" },
|
{ 0x58, "lobrdg_a" }, // lobrdg15
|
||||||
{ 0x59, "lobrdg16" },
|
{ 0x59, "lobrdg_a" }, // lobrdg16
|
||||||
{ 0x5A, "lobrdg17" },
|
{ 0x5A, "lobrdg_a" }, // lobrdg17
|
||||||
{ 0x5B, "lobrdg18" },
|
{ 0x5B, "lobrdg_a" }, // lobrdg18
|
||||||
{ 0x5C, "lobrdg19" },
|
{ 0x5C, "lobrdg_r_se" }, // lobrdg19
|
||||||
{ 0x5D, "lobrdg20" },
|
{ 0x5D, "lobrdg_r_se" }, // lobrdg20
|
||||||
{ 0x5E, "lobrdg21" },
|
{ 0x5E, "lobrdg_r_nw" }, // lobrdg21
|
||||||
{ 0x5F, "lobrdg22" },
|
{ 0x5F, "lobrdg_r_nw" }, // lobrdg22
|
||||||
{ 0x60, "lobrdg23" },
|
{ 0x60, "lobrdg_r_ne" }, // lobrdg23
|
||||||
{ 0x61, "lobrdg24" },
|
{ 0x61, "lobrdg_r_ne" }, // lobrdg24
|
||||||
{ 0x62, "lobrdg25" },
|
{ 0x62, "lobrdg_r_sw" }, // lobrdg25
|
||||||
{ 0x63, "lobrdg26" },
|
{ 0x63, "lobrdg_r_sw" }, // lobrdg26
|
||||||
{ 0x64, "lobrdg27" },
|
{ 0x64, "lobrdg_b_d" }, // lobrdg27
|
||||||
{ 0x65, "lobrdg28" },
|
{ 0x65, "lobrdg_a_d" }, // lobrdg28
|
||||||
{ 0x7A, "lobrdg1" },
|
|
||||||
{ 0x7B, "lobrdg2" },
|
{ 0x7A, "lobrdg_r_se" }, // lobrdg1
|
||||||
{ 0x7C, "lobrdg3" },
|
{ 0x7B, "lobrdg_r_nw" }, // lobrdg2
|
||||||
{ 0x7D, "lobrdg4" },
|
{ 0x7C, "lobrdg_r_ne" }, // lobrdg3
|
||||||
*/
|
{ 0x7D, "lobrdg_r_sw" }, // lobrdg4
|
||||||
|
|
||||||
{ 0xA7, "veinhole" },
|
{ 0xA7, "veinhole" },
|
||||||
{ 0xA8, "srock01" },
|
{ 0xA8, "srock01" },
|
||||||
{ 0xA9, "srock02" },
|
{ 0xA9, "srock02" },
|
||||||
@@ -157,6 +159,57 @@ namespace OpenRA.Mods.TS.UtilityCommands
|
|||||||
{ 0x7D, new Size(3, 1) },
|
{ 0x7D, new Size(3, 1) },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static readonly Dictionary<byte, DamageState> OverlayToHealth = new Dictionary<byte, DamageState>()
|
||||||
|
{
|
||||||
|
// 1,3 bridge tiles
|
||||||
|
{ 0x4A, DamageState.Undamaged },
|
||||||
|
{ 0x4B, DamageState.Undamaged },
|
||||||
|
{ 0x4C, DamageState.Undamaged },
|
||||||
|
{ 0x4D, DamageState.Undamaged },
|
||||||
|
|
||||||
|
{ 0x4E, DamageState.Heavy },
|
||||||
|
{ 0x4F, DamageState.Heavy },
|
||||||
|
|
||||||
|
{ 0x50, DamageState.Heavy },
|
||||||
|
|
||||||
|
{ 0x51, DamageState.Critical },
|
||||||
|
{ 0x52, DamageState.Critical },
|
||||||
|
|
||||||
|
// 3,1 bridge tiles
|
||||||
|
{ 0x53, DamageState.Undamaged },
|
||||||
|
{ 0x54, DamageState.Undamaged },
|
||||||
|
{ 0x55, DamageState.Undamaged },
|
||||||
|
{ 0x56, DamageState.Undamaged },
|
||||||
|
|
||||||
|
{ 0x57, DamageState.Heavy },
|
||||||
|
{ 0x58, DamageState.Heavy },
|
||||||
|
|
||||||
|
{ 0x59, DamageState.Heavy },
|
||||||
|
|
||||||
|
{ 0x5A, DamageState.Critical },
|
||||||
|
{ 0x5B, DamageState.Critical },
|
||||||
|
|
||||||
|
// Ramps
|
||||||
|
{ 0x5C, DamageState.Undamaged },
|
||||||
|
{ 0x5D, DamageState.Heavy },
|
||||||
|
{ 0x5E, DamageState.Undamaged },
|
||||||
|
{ 0x5F, DamageState.Heavy },
|
||||||
|
{ 0x60, DamageState.Undamaged },
|
||||||
|
{ 0x61, DamageState.Heavy },
|
||||||
|
{ 0x62, DamageState.Undamaged },
|
||||||
|
{ 0x63, DamageState.Heavy },
|
||||||
|
|
||||||
|
// Ramp duplicates
|
||||||
|
{ 0x7A, DamageState.Undamaged },
|
||||||
|
{ 0x7B, DamageState.Undamaged },
|
||||||
|
{ 0x7C, DamageState.Undamaged },
|
||||||
|
{ 0x7D, DamageState.Undamaged },
|
||||||
|
|
||||||
|
// actually dead, placeholders for resurrection
|
||||||
|
{ 0x64, DamageState.Undamaged },
|
||||||
|
{ 0x65, DamageState.Undamaged },
|
||||||
|
};
|
||||||
|
|
||||||
static readonly Dictionary<byte, byte[]> ResourceFromOverlay = new Dictionary<byte, byte[]>()
|
static readonly Dictionary<byte, byte[]> ResourceFromOverlay = new Dictionary<byte, byte[]>()
|
||||||
{
|
{
|
||||||
// "tib" - Regular Tiberium
|
// "tib" - Regular Tiberium
|
||||||
@@ -367,6 +420,21 @@ namespace OpenRA.Mods.TS.UtilityCommands
|
|||||||
new OwnerInit("Neutral")
|
new OwnerInit("Neutral")
|
||||||
};
|
};
|
||||||
|
|
||||||
|
DamageState damageState;
|
||||||
|
if (OverlayToHealth.TryGetValue(overlayType, out damageState))
|
||||||
|
{
|
||||||
|
var health = 100;
|
||||||
|
if (damageState == DamageState.Critical)
|
||||||
|
health = 25;
|
||||||
|
else if (damageState == DamageState.Heavy)
|
||||||
|
health = 50;
|
||||||
|
else if (damageState == DamageState.Medium)
|
||||||
|
health = 75;
|
||||||
|
|
||||||
|
if (health != 100)
|
||||||
|
ar.Add(new HealthInit(health));
|
||||||
|
}
|
||||||
|
|
||||||
map.ActorDefinitions.Add(new MiniYamlNode("Actor" + map.ActorDefinitions.Count, ar.Save()));
|
map.ActorDefinitions.Add(new MiniYamlNode("Actor" + map.ActorDefinitions.Count, ar.Save()));
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ Rules:
|
|||||||
ts|rules/shared-support.yaml
|
ts|rules/shared-support.yaml
|
||||||
ts|rules/shared-vehicles.yaml
|
ts|rules/shared-vehicles.yaml
|
||||||
ts|rules/trees.yaml
|
ts|rules/trees.yaml
|
||||||
|
ts|rules/bridges.yaml
|
||||||
|
|
||||||
Weapons:
|
Weapons:
|
||||||
ts|weapons/bombsandgrenades.yaml
|
ts|weapons/bombsandgrenades.yaml
|
||||||
@@ -101,6 +102,7 @@ Sequences:
|
|||||||
ts|sequences/structures.yaml
|
ts|sequences/structures.yaml
|
||||||
ts|sequences/vehicles.yaml
|
ts|sequences/vehicles.yaml
|
||||||
ts|sequences/trees.yaml
|
ts|sequences/trees.yaml
|
||||||
|
ts|sequences/bridges.yaml
|
||||||
|
|
||||||
VoxelSequences:
|
VoxelSequences:
|
||||||
ts|sequences/voxels.yaml
|
ts|sequences/voxels.yaml
|
||||||
|
|||||||
47
mods/ts/rules/bridges.yaml
Normal file
47
mods/ts/rules/bridges.yaml
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
LOBRDG_A:
|
||||||
|
Inherits: ^LowBridge_A
|
||||||
|
|
||||||
|
LOBRDG_A_D:
|
||||||
|
Inherits: ^LowBridge_A
|
||||||
|
-RenderSprites:
|
||||||
|
RenderSpritesEditorOnly:
|
||||||
|
Palette: terrainalpha
|
||||||
|
EditorOnlyTooltip:
|
||||||
|
Name: Dead Bridge
|
||||||
|
-LowBridge:
|
||||||
|
|
||||||
|
LOBRDG_B:
|
||||||
|
Inherits: ^LowBridge_B
|
||||||
|
|
||||||
|
LOBRDG_B_D:
|
||||||
|
Inherits: ^LowBridge_B
|
||||||
|
-RenderSprites:
|
||||||
|
RenderSpritesEditorOnly:
|
||||||
|
Palette: terrainalpha
|
||||||
|
EditorOnlyTooltip:
|
||||||
|
Name: Dead Bridge
|
||||||
|
-LowBridge:
|
||||||
|
|
||||||
|
LOBRDG_R_SE:
|
||||||
|
Inherits: ^LowBridge_B
|
||||||
|
EditorOnlyTooltip:
|
||||||
|
Name: Bridge Ramp
|
||||||
|
Description: South East
|
||||||
|
|
||||||
|
LOBRDG_R_NW:
|
||||||
|
Inherits: ^LowBridge_B
|
||||||
|
EditorOnlyTooltip:
|
||||||
|
Name: Bridge Ramp
|
||||||
|
Description: North West
|
||||||
|
|
||||||
|
LOBRDG_R_NE:
|
||||||
|
Inherits: ^LowBridge_A
|
||||||
|
EditorOnlyTooltip:
|
||||||
|
Name: Bridge Ramp
|
||||||
|
Description: North East
|
||||||
|
|
||||||
|
LOBRDG_R_SW:
|
||||||
|
Inherits: ^LowBridge_A
|
||||||
|
EditorOnlyTooltip:
|
||||||
|
Name: Bridge Ramp
|
||||||
|
Description: South West
|
||||||
@@ -883,6 +883,36 @@
|
|||||||
LineBuildNode:
|
LineBuildNode:
|
||||||
Connections: 0,-1, 0,1
|
Connections: 0,-1, 0,1
|
||||||
|
|
||||||
|
^LowBridge:
|
||||||
|
AlwaysVisible:
|
||||||
|
RenderSprites:
|
||||||
|
Palette: terraindecoration
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
|
AppearsOnRadar:
|
||||||
|
RadarColorFromTerrain:
|
||||||
|
Terrain: Road
|
||||||
|
BodyOrientation:
|
||||||
|
UseClassicPerspectiveFudge: false
|
||||||
|
QuantizedFacings: 1
|
||||||
|
Tooltip:
|
||||||
|
Name: Bridge
|
||||||
|
Health:
|
||||||
|
|
||||||
|
^LowBridge_A:
|
||||||
|
Inherits: ^LowBridge
|
||||||
|
Building:
|
||||||
|
Footprint: ___
|
||||||
|
Dimensions: 3, 1
|
||||||
|
LowBridge:
|
||||||
|
|
||||||
|
^LowBridge_B:
|
||||||
|
Inherits: ^LowBridge
|
||||||
|
Building:
|
||||||
|
Footprint: _ _ _
|
||||||
|
Dimensions: 1, 3
|
||||||
|
LowBridge:
|
||||||
|
|
||||||
^HealsOnTiberium:
|
^HealsOnTiberium:
|
||||||
DamagedByTerrain:
|
DamagedByTerrain:
|
||||||
Damage: -2
|
Damage: -2
|
||||||
|
|||||||
@@ -109,5 +109,9 @@
|
|||||||
BaseName: cloak
|
BaseName: cloak
|
||||||
BasePalette: player
|
BasePalette: player
|
||||||
Alpha: 0.55
|
Alpha: 0.55
|
||||||
|
PaletteFromPaletteWithAlpha@terrainalpha:
|
||||||
|
BasePalette: terraindecoration
|
||||||
|
Name: terrainalpha
|
||||||
|
Alpha: 0.55
|
||||||
PlayerHighlightPalette:
|
PlayerHighlightPalette:
|
||||||
MenuPaletteEffect:
|
MenuPaletteEffect:
|
||||||
|
|||||||
70
mods/ts/sequences/bridges.yaml
Normal file
70
mods/ts/sequences/bridges.yaml
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
lobrdg_a:
|
||||||
|
Defaults:
|
||||||
|
ZOffset: -1c511
|
||||||
|
UseTilesetExtension: true
|
||||||
|
Start: 1
|
||||||
|
idle: lobrdg10 # lobrdg11, 12, 13
|
||||||
|
damaged-idle: lobrdg16
|
||||||
|
sw: lobrdg14
|
||||||
|
damaged-sw: lobrdg17
|
||||||
|
ne: lobrdg15
|
||||||
|
damaged-ne: lobrdg18
|
||||||
|
|
||||||
|
lobrdg_a_d:
|
||||||
|
Defaults:
|
||||||
|
ZOffset: -1c511
|
||||||
|
UseTilesetExtension: true
|
||||||
|
Start: 1
|
||||||
|
idle: lobrdg10 # actually lobrdg28
|
||||||
|
|
||||||
|
lobrdg_b:
|
||||||
|
Defaults:
|
||||||
|
ZOffset: -1c511
|
||||||
|
UseTilesetExtension: true
|
||||||
|
Start: 1
|
||||||
|
idle: lobrdg01 # lobrdg02, 03, 04
|
||||||
|
damaged-idle: lobrdg07
|
||||||
|
se: lobrdg06
|
||||||
|
damaged-se: lobrdg09
|
||||||
|
nw: lobrdg05
|
||||||
|
damaged-nw: lobrdg08
|
||||||
|
|
||||||
|
lobrdg_b_d:
|
||||||
|
Defaults:
|
||||||
|
ZOffset: -1c511
|
||||||
|
UseTilesetExtension: true
|
||||||
|
Start: 1
|
||||||
|
idle: lobrdg01 # actually lobrdg27
|
||||||
|
|
||||||
|
lobrdg_r_se:
|
||||||
|
Defaults:
|
||||||
|
ZOffset: -1c511
|
||||||
|
UseTilesetExtension: true
|
||||||
|
Start: 1
|
||||||
|
idle: lobrdg19
|
||||||
|
damaged-idle: lobrdg20
|
||||||
|
|
||||||
|
lobrdg_r_nw:
|
||||||
|
Defaults:
|
||||||
|
ZOffset: -1c511
|
||||||
|
UseTilesetExtension: true
|
||||||
|
Start: 1
|
||||||
|
idle: lobrdg21
|
||||||
|
damaged-idle: lobrdg22
|
||||||
|
|
||||||
|
lobrdg_r_ne:
|
||||||
|
Defaults:
|
||||||
|
ZOffset: -1c511
|
||||||
|
UseTilesetExtension: true
|
||||||
|
Start: 1
|
||||||
|
idle: lobrdg23
|
||||||
|
damaged-idle: lobrdg24
|
||||||
|
|
||||||
|
lobrdg_r_sw:
|
||||||
|
Defaults:
|
||||||
|
ZOffset: -1c511
|
||||||
|
UseTilesetExtension: true
|
||||||
|
Start: 1
|
||||||
|
idle: lobrdg25
|
||||||
|
damaged-idle: lobrdg26
|
||||||
|
|
||||||
Reference in New Issue
Block a user