commit
c29ad54621
1 changed files with 71 additions and 97 deletions
|
|
@ -3117,112 +3117,90 @@ namespace TShockAPI
|
||||||
|
|
||||||
private static bool HandleSpawnBoss(GetDataHandlerArgs args)
|
private static bool HandleSpawnBoss(GetDataHandlerArgs args)
|
||||||
{
|
{
|
||||||
var spawnboss = false;
|
var spawnboss = false;
|
||||||
var invasion = -1;
|
var invasion = -1;
|
||||||
var plr = args.Data.ReadInt32();
|
var plr = args.Data.ReadInt32();
|
||||||
var Type = args.Data.ReadInt32();
|
var Type = args.Data.ReadInt32();
|
||||||
spawnboss = (Type == 4 || Type == 13 || (Type == 50 || Type == 125) || (Type == 126 || Type == 134 || (Type == (int) sbyte.MaxValue || Type == 128)));
|
NPC npc = new NPC();
|
||||||
if (!spawnboss)
|
npc.SetDefaults(Type);
|
||||||
{
|
spawnboss = npc.boss;
|
||||||
switch (Type)
|
if (!spawnboss)
|
||||||
{
|
{
|
||||||
case -1:
|
switch (Type)
|
||||||
invasion = 1;
|
{
|
||||||
break;
|
case -1:
|
||||||
case -2:
|
invasion = 1;
|
||||||
invasion = 2;
|
break;
|
||||||
break;
|
case -2:
|
||||||
}
|
invasion = 2;
|
||||||
}
|
break;
|
||||||
if (spawnboss && !args.Player.Group.HasPermission(Permissions.summonboss))
|
}
|
||||||
{
|
}
|
||||||
args.Player.SendMessage("You don't have permission to summon a boss.", Color.Red);
|
if (spawnboss && !args.Player.Group.HasPermission(Permissions.summonboss))
|
||||||
return true;
|
{
|
||||||
}
|
args.Player.SendMessage("You don't have permission to summon a boss.", Color.Red);
|
||||||
if (invasion != -1 && !args.Player.Group.HasPermission(Permissions.startinvasion))
|
return true;
|
||||||
{
|
}
|
||||||
args.Player.SendMessage("You don't have permission to start an invasion.", Color.Red);
|
if (invasion != -1 && !args.Player.Group.HasPermission(Permissions.startinvasion))
|
||||||
return true;
|
{
|
||||||
}
|
args.Player.SendMessage("You don't have permission to start an invasion.", Color.Red);
|
||||||
if (!spawnboss && invasion == -1)
|
return true;
|
||||||
return true;
|
}
|
||||||
if (plr != args.Player.Index)
|
if (!spawnboss && invasion == -1)
|
||||||
return true;
|
return true;
|
||||||
|
if (plr != args.Player.Index)
|
||||||
|
return true;
|
||||||
|
|
||||||
string boss;
|
string boss;
|
||||||
switch (Type)
|
switch (Type)
|
||||||
{
|
{
|
||||||
case -2:
|
case -2:
|
||||||
boss = "the Snow Legion";
|
boss = "the Snow Legion";
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
boss = "a Goblin Invasion";
|
boss = "a Goblin Invasion";
|
||||||
break;
|
break;
|
||||||
case 4:
|
default:
|
||||||
boss = "the Eye of Cthulhu";
|
boss = String.Format("the {0}", npc.name);
|
||||||
break;
|
break;
|
||||||
case 13:
|
}
|
||||||
boss = "the Eater of Worlds";
|
|
||||||
break;
|
|
||||||
case 50:
|
|
||||||
boss = "the King Slime";
|
|
||||||
break;
|
|
||||||
case 125:
|
|
||||||
boss = "Retinazer";
|
|
||||||
break;
|
|
||||||
case 126:
|
|
||||||
boss = "Spazmatism";
|
|
||||||
break;
|
|
||||||
case 134:
|
|
||||||
boss = "the Destroyer";
|
|
||||||
break;
|
|
||||||
case sbyte.MaxValue:
|
|
||||||
boss = "Skeleton Prime";
|
|
||||||
break;
|
|
||||||
case 128:
|
|
||||||
boss = "Skeleton Prime";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
boss = "error";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
TShock.Utils.SendLogs(string.Format("{0} summoned {1}", args.Player.Name, boss), Color.PaleVioletRed, args.Player);
|
TShock.Utils.SendLogs(string.Format("{0} summoned {1}", args.Player.Name, boss), Color.PaleVioletRed, args.Player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool HandlePaintTile(GetDataHandlerArgs args)
|
private static bool HandlePaintTile(GetDataHandlerArgs args)
|
||||||
{
|
{
|
||||||
var x = args.Data.ReadInt32();
|
var x = args.Data.ReadInt32();
|
||||||
var y = args.Data.ReadInt32();
|
var y = args.Data.ReadInt32();
|
||||||
var t = args.Data.ReadInt8();
|
var t = args.Data.ReadInt8();
|
||||||
|
|
||||||
if (OnPaintTile(x, y, t))
|
if (OnPaintTile(x, y, t))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (!args.Player.Group.HasPermission(Permissions.canpaint))
|
if (!args.Player.Group.HasPermission(Permissions.canpaint))
|
||||||
{
|
{
|
||||||
args.Player.SendTileSquare(x, y);
|
args.Player.SendTileSquare(x, y);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool HandlePaintWall(GetDataHandlerArgs args)
|
private static bool HandlePaintWall(GetDataHandlerArgs args)
|
||||||
{
|
{
|
||||||
var x = args.Data.ReadInt32();
|
var x = args.Data.ReadInt32();
|
||||||
var y = args.Data.ReadInt32();
|
var y = args.Data.ReadInt32();
|
||||||
var t = args.Data.ReadInt8();
|
var t = args.Data.ReadInt8();
|
||||||
|
|
||||||
if (OnPaintTile(x, y, t))
|
if (OnPaintTile(x, y, t))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (!args.Player.Group.HasPermission(Permissions.canpaint))
|
if (!args.Player.Group.HasPermission(Permissions.canpaint))
|
||||||
{
|
{
|
||||||
args.Player.SendTileSquare(x, y);
|
args.Player.SendTileSquare(x, y);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -3237,11 +3215,7 @@ namespace TShockAPI
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
byte style = 0;
|
byte style = 0;
|
||||||
var isNPC = false;
|
var isNPC = false || (flag & 1) == 1;
|
||||||
if ((flag & 1) == 1)
|
|
||||||
{
|
|
||||||
isNPC = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((flag & 2) != 2)
|
if ((flag & 2) != 2)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue