merge take 2

This commit is contained in:
high 2011-06-01 04:14:39 -04:00
parent da882cc9db
commit ab4d714a97

View file

@ -1,23 +1,16 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; using System.IO;
using System.Net; using System.Net;
using Microsoft.Xna.Framework; using Microsoft.Xna.Framework;
using Terraria; using Terraria;
using TerrariaAPI; using TerrariaAPI;
using TerrariaAPI.Hooks; using TerrariaAPI.Hooks;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System.Net;
using TShockAPI;
namespace TShockAPI namespace TShockAPI
{ {
public class TShock : TerrariaPlugin public class TShock : TerrariaPlugin
{ {
private uint[] tileThreshold = new uint[Main.maxPlayers]; uint[] tileThreshold = new uint[Main.maxPlayers];
public static string saveDir = "./tshock/"; public static string saveDir = "./tshock/";
@ -52,9 +45,8 @@ namespace TShockAPI
get { return "The administration modification of the future."; } get { return "The administration modification of the future."; }
} }
public TShock(Main game) : base (game) public TShock(Main game)
public TShock(Main game) : base(game)
: base(game)
{ {
} }
@ -88,8 +80,7 @@ namespace TShockAPI
* Hooks: * Hooks:
* */ * */
void NpcHooks_OnStrikeNpc(NpcStrikeEventArgs e) void NpcHooks_OnStrikeNpc(NpcStrikeEventArgs e)
private void NpcHooks_OnStrikeNpc(NpcStrikeEventArgs e)
{ {
if (ConfigurationManager.infiniteInvasion) if (ConfigurationManager.infiniteInvasion)
{ {
@ -101,8 +92,7 @@ namespace TShockAPI
} }
} }
void OnPreGetData(byte id, messageBuffer msg, int idx, int length, HandledEventArgs e) void OnPreGetData(byte id, messageBuffer msg, int idx, int length, HandledEventArgs e)
private void OnPreGetData(byte id, messageBuffer msg, int idx, int length, HandledEventArgs e)
{ {
if (Main.netMode != 2) { return; } if (Main.netMode != 2) { return; }
if (id == 0x1e && ConfigurationManager.permaPvp) if (id == 0x1e && ConfigurationManager.permaPvp)
@ -111,8 +101,7 @@ namespace TShockAPI
} }
} }
void GetData(GetDataEventArgs e) void GetData(GetDataEventArgs e)
private void GetData(GetDataEventArgs e)
{ {
if (Main.netMode != 2) { return; } if (Main.netMode != 2) { return; }
if (e.MsgID == 17) if (e.MsgID == 17)
@ -140,8 +129,7 @@ namespace TShockAPI
} }
} }
void OnGreetPlayer(int who, HandledEventArgs e) void OnGreetPlayer(int who, HandledEventArgs e)
private void OnGreetPlayer(int who, HandledEventArgs e)
{ {
if (Main.netMode != 2) { return; } if (Main.netMode != 2) { return; }
int plr = who; //legacy support int plr = who; //legacy support
@ -163,14 +151,11 @@ namespace TShockAPI
e.Handled = true; e.Handled = true;
} }
void OnChat(int ply, string msg, HandledEventArgs handler) void OnChat(int ply, string msg, HandledEventArgs handler)
private void OnChat(int ply, string msg, HandledEventArgs handler) {
{ if (Main.netMode != 2) { return; }
if (Main.netMode != 2) { return; } int x = (int)Main.player[ply].position.X;
int x = (int) Main.player[ply].position.X; int y = (int)Main.player[ply].position.Y;
int y = (int) Main.player[ply].position.Y;
int x = (int)Main.player[ply].position.X;
int y = (int)Main.player[ply].position.Y;
if (Tools.IsAdmin(ply)) if (Tools.IsAdmin(ply))
{ {
@ -240,8 +225,8 @@ namespace TShockAPI
//Main.UpdateT(); //Main.UpdateT();
NetMessage.SendData(18, -1, -1, "", 0, 0, Main.sunModY, Main.moonModY); NetMessage.SendData(18, -1, -1, "", 0, 0, Main.sunModY, Main.moonModY);
NetMessage.syncPlayers(); NetMessage.syncPlayers();
handler.Handled = true; handler.Handled = true;
handler.Handled = true; handler.Handled = true;
} }
if (msg == "/eater") if (msg == "/eater")
{ {
@ -298,40 +283,40 @@ namespace TShockAPI
if (msg.Length > 3 && msg.Substring(0, 3) == "/tp") if (msg.Length > 3 && msg.Substring(0, 3) == "/tp")
{ {
string player = msg.Remove(0, 3).Trim(); string player = msg.Remove(0, 3).Trim();
if (!(Tools.FindPlayer(player) == -1) && !(player == "")) if (!(Tools.FindPlayer(player) == -1) && !(player == ""))
if (Tools.FindPlayer(player) != -1 && player != "") if (Tools.FindPlayer(player) != -1 && player != "")
{ {
Teleport(ply, Main.player[Tools.FindPlayer(player)].position.X, Main.player[Tools.FindPlayer(player)].position.Y); Teleport(ply, Main.player[Tools.FindPlayer(player)].position.X, Main.player[Tools.FindPlayer(player)].position.Y);
Tools.SendMessage(ply, "Teleported to " + player); Tools.SendMessage(ply, "Teleported to " + player);
handler.Handled = true; handler.Handled = true;
} }
} }
if (msg.Length > 7 && msg.Substring(0, 7) == "/tphere") if (msg.Length > 7 && msg.Substring(0, 7) == "/tphere")
{ {
string player = msg.Remove(0, 7).Trim(); string player = msg.Remove(0, 7).Trim();
if (!(Tools.FindPlayer(player) == -1) && !(player == "")) if (!(Tools.FindPlayer(player) == -1) && !(player == ""))
if (Tools.FindPlayer(player) != -1 && player != "") if (Tools.FindPlayer(player) != -1 && player != "")
{
Teleport(Tools.FindPlayer(player), Main.player[ply].position.X, Main.player[ply].position.Y);
Tools.SendMessage(Tools.FindPlayer(player), "You were teleported to " + Tools.FindPlayer(ply) + ".");
Tools.SendMessage(ply, "You brought " + player + " here.");
handler.Handled = true;
}
}
if (msg.Length > 9 && msg.Substring(0, 9) == "/spawnmob")
{
string args = msg.Remove(0, 9).Trim();
int type = 0;
if (int.TryParse(args, out type))
{ {
Teleport(Tools.FindPlayer(player), Main.player[ply].position.X, Main.player[ply].position.Y); if (type >= 1 && type <= 43)
Tools.SendMessage(Tools.FindPlayer(player), "You were teleported to " + Tools.FindPlayer(ply) + "."); {
Tools.SendMessage(ply, "You brought " + player + " here."); var npcid = NPC.NewNPC(x, y, type, 0);
handler.Handled = true; Tools.Broadcast("NPC " + type.ToString() + " spawned with ID " + npcid.ToString());
handler.Handled = true;
}
} }
} }
if (msg.Length > 9 && msg.Substring(0,9) == "/spawnmob")
{
string args = msg.Remove(0, 9).Trim();
int type = 0;
if (int.TryParse(args, out type))
{
if (type >= 1 && type <= 43)
{
var npcid = NPC.NewNPC(x, y, type, 0);
Tools.Broadcast("NPC " + type.ToString() + " spawned with ID " + npcid.ToString());
handler.Handled = true;
}
}
}
} }
if (msg == "/help") if (msg == "/help")
{ {
@ -344,9 +329,7 @@ namespace TShockAPI
} }
} }
void OnJoin(int ply, AllowEventArgs handler)
void OnJoin(int ply, AllowEventArgs handler)
private void OnJoin(int ply, AllowEventArgs handler)
{ {
if (Main.netMode != 2) { return; } if (Main.netMode != 2) { return; }
string ip = Tools.GetRealIP((Convert.ToString(Netplay.serverSock[ply].tcpClient.Client.RemoteEndPoint))); string ip = Tools.GetRealIP((Convert.ToString(Netplay.serverSock[ply].tcpClient.Client.RemoteEndPoint)));
@ -360,25 +343,20 @@ namespace TShockAPI
} }
} }
void OnLoadContent(Microsoft.Xna.Framework.Content.ContentManager obj) void OnLoadContent(Microsoft.Xna.Framework.Content.ContentManager obj)
private void OnLoadContent(Microsoft.Xna.Framework.Content.ContentManager obj)
{ {
} }
void OnPreInit() void OnPreInit()
private void OnPreInit()
{ {
FileTools.SetupConfig(); FileTools.SetupConfig();
} }
void OnPostInit() void OnPostInit()
private void OnPostInit()
{ {
} }
void OnUpdate(GameTime time) void OnUpdate(GameTime time)
private void OnUpdate(GameTime time)
{ {
if (Main.netMode != 2) { return; } if (Main.netMode != 2) { return; }
for (uint i = 0; i < Main.maxPlayers; i++) for (uint i = 0; i < Main.maxPlayers; i++)
@ -435,29 +413,27 @@ namespace TShockAPI
} }
} }
public static void Teleport(int ply, int x, int y)
public static void Teleport(int ply, int x, int y) {
{ Main.player[ply].velocity = new Vector2(0, 0);
Main.player[ply].velocity = new Vector2(0, 0); NetMessage.SendData(0x0d, -1, -1, "", ply);
NetMessage.SendData(0x0d, -1, -1, "", ply); Main.player[ply].position.X = x;
Main.player[ply].position.X = x; Main.player[ply].position.Y = y - 0x2a;
Main.player[ply].position.Y = y - 0x2a; NetMessage.SendData(0x0d, -1, -1, "", ply);
NetMessage.SendData(0x0d, -1, -1, "", ply); }
}
public static void Teleport(int ply, float x, float y) public static void Teleport(int ply, float x, float y)
{ {
Main.player[ply].position.X = x; Main.player[ply].position.X = x;
Main.player[ply].position.Y = y - 0x2a; Main.player[ply].position.Y = y - 0x2a;
NetMessage.SendData(0x0d, -1, -1, "", ply); NetMessage.SendData(0x0d, -1, -1, "", ply);
int oldx = Main.player[ply].SpawnX; int oldx = Main.player[ply].SpawnX;
int oldy = Main.player[ply].SpawnY; int oldy = Main.player[ply].SpawnY;
Main.player[ply].SpawnX = (int)(x / 16); Main.player[ply].SpawnX = (int)(x / 16);
Main.player[ply].SpawnY = (int)((y - 0x2a) / 16); Main.player[ply].SpawnY = (int)((y - 0x2a) / 16);
NetMessage.SendData(0xC, -1, -1, "", ply); NetMessage.SendData(0xC, -1, -1, "", ply);
Main.player[ply].SpawnX = oldx; Main.player[ply].SpawnX = oldx;
Main.player[ply].SpawnY = oldy; Main.player[ply].SpawnY = oldy;
} }
public static void StartInvasion() public static void StartInvasion()
@ -511,7 +487,6 @@ namespace TShockAPI
Tools.Broadcast(ConfigurationManager.killCount + " copies of Call of Duty smashed."); Tools.Broadcast(ConfigurationManager.killCount + " copies of Call of Duty smashed.");
break; break;
} }
} }
} }
} }