Merge pull request #652 from MarioE/general-devel
Add /spawnboss for the time being
This commit is contained in:
commit
9187760386
1 changed files with 115 additions and 0 deletions
|
|
@ -336,6 +336,11 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
HelpText = "Sets the maximum number of NPCs."
|
HelpText = "Sets the maximum number of NPCs."
|
||||||
});
|
});
|
||||||
|
add(new Command(Permissions.spawnboss, SpawnBoss, "spawnboss", "sb")
|
||||||
|
{
|
||||||
|
AllowServer = false,
|
||||||
|
HelpText = "Spawns a number of bosses around you."
|
||||||
|
});
|
||||||
add(new Command(Permissions.spawnmob, SpawnMob, "spawnmob", "sm")
|
add(new Command(Permissions.spawnmob, SpawnMob, "spawnmob", "sm")
|
||||||
{
|
{
|
||||||
AllowServer = false,
|
AllowServer = false,
|
||||||
|
|
@ -1674,6 +1679,116 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void SpawnBoss(CommandArgs args)
|
||||||
|
{
|
||||||
|
if (args.Parameters.Count < 1 || args.Parameters.Count > 2)
|
||||||
|
{
|
||||||
|
args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /spawnboss <boss type> [amount]");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int amount = 1;
|
||||||
|
if (args.Parameters.Count == 2 && (!int.TryParse(args.Parameters[1], out amount) || amount <= 0))
|
||||||
|
{
|
||||||
|
args.Player.SendErrorMessage("Invalid boss amount!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
NPC npc = new NPC();
|
||||||
|
switch (args.Parameters[0].ToLower())
|
||||||
|
{
|
||||||
|
case "brain":
|
||||||
|
case "brain of cthulhu":
|
||||||
|
npc.SetDefaults(266);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned the Brain of Cthulhu {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "destroyer":
|
||||||
|
npc.SetDefaults(134);
|
||||||
|
TSPlayer.Server.SetTime(false, 0.0);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned the Destroyer {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "eater":
|
||||||
|
case "eater of worlds":
|
||||||
|
npc.SetDefaults(13);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned the Eater of Worlds {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "eye":
|
||||||
|
case "eye of cthulhu":
|
||||||
|
npc.SetDefaults(4);
|
||||||
|
TSPlayer.Server.SetTime(false, 0.0);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned the Eye of Cthulhu {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "golem":
|
||||||
|
npc.SetDefaults(245);
|
||||||
|
TSPlayer.Server.SetTime(false, 0.0);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned Golem {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "king":
|
||||||
|
case "king slime":
|
||||||
|
npc.SetDefaults(50);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned King Slime {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "plantera":
|
||||||
|
npc.SetDefaults(262);
|
||||||
|
TSPlayer.Server.SetTime(false, 0.0);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned Plantera {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "prime":
|
||||||
|
case "skeletron prime":
|
||||||
|
npc.SetDefaults(127);
|
||||||
|
TSPlayer.Server.SetTime(false, 0.0);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned Skeletron Prime {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "queen":
|
||||||
|
case "queen bee":
|
||||||
|
npc.SetDefaults(222);
|
||||||
|
TSPlayer.Server.SetTime(false, 0.0);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned Queen Bee {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "skeletron":
|
||||||
|
npc.SetDefaults(35);
|
||||||
|
TSPlayer.Server.SetTime(false, 0.0);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned Skeletron {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "twins":
|
||||||
|
TSPlayer.Server.SetTime(false, 0.0);
|
||||||
|
npc.SetDefaults(125);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
npc.SetDefaults(126);
|
||||||
|
TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned the Twins {1} time(s).", args.Player.Name, amount);
|
||||||
|
return;
|
||||||
|
case "wof":
|
||||||
|
case "wall of flesh":
|
||||||
|
if (Main.wof >= 0)
|
||||||
|
{
|
||||||
|
args.Player.SendErrorMessage("There is already a Wall of Flesh!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (args.Player.Y / 16f < Main.maxTilesY - 205)
|
||||||
|
{
|
||||||
|
args.Player.SendErrorMessage("You must spawn the Wall of Flesh in hell!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
NPC.SpawnWOF(new Vector2(args.Player.X, args.Player.Y));
|
||||||
|
TSPlayer.All.SendSuccessMessage("{0} has spawned the Wall of Flesh.", args.Player.Name);
|
||||||
|
return;
|
||||||
|
default:
|
||||||
|
args.Player.SendErrorMessage("Invalid boss type!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void SpawnMob(CommandArgs args)
|
private static void SpawnMob(CommandArgs args)
|
||||||
{
|
{
|
||||||
if (args.Parameters.Count < 1 || args.Parameters.Count > 2)
|
if (args.Parameters.Count < 1 || args.Parameters.Count > 2)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue