modernuo/Projects/Server/Targeting/StaticTarget.cs
Kamron Batman 68bd9529f9
Adds hue support to StaticTile (#1321)
### Summary
Fixes missing properties while reading static tiles.

### Screenshots
<img width="463" alt="Screenshot 2023-01-21 093050" src="https://user-images.githubusercontent.com/3953314/213879788-05d2ad7c-c197-4690-9f5b-660bded416cc.png">

Closes #1320
2023-01-21 11:19:11 -08:00

45 lines
1.2 KiB
C#

namespace Server.Targeting;
public class StaticTarget : IPoint3D
{
private Point3D m_Location;
public StaticTarget(Point3D location, int itemID)
{
m_Location = location;
ItemID = itemID & TileData.MaxItemValue;
m_Location.Z += TileData.ItemTable[ItemID].CalcHeight;
}
public StaticTarget(Point3D location, int itemID, int hue)
{
m_Location = location;
ItemID = itemID & TileData.MaxItemValue;
m_Location.Z += TileData.ItemTable[ItemID].CalcHeight;
Hue = hue;
}
[CommandProperty(AccessLevel.Counselor)]
public Point3D Location => m_Location;
[CommandProperty(AccessLevel.Counselor)]
public string Name => TileData.ItemTable[ItemID].Name;
[CommandProperty(AccessLevel.Counselor)]
public TileFlag Flags => TileData.ItemTable[ItemID].Flags;
[CommandProperty(AccessLevel.Counselor)]
public int ItemID { get; }
[CommandProperty(AccessLevel.Counselor)]
public int X => m_Location.X;
[CommandProperty(AccessLevel.Counselor)]
public int Y => m_Location.Y;
[CommandProperty(AccessLevel.Counselor)]
public int Z => m_Location.Z;
[CommandProperty(AccessLevel.Counselor)]
public int Hue { get; }
}