Merge branch 'master' of git.assembla.com:terraria

Conflicts:
	TShockAPI/TShock.cs
This commit is contained in:
high 2011-06-01 04:07:27 -04:00
commit da882cc9db

View file

@ -1,10 +1,17 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using Microsoft.Xna.Framework;
using System.Net;
using Microsoft.Xna.Framework;
using Terraria;
using TerrariaAPI;
using TerrariaAPI.Hooks;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System.Net;
using TShockAPI;
namespace TShockAPI
{
@ -45,8 +52,9 @@ namespace TShockAPI
get { return "The administration modification of the future."; }
}
public TShock(Main game)
: base(game)
public TShock(Main game) : base (game)
public TShock(Main game)
: base(game)
{
}
@ -80,7 +88,8 @@ namespace TShockAPI
* Hooks:
* */
private void NpcHooks_OnStrikeNpc(NpcStrikeEventArgs e)
void NpcHooks_OnStrikeNpc(NpcStrikeEventArgs e)
private void NpcHooks_OnStrikeNpc(NpcStrikeEventArgs e)
{
if (ConfigurationManager.infiniteInvasion)
{
@ -92,7 +101,8 @@ namespace TShockAPI
}
}
private 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 (id == 0x1e && ConfigurationManager.permaPvp)
@ -101,7 +111,8 @@ namespace TShockAPI
}
}
private void GetData(GetDataEventArgs e)
void GetData(GetDataEventArgs e)
private void GetData(GetDataEventArgs e)
{
if (Main.netMode != 2) { return; }
if (e.MsgID == 17)
@ -129,7 +140,8 @@ namespace TShockAPI
}
}
private void OnGreetPlayer(int who, HandledEventArgs e)
void OnGreetPlayer(int who, HandledEventArgs e)
private void OnGreetPlayer(int who, HandledEventArgs e)
{
if (Main.netMode != 2) { return; }
int plr = who; //legacy support
@ -151,11 +163,14 @@ namespace TShockAPI
e.Handled = true;
}
private void OnChat(int ply, string msg, HandledEventArgs handler)
{
if (Main.netMode != 2) { return; }
int x = (int)Main.player[ply].position.X;
int y = (int)Main.player[ply].position.Y;
void OnChat(int ply, string msg, HandledEventArgs handler)
private void OnChat(int ply, string msg, HandledEventArgs handler)
{
if (Main.netMode != 2) { return; }
int x = (int) Main.player[ply].position.X;
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))
{
@ -225,7 +240,8 @@ namespace TShockAPI
//Main.UpdateT();
NetMessage.SendData(18, -1, -1, "", 0, 0, Main.sunModY, Main.moonModY);
NetMessage.syncPlayers();
handler.Handled = true;
handler.Handled = true;
handler.Handled = true;
}
if (msg == "/eater")
{
@ -282,7 +298,8 @@ namespace TShockAPI
if (msg.Length > 3 && msg.Substring(0, 3) == "/tp")
{
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 != "")
{
Teleport(ply, Main.player[Tools.FindPlayer(player)].position.X, Main.player[Tools.FindPlayer(player)].position.Y);
Tools.SendMessage(ply, "Teleported to " + player);
@ -292,7 +309,8 @@ namespace TShockAPI
if (msg.Length > 7 && msg.Substring(0, 7) == "/tphere")
{
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 != "")
{
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) + ".");
@ -300,6 +318,20 @@ namespace TShockAPI
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")
{
@ -312,7 +344,9 @@ namespace TShockAPI
}
}
private void OnJoin(int ply, AllowEventArgs handler)
void OnJoin(int ply, AllowEventArgs handler)
private void OnJoin(int ply, AllowEventArgs handler)
{
if (Main.netMode != 2) { return; }
string ip = Tools.GetRealIP((Convert.ToString(Netplay.serverSock[ply].tcpClient.Client.RemoteEndPoint)));
@ -326,20 +360,25 @@ namespace TShockAPI
}
}
private 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)
{
}
private void OnPreInit()
void OnPreInit()
private void OnPreInit()
{
FileTools.SetupConfig();
}
private void OnPostInit()
void OnPostInit()
private void OnPostInit()
{
}
private void OnUpdate(GameTime time)
void OnUpdate(GameTime time)
private void OnUpdate(GameTime time)
{
if (Main.netMode != 2) { return; }
for (uint i = 0; i < Main.maxPlayers; i++)
@ -396,15 +435,29 @@ namespace TShockAPI
}
}
public static void Teleport(int ply, int x, int y)
{
Main.player[ply].velocity = new Vector2(0, 0);
NetMessage.SendData(0x0d, -1, -1, "", ply);
Main.player[ply].position.X = x;
Main.player[ply].position.Y = y - 0x2a;
NetMessage.SendData(0x0d, -1, -1, "", ply);
}
public static void Teleport(int ply, float x, float y)
{
int oldx = Main.player[ply].SpawnX;
int oldy = Main.player[ply].SpawnY;
Main.player[ply].SpawnX = (int)(x / 16);
Main.player[ply].SpawnY = (int)((y - 0x2a) / 16);
NetMessage.SendData(0xC, -1, -1, "", ply);
Main.player[ply].SpawnX = oldx;
Main.player[ply].SpawnY = oldy;
Main.player[ply].position.X = x;
Main.player[ply].position.Y = y - 0x2a;
NetMessage.SendData(0x0d, -1, -1, "", ply);
int oldx = Main.player[ply].SpawnX;
int oldy = Main.player[ply].SpawnY;
Main.player[ply].SpawnX = (int)(x / 16);
Main.player[ply].SpawnY = (int)((y - 0x2a) / 16);
NetMessage.SendData(0xC, -1, -1, "", ply);
Main.player[ply].SpawnX = oldx;
Main.player[ply].SpawnY = oldy;
}
public static void StartInvasion()
@ -458,6 +511,7 @@ namespace TShockAPI
Tools.Broadcast(ConfigurationManager.killCount + " copies of Call of Duty smashed.");
break;
}
}
}
}