public HeroSpawn(ClientInfo player, int playerId) : base(PacketCmdS2C.PKT_S2C_HeroSpawn) { buffer.Write((int)0); // ??? buffer.Write((int)player.getChampion().getNetId()); buffer.Write((int)playerId); // player Id buffer.Write((byte)40); // netNodeID ? buffer.Write((byte)0); // botSkillLevel Beginner=0 Intermediate=1 if (player.getTeam() == TeamId.TEAM_BLUE) { buffer.Write((byte)1); // teamNumber BotTeam=2,3 Blue=Order=1 Purple=Chaos=0 } else { buffer.Write((byte)0); // teamNumber BotTeam=2,3 Blue=Order=1 Purple=Chaos=0 } buffer.Write((byte)0); // isBot //buffer.Write((short)0; // botRank (deprecated as of 4.18) buffer.Write((byte)0); // spawnPosIndex buffer.Write((int)player.getSkinNo()); foreach (var b in Encoding.Default.GetBytes(player.getName())) buffer.Write((byte)b); buffer.fill(0, 128 - player.getName().Length); foreach (var b in Encoding.Default.GetBytes(player.getChampion().getType())) buffer.Write((byte)b); buffer.fill(0, 40 - player.getChampion().getType().Length); buffer.Write((float)0.0f); // deathDurationRemaining buffer.Write((float)0.0f); // timeSinceDeath buffer.Write((int)0); // UNK (4.18) buffer.Write((byte)0); // bitField }
unsafe bool handleGameNumber(ClientInfo client, ENetPeer* peer, ENetPacket* packet) { var world = new WorldSendGameNumber(1, client.getName()); return PacketHandlerManager.getInstace().sendPacket(peer, world, Channel.CHL_S2C); }