public void CreatureAppear(Creature creature) { var builder = new PacketBuilder(); builder.AddPacketId(Packets.SendToClient.ItemOrCreatureAppearOnTile); builder.AddPosition(creature.Position); builder.AddCreature(_player, creature); builder.Send(_player); }
private void AddTileDescriptionToBuilder(PacketBuilder builder, Tile tile, bool isStep) { var count = 0; if (tile.Ground != null) { builder.AddItem(tile.Ground); count++; } if (tile.Items?.Count > 0) { for (int i = tile.Items.Count - 1; i > -1 && count < 10; i--) { builder.AddItem(tile.Items[i]); count++; } } var creatures = IoC.Game.GetCreaturesOnTile(tile.Position); if (creatures == null) { return; } for (int i = 0; i < creatures.Count && count < 10; i++) { if (creatures[i].Id == _player.Id && isStep) { builder.AddPlayerMove(_player); } else { builder.AddCreature(_player, creatures[i]); } count++; } }