public void HandleUs(WorldClient client, GMCreateNpcPacket packet) { if (!_gameSession.IsAdmin) { return; } if (!_definitionsPreloder.NPCs.ContainsKey((packet.Type, packet.TypeId))) { _packetFactory.SendGmCommandError(client, PacketType.GM_SHAIYA_US_CREATE_NPC); return; } Handle(client, packet); }
private void Handle(WorldClient client, GMCreateNpcPacket packet) { var moveCoordinates = new List <(float, float, float, ushort)>() { (_movementManager.PosX, _movementManager.PosY - 1, _movementManager.PosZ, _movementManager.Angle) }; var npc = _npcFactory.CreateNpc((packet.Type, packet.TypeId), moveCoordinates, _mapProvider.Map); npc.Init(_mapProvider.Map.GenerateId()); npc.Map = _mapProvider.Map; _mapProvider.Map.AddNPC(_gameWorld.Players[_gameSession.CharId].CellId, npc); _packetFactory.SendGmCommandSuccess(client); }