public static ProceduralSword NewSword(Mod mod, Vector2 position, SwordHilt hilt, SwordBlade blade, SwordAccent accent, float dps, int enemyDef) { if (hilt == null) { kRPG.LogMessage("Ummm.... Why is the hilt null?"); } if (blade == null) { kRPG.LogMessage("Ummm.... Why is the blade null?"); } int id = Item.NewItem(position, mod.GetItem("ProceduralSword").item.type); ProceduralSword sword = (ProceduralSword)Main.item[id].modItem; sword.Hilt = hilt; sword.Blade = blade; sword.Accent = accent; sword.Dps = dps; sword.EnemyDef = enemyDef; sword.Initialize(); SwordInitPacket.Write(id, blade.Type, hilt.Type, accent.Type, dps, enemyDef); return(sword); }
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; } }