Add NPCHome hook
This commit is contained in:
parent
f04da74f8b
commit
cc51e95eba
1 changed files with 28 additions and 0 deletions
|
|
@ -472,6 +472,31 @@ namespace TShockAPI
|
||||||
return args.Handled;
|
return args.Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class NPCHomeChangeEventArgs : HandledEventArgs
|
||||||
|
{
|
||||||
|
public short ID { get; set; }
|
||||||
|
public short X { get; set; }
|
||||||
|
public short Y { get; set; }
|
||||||
|
public byte Homeless { get; set; }
|
||||||
|
}
|
||||||
|
public static HandlerList<NPCHomeChangeEventArgs> NPCHome;
|
||||||
|
|
||||||
|
private static bool OnUpdateNPCHome(short id, short x, short y, byte homeless)
|
||||||
|
{
|
||||||
|
if (NPCHome == null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
var args = new NPCHomeChangeEventArgs
|
||||||
|
{
|
||||||
|
ID = id,
|
||||||
|
X = x,
|
||||||
|
Y = y,
|
||||||
|
Homeless = homeless,
|
||||||
|
};
|
||||||
|
NPCHome.Invoke(null, args);
|
||||||
|
return args.Handled;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
public static void InitGetDataHandler()
|
public static void InitGetDataHandler()
|
||||||
{
|
{
|
||||||
|
|
@ -1711,6 +1736,9 @@ namespace TShockAPI
|
||||||
var y = args.Data.ReadInt16();
|
var y = args.Data.ReadInt16();
|
||||||
var homeless = args.Data.ReadInt8();
|
var homeless = args.Data.ReadInt8();
|
||||||
|
|
||||||
|
if (OnUpdateNPCHome(id, x, y, homeless))
|
||||||
|
return true;
|
||||||
|
|
||||||
if (!args.Player.Group.HasPermission(Permissions.movenpc))
|
if (!args.Player.Group.HasPermission(Permissions.movenpc))
|
||||||
{
|
{
|
||||||
args.Player.SendMessage("You do not have permission to relocate NPCs.", Color.Red);
|
args.Player.SendMessage("You do not have permission to relocate NPCs.", Color.Red);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue