Add NPCStrike hook
This commit is contained in:
parent
45bf75c7b7
commit
13b8326a6e
1 changed files with 30 additions and 0 deletions
|
|
@ -576,6 +576,33 @@ namespace TShockAPI
|
|||
return args.Handled;
|
||||
}
|
||||
|
||||
public class NPCStrikeEventArgs : HandledEventArgs
|
||||
{
|
||||
public byte ID { get; set; }
|
||||
public byte Direction { get; set; }
|
||||
public short Damage { get; set; }
|
||||
public byte PVP { get; set; }
|
||||
public byte Critical { get; set; }
|
||||
}
|
||||
public static HandlerList<NPCStrikeEventArgs> NPCStrike;
|
||||
|
||||
private static bool OnNPCStrike(byte id, byte dir, short dmg, byte pvp, byte crit)
|
||||
{
|
||||
if (NPCStrike == null)
|
||||
return false;
|
||||
|
||||
var args = new NPCStrikeEventArgs
|
||||
{
|
||||
ID = id,
|
||||
Direction = dir,
|
||||
Damage = dmg,
|
||||
PVP = pvp,
|
||||
Critical = crit,
|
||||
};
|
||||
NPCStrike.Invoke(null, args);
|
||||
return args.Handled;
|
||||
}
|
||||
|
||||
#endregion
|
||||
public static void InitGetDataHandler()
|
||||
{
|
||||
|
|
@ -1993,6 +2020,9 @@ namespace TShockAPI
|
|||
var pvp = args.Data.ReadInt8();
|
||||
var crit = args.Data.ReadInt8();
|
||||
|
||||
if (OnNPCStrike(id, direction, dmg, pvp, crit))
|
||||
return true;
|
||||
|
||||
if (Main.npc[id] == null)
|
||||
return true;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue