diff --git a/TShockAPI/Bouncer.cs b/TShockAPI/Bouncer.cs
index 223de05b..b71c7de8 100644
--- a/TShockAPI/Bouncer.cs
+++ b/TShockAPI/Bouncer.cs
@@ -49,6 +49,7 @@ namespace TShockAPI
GetDataHandlers.PlayerAnimation += OnPlayerAnimation;
GetDataHandlers.NPCStrike += OnNPCStrike;
GetDataHandlers.ItemDrop += OnItemDrop;
+ GetDataHandlers.NPCAddBuff += OnNPCAddBuff;
GetDataHandlers.PlayerBuff += OnPlayerBuff;
GetDataHandlers.ChestItemChange += OnChestItemChange;
GetDataHandlers.NPCHome += OnUpdateNPCHome;
@@ -453,6 +454,37 @@ namespace TShockAPI
return;
}
}
+
+ /// Handles NPCAddBuff events.
+ /// The object that triggered the event.
+ /// The packet arguments that the event has.
+ internal void OnNPCAddBuff(object sender, GetDataHandlers.NPCAddBuffEventArgs args)
+ {
+ short id = args.ID;
+ byte type = args.Type;
+ short time = args.Time;
+
+ if (id >= Main.npc.Length)
+ {
+ args.Handled = true;
+ return;
+ }
+
+ NPC npc = Main.npc[id];
+
+ if (npc == null)
+ {
+ args.Handled = true;
+ return;
+ }
+
+ if (args.Player.IsBeingDisabled())
+ {
+ args.Player.SendData(PacketTypes.NpcAddBuff, "", id);
+ args.Handled = true;
+ return;
+ }
+ }
/// Handles Buff events.
/// The object that triggered the event.
diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs
index b3769e4e..6673dd64 100644
--- a/TShockAPI/GetDataHandlers.cs
+++ b/TShockAPI/GetDataHandlers.cs
@@ -2677,8 +2677,7 @@ namespace TShockAPI
if (OnNPCAddBuff(args.Player, args.Data, id, type, time))
return true;
-
- args.Player.SendData(PacketTypes.NpcAddBuff, "", id);
+
return true;
}