public static ProceduralStaff DropStaff(Mod mod, Vector2 position, Staff staffStaff, StaffGem staffGem, StaffOrnament staffOrnament, float dps, int enemyDef) { int id = Item.NewItem(position, mod.GetItem("ProceduralStaff").item.type); ProceduralStaff staff = (ProceduralStaff)Main.item[id].modItem; staff.Staff = staffStaff; staff.Gem = staffGem; staff.Ornament = staffOrnament; staff.Dps = dps; staff.EnemyDef = enemyDef; staff.Initialize(); StaffInitPacket.Write(id, staffStaff.Type, staffGem.Type, staffOrnament.Type, dps, enemyDef); return(staff); }
public override void HandlePacket(BinaryReader reader, int whoAmI) { Message msg = (Message)reader.ReadByte(); #if DEBUG LogMessage($"Handling {msg}"); #endif switch (msg) { //case Message.InitProjEleDmg: // if (!Main.projectile.IndexInRange((int)tags[DataTag.projId])) break; // Projectile p = Main.projectile[(int)tags[DataTag.projId]]; // try // { // kProjectile proj = p.GetGlobalProjectile<kProjectile>(); // proj.elementalDamage = new Dictionary<ELEMENT, int>() // { // { ELEMENT.FIRE, (int)tags[DataTag.fire] }, // { ELEMENT.COLD, (int)tags[DataTag.cold] }, // { ELEMENT.LIGHTNING, (int)tags[DataTag.lightning] }, // { ELEMENT.SHADOW, (int)tags[DataTag.shadow] } // }; // } // catch (SystemException e) // { // Main.NewText(e.ToString()); // } // break; case Message.NpcEleDmg: NPCEleDmgPacket.Read(reader); break; case Message.PrefixNpc: PrefixNPCPacket.Read(reader); break; case Message.SyncStats: SyncStatsPacket.Read(reader); break; case Message.SyncLevel: SyncLevelPacket.Read(reader); kRPG.PlayerEnteredWorld = true; break; case Message.CreateProjectile: CreateProjectilePacket.Read(reader); break; case Message.AddXp: AddXPPacket.Read(reader); break; //case Message.SyncSpear: // SyncSpearPacket.Read(reader); // break; case Message.SwordInit: SwordInitPacket.Read(reader); break; case Message.StaffInit: StaffInitPacket.Read(reader); break; case Message.BowInit: BowInitPacket.Read(reader); break; case Message.SyncHit: SyncHitPacket.Read(reader); break; case Message.SyncCritHit: SyncCritHitPacket.Read(reader); break; } }