Update GetDataHandlers for new packet stuff.
This commit is contained in:
parent
9a36405df2
commit
1eb40afd1c
4 changed files with 123 additions and 146 deletions
|
|
@ -1023,7 +1023,7 @@ namespace TShockAPI
|
|||
/// <summary>
|
||||
/// ???
|
||||
/// </summary>
|
||||
public byte ID { get; set; }
|
||||
public short ID { get; set; }
|
||||
/// <summary>
|
||||
/// Direction the damage occurred from
|
||||
/// </summary>
|
||||
|
|
@ -1033,9 +1033,9 @@ namespace TShockAPI
|
|||
/// </summary>
|
||||
public short Damage { get; set; }
|
||||
/// <summary>
|
||||
/// Is PVP enabled...?
|
||||
/// Knockback
|
||||
/// </summary>
|
||||
public byte PVP { get; set; }
|
||||
public float Knockback { get; set; }
|
||||
/// <summary>
|
||||
/// Critical?
|
||||
/// </summary>
|
||||
|
|
@ -1046,7 +1046,7 @@ namespace TShockAPI
|
|||
/// </summary>
|
||||
public static HandlerList<NPCStrikeEventArgs> NPCStrike;
|
||||
|
||||
private static bool OnNPCStrike(byte id, byte dir, short dmg, byte pvp, byte crit)
|
||||
private static bool OnNPCStrike(short id, byte dir, short dmg, float knockback, byte crit)
|
||||
{
|
||||
if (NPCStrike == null)
|
||||
return false;
|
||||
|
|
@ -1056,7 +1056,7 @@ namespace TShockAPI
|
|||
ID = id,
|
||||
Direction = dir,
|
||||
Damage = dmg,
|
||||
PVP = pvp,
|
||||
Knockback = knockback,
|
||||
Critical = crit,
|
||||
};
|
||||
NPCStrike.Invoke(null, args);
|
||||
|
|
@ -1379,8 +1379,9 @@ namespace TShockAPI
|
|||
private static bool HandlePlayerInfo(GetDataHandlerArgs args)
|
||||
{
|
||||
var playerid = args.Data.ReadInt8();
|
||||
var male = args.Data.ReadByte() == 0;
|
||||
var hair = args.Data.ReadInt8();
|
||||
var male = args.Data.ReadBoolean();
|
||||
string name = args.Data.ReadString();
|
||||
byte hairDye = args.Data.ReadInt8();
|
||||
BitsByte hideVisual = args.Data.ReadInt8();
|
||||
Color hairColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8());
|
||||
|
|
@ -1391,7 +1392,6 @@ namespace TShockAPI
|
|||
Color pantsColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8());
|
||||
Color shoeColor = new Color(args.Data.ReadInt8(), args.Data.ReadInt8(), args.Data.ReadInt8());
|
||||
var difficulty = args.Data.ReadInt8();
|
||||
string name = Encoding.UTF8.GetString(args.Data.ReadBytes((int) (args.Data.Length - args.Data.Position - 1)));
|
||||
|
||||
if (OnPlayerInfo(playerid, hair, male, difficulty, name))
|
||||
{
|
||||
|
|
@ -1508,7 +1508,7 @@ namespace TShockAPI
|
|||
if (!args.Player.RequiresPassword)
|
||||
return true;
|
||||
|
||||
string password = Encoding.UTF8.GetString(args.Data.ReadBytes((int) (args.Data.Length - args.Data.Position - 1)));
|
||||
string password = args.Data.ReadString();
|
||||
|
||||
if (Hooks.PlayerHooks.OnPlayerPreLogin(args.Player, args.Player.Name, password))
|
||||
return true;
|
||||
|
|
@ -1621,8 +1621,8 @@ namespace TShockAPI
|
|||
return false;
|
||||
|
||||
var size = args.Data.ReadInt16();
|
||||
var tileX = args.Data.ReadInt32();
|
||||
var tileY = args.Data.ReadInt32();
|
||||
var tileX = args.Data.ReadInt16();
|
||||
var tileY = args.Data.ReadInt16();
|
||||
|
||||
if (OnSendTileSquare(size, tileX, tileY))
|
||||
return true;
|
||||
|
|
@ -1782,8 +1782,8 @@ namespace TShockAPI
|
|||
private static bool HandleTile(GetDataHandlerArgs args)
|
||||
{
|
||||
EditAction action = (EditAction)args.Data.ReadInt8();
|
||||
var tileX = args.Data.ReadInt32();
|
||||
var tileY = args.Data.ReadInt32();
|
||||
var tileX = args.Data.ReadInt16();
|
||||
var tileY = args.Data.ReadInt16();
|
||||
|
||||
try
|
||||
{
|
||||
|
|
@ -2177,11 +2177,14 @@ namespace TShockAPI
|
|||
private static bool HandlePlayerUpdate(GetDataHandlerArgs args)
|
||||
{
|
||||
var plr = args.Data.ReadInt8();
|
||||
var control = args.Data.ReadInt8();
|
||||
var control = (BitsByte)args.Data.ReadInt8();
|
||||
var pulley = (BitsByte)args.Data.ReadInt8();
|
||||
var item = args.Data.ReadInt8();
|
||||
var pos = new Vector2(args.Data.ReadSingle(), args.Data.ReadSingle());
|
||||
var vel = new Vector2(args.Data.ReadSingle(), args.Data.ReadSingle());
|
||||
byte pulley = args.Data.ReadInt8();
|
||||
var vel = Vector2.Zero;
|
||||
if(pulley[2])
|
||||
vel = new Vector2(args.Data.ReadSingle(), args.Data.ReadSingle());
|
||||
|
||||
if (OnPlayerUpdate(plr, control, item, pos, vel, pulley))
|
||||
return true;
|
||||
|
||||
|
|
@ -2264,11 +2267,11 @@ namespace TShockAPI
|
|||
args.Player.LastNetPosition = pos;
|
||||
}
|
||||
|
||||
if ((control & 32) == 32)
|
||||
if (control[5])
|
||||
{
|
||||
if (TShock.Itembans.ItemIsBanned(args.TPlayer.inventory[item].name, args.Player))
|
||||
{
|
||||
control -= 32;
|
||||
control[5] = false;
|
||||
args.Player.Disable("Using banned item");
|
||||
args.Player.SendMessage(
|
||||
string.Format("You cannot use {0} on this server. Your actions are being ignored.",
|
||||
|
|
@ -2297,8 +2300,8 @@ namespace TShockAPI
|
|||
|
||||
args.TPlayer.selectedItem = item;
|
||||
args.TPlayer.position = pos;
|
||||
args.TPlayer.velocity = vel;
|
||||
args.TPlayer.oldVelocity = args.TPlayer.velocity;
|
||||
args.TPlayer.velocity = vel;
|
||||
args.TPlayer.fallStart = (int) (pos.Y/16f);
|
||||
args.TPlayer.controlUp = false;
|
||||
args.TPlayer.controlDown = false;
|
||||
|
|
@ -2306,38 +2309,42 @@ namespace TShockAPI
|
|||
args.TPlayer.controlRight = false;
|
||||
args.TPlayer.controlJump = false;
|
||||
args.TPlayer.controlUseItem = false;
|
||||
args.TPlayer.pulley = pulley != 0;
|
||||
args.TPlayer.pulleyDir = pulley;
|
||||
args.TPlayer.pulley = pulley[0];
|
||||
if(pulley[0])
|
||||
args.TPlayer.pulleyDir = (byte)(pulley[1] ? 2 : 1);
|
||||
args.TPlayer.direction = -1;
|
||||
if ((control & 1) == 1)
|
||||
if (control[0])
|
||||
{
|
||||
args.TPlayer.controlUp = true;
|
||||
}
|
||||
if ((control & 2) == 2)
|
||||
if (control[1])
|
||||
{
|
||||
args.TPlayer.controlDown = true;
|
||||
}
|
||||
if ((control & 4) == 4)
|
||||
if (control[2])
|
||||
{
|
||||
args.TPlayer.controlLeft = true;
|
||||
}
|
||||
if ((control & 8) == 8)
|
||||
if (control[3])
|
||||
{
|
||||
args.TPlayer.controlRight = true;
|
||||
}
|
||||
if ((control & 16) == 16)
|
||||
if (control[4])
|
||||
{
|
||||
args.TPlayer.controlJump = true;
|
||||
}
|
||||
if ((control & 32) == 32)
|
||||
if (control[5])
|
||||
{
|
||||
args.TPlayer.controlUseItem = true;
|
||||
}
|
||||
if ((control & 64) == 64)
|
||||
if (control[6])
|
||||
{
|
||||
args.TPlayer.direction = 1;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
args.TPlayer.direction = -1;
|
||||
}
|
||||
|
||||
|
||||
if (args.Player.Confused && TShock.Config.ServerSideCharacter && args.Player.IsLoggedIn)
|
||||
|
|
@ -2385,7 +2392,19 @@ namespace TShockAPI
|
|||
var dmg = args.Data.ReadInt16();
|
||||
var owner = args.Data.ReadInt8();
|
||||
var type = args.Data.ReadInt16();
|
||||
var bits = (BitsByte) args.Data.ReadInt8();
|
||||
owner = (byte)args.Player.Index;
|
||||
float[] ai = new float[Projectile.maxAI];
|
||||
|
||||
for (int i = 0; i < Projectile.maxAI; i++)
|
||||
{
|
||||
if (bits[i])
|
||||
ai[i] = args.Data.ReadSingle();
|
||||
else
|
||||
ai[i] = 0f;
|
||||
}
|
||||
|
||||
|
||||
var index = TShock.Utils.SearchProjectile(ident, owner);
|
||||
|
||||
if (OnNewProjectile(ident, pos, vel, knockback, dmg, owner, type, index))
|
||||
|
|
@ -2527,10 +2546,10 @@ namespace TShockAPI
|
|||
private static bool HandlePlayerKillMe(GetDataHandlerArgs args)
|
||||
{
|
||||
var id = args.Data.ReadInt8();
|
||||
var direction = args.Data.ReadInt8();
|
||||
var direction = (byte)(args.Data.ReadInt8() - 1);
|
||||
var dmg = args.Data.ReadInt16();
|
||||
var pvp = args.Data.ReadInt8() == 0;
|
||||
|
||||
var text = args.Data.ReadString();
|
||||
if (dmg > 20000) //Abnormal values have the potential to cause infinite loops in the server.
|
||||
{
|
||||
TShock.Utils.ForceKick(args.Player, "Crash Exploit Attempt", true);
|
||||
|
|
@ -2546,14 +2565,7 @@ namespace TShockAPI
|
|||
if (OnKillMe(id, direction, dmg, pvp))
|
||||
return true;
|
||||
|
||||
int textlength = (int)(args.Data.Length - args.Data.Position - 1);
|
||||
string deathtext = "";
|
||||
if (textlength > 0)
|
||||
{
|
||||
deathtext = Encoding.UTF8.GetString(args.Data.ReadBytes(textlength));
|
||||
}
|
||||
|
||||
if (deathtext.Length > 500)
|
||||
if (text.Length > 500)
|
||||
{
|
||||
TShock.Utils.Kick(TShock.Players[id], "Crash attempt", true);
|
||||
return true;
|
||||
|
|
@ -2576,8 +2588,8 @@ namespace TShockAPI
|
|||
|
||||
private static bool HandleLiquidSet(GetDataHandlerArgs args)
|
||||
{
|
||||
int tileX = args.Data.ReadInt32();
|
||||
int tileY = args.Data.ReadInt32();
|
||||
int tileX = args.Data.ReadInt16();
|
||||
int tileY = args.Data.ReadInt16();
|
||||
byte amount = args.Data.ReadInt8();
|
||||
byte type = args.Data.ReadInt8();
|
||||
|
||||
|
|
@ -2699,6 +2711,7 @@ namespace TShockAPI
|
|||
int flag = args.Data.ReadByte();
|
||||
int tileX = args.Data.ReadInt16();
|
||||
int tileY = args.Data.ReadInt16();
|
||||
int style = args.Data.ReadInt16();
|
||||
|
||||
if (OnTileKill(tileX, tileY))
|
||||
return true;
|
||||
|
|
@ -2734,8 +2747,8 @@ namespace TShockAPI
|
|||
private static bool HandleSpawn(GetDataHandlerArgs args)
|
||||
{
|
||||
var player = args.Data.ReadInt8();
|
||||
var spawnx = args.Data.ReadInt32();
|
||||
var spawny = args.Data.ReadInt32();
|
||||
var spawnx = args.Data.ReadInt16();
|
||||
var spawny = args.Data.ReadInt16();
|
||||
|
||||
if (OnPlayerSpawn(player, spawnx, spawny))
|
||||
return true;
|
||||
|
|
@ -2784,8 +2797,8 @@ namespace TShockAPI
|
|||
|
||||
private static bool HandleChestOpen(GetDataHandlerArgs args)
|
||||
{
|
||||
var x = args.Data.ReadInt32();
|
||||
var y = args.Data.ReadInt32();
|
||||
var x = args.Data.ReadInt16();
|
||||
var y = args.Data.ReadInt16();
|
||||
|
||||
if (OnChestOpen(x, y, args.Player))
|
||||
return true;
|
||||
|
|
@ -2811,8 +2824,13 @@ namespace TShockAPI
|
|||
private static bool HandleChestActive(GetDataHandlerArgs args)
|
||||
{
|
||||
var id = args.Data.ReadInt16();
|
||||
var x = args.Data.ReadInt32();
|
||||
var y = args.Data.ReadInt32();
|
||||
var x = args.Data.ReadInt16();
|
||||
var y = args.Data.ReadInt16();
|
||||
var b = args.Data.ReadInt8();
|
||||
var name = "";
|
||||
|
||||
if (b <= 20)
|
||||
name = args.Data.ReadString();
|
||||
|
||||
args.Player.ActiveChest = id;
|
||||
|
||||
|
|
@ -2870,8 +2888,9 @@ namespace TShockAPI
|
|||
private static bool HandleSign(GetDataHandlerArgs args)
|
||||
{
|
||||
var id = args.Data.ReadInt16();
|
||||
var x = args.Data.ReadInt32();
|
||||
var y = args.Data.ReadInt32();
|
||||
var x = args.Data.ReadInt16();
|
||||
var y = args.Data.ReadInt16();
|
||||
var text = args.Data.ReadString();
|
||||
|
||||
if (OnSignEvent(id, x, y))
|
||||
return true;
|
||||
|
|
@ -2978,7 +2997,7 @@ namespace TShockAPI
|
|||
var vel = new Vector2(args.Data.ReadSingle(), args.Data.ReadSingle());
|
||||
var stacks = args.Data.ReadInt16();
|
||||
var prefix = args.Data.ReadInt8();
|
||||
var noDelay = args.Data.ReadBoolean();
|
||||
var noDelay = args.Data.ReadInt8() == 1;
|
||||
var type = args.Data.ReadInt16();
|
||||
|
||||
if (OnItemDrop(id, pos, vel, stacks, prefix, noDelay, type))
|
||||
|
|
@ -3047,10 +3066,12 @@ namespace TShockAPI
|
|||
private static bool HandlePlayerDamage(GetDataHandlerArgs args)
|
||||
{
|
||||
var id = args.Data.ReadInt8();
|
||||
var direction = args.Data.ReadInt8();
|
||||
var direction = (byte)(args.Data.ReadInt8() - 1);
|
||||
var dmg = args.Data.ReadInt16();
|
||||
var pvp = args.Data.ReadBoolean();
|
||||
var crit = args.Data.ReadBoolean();
|
||||
var text = args.Data.ReadString();
|
||||
var bits = (BitsByte)args.Data.ReadInt8();
|
||||
var pvp = bits[0];
|
||||
var crit = bits[1];
|
||||
|
||||
if (dmg > 12000) //Abnormal values have the potential to cause infinite loops in the server.
|
||||
{ //12000 because Skely Prime Head does 10339 or some bs during the day.
|
||||
|
|
@ -3062,17 +3083,6 @@ namespace TShockAPI
|
|||
if (OnPlayerDamage(id, direction, dmg, pvp, crit))
|
||||
return true;
|
||||
|
||||
int textlength = (int) (args.Data.Length - args.Data.Position - 1);
|
||||
string deathtext = "";
|
||||
if (textlength > 0)
|
||||
{
|
||||
deathtext = Encoding.UTF8.GetString(args.Data.ReadBytes(textlength));
|
||||
/*if (!TShock.Utils.ValidString(deathtext))
|
||||
{
|
||||
return true;
|
||||
}*/
|
||||
}
|
||||
|
||||
if (id >= Main.maxPlayers || TShock.Players[id] == null)
|
||||
{
|
||||
return true;
|
||||
|
|
@ -3124,13 +3134,13 @@ namespace TShockAPI
|
|||
|
||||
private static bool HandleNpcStrike(GetDataHandlerArgs args)
|
||||
{
|
||||
var id = args.Data.ReadInt8();
|
||||
var direction = args.Data.ReadInt8();
|
||||
var id = args.Data.ReadInt16();
|
||||
var dmg = args.Data.ReadInt16();
|
||||
var pvp = args.Data.ReadInt8();
|
||||
var knockback = args.Data.ReadSingle();
|
||||
var direction = (byte)(args.Data.ReadInt8() - 1);
|
||||
var crit = args.Data.ReadInt8();
|
||||
|
||||
if (OnNPCStrike(id, direction, dmg, pvp, crit))
|
||||
if (OnNPCStrike(id, direction, dmg, knockback, crit))
|
||||
return true;
|
||||
|
||||
if (Main.npc[id] == null)
|
||||
|
|
@ -3283,6 +3293,7 @@ namespace TShockAPI
|
|||
case 245:
|
||||
case 262:
|
||||
case 266:
|
||||
case 370:
|
||||
spawnboss = true;
|
||||
break;
|
||||
}
|
||||
|
|
@ -3332,8 +3343,8 @@ namespace TShockAPI
|
|||
|
||||
private static bool HandlePaintTile(GetDataHandlerArgs args)
|
||||
{
|
||||
var x = args.Data.ReadInt32();
|
||||
var y = args.Data.ReadInt32();
|
||||
var x = args.Data.ReadInt16();
|
||||
var y = args.Data.ReadInt16();
|
||||
var t = args.Data.ReadInt8();
|
||||
|
||||
if (x < 0 || y < 0 || x >= Main.maxTilesX || y >= Main.maxTilesY || t > Main.numTileColors)
|
||||
|
|
@ -3370,8 +3381,8 @@ namespace TShockAPI
|
|||
|
||||
private static bool HandlePaintWall(GetDataHandlerArgs args)
|
||||
{
|
||||
var x = args.Data.ReadInt32();
|
||||
var y = args.Data.ReadInt32();
|
||||
var x = args.Data.ReadInt16();
|
||||
var y = args.Data.ReadInt16();
|
||||
var t = args.Data.ReadInt8();
|
||||
|
||||
if (x < 0 || y < 0 || x >= Main.maxTilesX || y >= Main.maxTilesY || t > Main.numTileColors)
|
||||
|
|
@ -3408,7 +3419,7 @@ namespace TShockAPI
|
|||
|
||||
private static bool HandleTeleport(GetDataHandlerArgs args)
|
||||
{
|
||||
var flag = args.Data.ReadInt8();
|
||||
var flag = (BitsByte)args.Data.ReadInt8();
|
||||
var id = args.Data.ReadInt16();
|
||||
var x = args.Data.ReadSingle();
|
||||
var y = args.Data.ReadSingle();
|
||||
|
|
@ -3580,8 +3591,9 @@ namespace TShockAPI
|
|||
private static bool HandleDoorUse(GetDataHandlerArgs e)
|
||||
{
|
||||
var Close = e.Data.ReadByte();
|
||||
var X = e.Data.ReadInt32();
|
||||
var Y = e.Data.ReadInt32();
|
||||
var X = e.Data.ReadInt16();
|
||||
var Y = e.Data.ReadInt16();
|
||||
var dir = e.Data.ReadByte() == 0 ? -1 : 1;
|
||||
|
||||
if (X >= Main.tile.GetLength(0) || Y >= Main.tile.GetLength(1) || X < 0 || Y < 0) // Check for out of range
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -101,61 +101,58 @@ namespace TShockAPI.Net
|
|||
|
||||
public void Pack(Stream stream)
|
||||
{
|
||||
var flags = TileFlags.None;
|
||||
var bits = new BitsByte();
|
||||
|
||||
if ((Active) && (!Inactive))
|
||||
flags |= TileFlags.Active;
|
||||
|
||||
if (Lighted)
|
||||
flags |= TileFlags.Lighted;
|
||||
bits[0] = true;
|
||||
|
||||
if (HasWall)
|
||||
flags |= TileFlags.Wall;
|
||||
bits[2] = true;
|
||||
|
||||
if (HasLiquid)
|
||||
flags |= TileFlags.Liquid;
|
||||
bits[3] = true;
|
||||
|
||||
if (Wire)
|
||||
flags |= TileFlags.Wire;
|
||||
bits[4] = true;
|
||||
|
||||
if (IsHalf)
|
||||
flags |= TileFlags.HalfBrick;
|
||||
bits[5] = true;
|
||||
|
||||
if (IsActuator)
|
||||
flags |= TileFlags.Actuator;
|
||||
bits[6] = true;
|
||||
|
||||
if (Inactive)
|
||||
{
|
||||
flags |= TileFlags.Inactive;
|
||||
bits[7] = true;
|
||||
}
|
||||
|
||||
stream.WriteInt8((byte) flags);
|
||||
stream.WriteInt8((byte) bits);
|
||||
|
||||
var flags2 = TileFlags2.None;
|
||||
bits = new BitsByte();
|
||||
|
||||
if ((Wire2))
|
||||
flags2 |= TileFlags2.Wire2;
|
||||
bits[0] = true;
|
||||
|
||||
if (Wire3)
|
||||
flags2 |= TileFlags2.Wire3;
|
||||
bits[1] = true;
|
||||
|
||||
if (HasColor)
|
||||
flags2 |= TileFlags2.Color;
|
||||
bits[2] = true;
|
||||
|
||||
if (HasWallColor)
|
||||
flags2 |= TileFlags2.WallColor;
|
||||
bits[3] = true;
|
||||
|
||||
if (Slope)
|
||||
flags2 |= TileFlags2.Slope;
|
||||
bits[4] = true;
|
||||
|
||||
if (Slope2)
|
||||
flags2 |= TileFlags2.Slope2;
|
||||
bits[5] = true;
|
||||
|
||||
if (Slope3)
|
||||
flags2 |= TileFlags2.Slope3;
|
||||
bits[6] = true;
|
||||
|
||||
|
||||
stream.WriteInt8((byte)flags2);
|
||||
stream.WriteInt8((byte)bits);
|
||||
|
||||
if (HasColor)
|
||||
{
|
||||
|
|
@ -189,26 +186,26 @@ namespace TShockAPI.Net
|
|||
|
||||
public void Unpack(Stream stream)
|
||||
{
|
||||
var flags = (TileFlags) stream.ReadInt8();
|
||||
var flags2 = (TileFlags2)stream.ReadInt8();
|
||||
var flags = (BitsByte) stream.ReadInt8();
|
||||
var flags2 = (BitsByte)stream.ReadInt8();
|
||||
|
||||
Wire2 = flags2.HasFlag(TileFlags2.Wire2);
|
||||
Wire3 = flags2.HasFlag(TileFlags2.Wire3);
|
||||
Slope = flags2.HasFlag(TileFlags2.Slope);
|
||||
Slope2 = flags2.HasFlag(TileFlags2.Slope2);
|
||||
Slope3 = flags2.HasFlag(TileFlags2.Slope3);
|
||||
Wire2 = flags2[0];
|
||||
Wire3 = flags2[1];
|
||||
Slope = flags2[4];
|
||||
Slope2 = flags2[5];
|
||||
Slope3 = flags2[6];
|
||||
|
||||
if (flags2.HasFlag(TileFlags2.Color))
|
||||
if (flags2[2])
|
||||
{
|
||||
TileColor = stream.ReadInt8();
|
||||
}
|
||||
|
||||
if (flags2.HasFlag(TileFlags2.WallColor))
|
||||
if (flags2[3])
|
||||
{
|
||||
WallColor = stream.ReadInt8();
|
||||
}
|
||||
|
||||
Active = flags.HasFlag(TileFlags.Active);
|
||||
Active = flags[0];
|
||||
if (Active)
|
||||
{
|
||||
Type = stream.ReadUInt16();
|
||||
|
|
@ -219,63 +216,31 @@ namespace TShockAPI.Net
|
|||
}
|
||||
}
|
||||
|
||||
if (flags.HasFlag(TileFlags.Lighted))
|
||||
{
|
||||
Lighted = true;
|
||||
}
|
||||
|
||||
if (flags.HasFlag(TileFlags.Wall))
|
||||
if (flags[2])
|
||||
{
|
||||
Wall = stream.ReadInt8();
|
||||
}
|
||||
|
||||
if (flags.HasFlag(TileFlags.Liquid))
|
||||
if (flags[3])
|
||||
{
|
||||
Liquid = stream.ReadInt8();
|
||||
LiquidType = stream.ReadInt8();
|
||||
}
|
||||
|
||||
if (flags.HasFlag(TileFlags.Wire))
|
||||
if (flags[4])
|
||||
Wire = true;
|
||||
|
||||
if (flags.HasFlag(TileFlags.HalfBrick))
|
||||
if (flags[5])
|
||||
IsHalf = true;
|
||||
|
||||
if (flags.HasFlag(TileFlags.Actuator))
|
||||
if (flags[6])
|
||||
IsActuator = true;
|
||||
|
||||
if (flags.HasFlag(TileFlags.Inactive))
|
||||
if (flags[7])
|
||||
{
|
||||
Inactive = true;
|
||||
Active = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum TileFlags : byte
|
||||
{
|
||||
None = 0,
|
||||
Active = 1,
|
||||
Lighted = 2,
|
||||
Wall = 4,
|
||||
Liquid = 8,
|
||||
Wire = 16,
|
||||
HalfBrick = 32,
|
||||
Actuator = 64,
|
||||
Inactive = 128
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum TileFlags2 : byte
|
||||
{
|
||||
None = 0,
|
||||
Wire2 = 1,
|
||||
Wire3 = 2,
|
||||
Color = 4,
|
||||
WallColor = 8,
|
||||
Slope = 16,
|
||||
Slope2 = 32,
|
||||
Slope3 = 64
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1150,7 +1150,7 @@ namespace TShockAPI
|
|||
if (e.Handled)
|
||||
return;
|
||||
|
||||
/*PacketTypes type = e.MsgID;
|
||||
PacketTypes type = e.MsgID;
|
||||
|
||||
Debug.WriteLine("Recv: {0:X}: {2} ({1:XX})", e.Msg.whoAmI, (byte) type, type);
|
||||
|
||||
|
|
@ -1178,7 +1178,7 @@ namespace TShockAPI
|
|||
{
|
||||
// Exceptions are already handled
|
||||
e.Handled = GetDataHandlers.HandlerGetData(type, player, data);
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
private void OnGreetPlayer(GreetPlayerEventArgs args)
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit c182b14ce29c3ff786aa3a171dd3556cefddba12
|
||||
Subproject commit cc291878beec01a2bc19953b495a5842cb84cf03
|
||||
Loading…
Add table
Add a link
Reference in a new issue