private void OnGetData(GetDataEventArgs e) { if (enabled && !e.Handled) { byte who = 255; if (e.MsgID == PacketTypes.PlayerDeathV2) { using (BinaryReader br = new BinaryReader(new MemoryStream(e.Msg.readBuffer, e.Index, e.Length))) { who = br.ReadByte(); invp[who].death = true; } InvPlayer plr = null; foreach (var i in invp) { if (i.who == (int)who) { plr = i; } } if (plr == null) { return; } invp[who].aether.Clear(); plr.DropRand(who, dropOpt); } else if (who != 255 && e.MsgID == PacketTypes.ItemDrop) { foreach (Item i in invp[who].keep) { foreach (Item j in Main.item) { if (j.IsTheSameAs(i)) { j.active = false; j.SetDefaults(0); break; } } } } } }