Example #1
0
        private void Handle(WorldClient client, GMCreateMobPacket packet)
        {
            for (int i = 0; i < packet.NumberOfMobs; i++)
            {
                // TODO: calculate move area.
                var moveArea = new MoveArea(_movementManager.PosX > 10 ? _movementManager.PosX - 10 : 1, _movementManager.PosX + 10, _movementManager.PosY > 10 ? _movementManager.PosY - 10 : _movementManager.PosY, _movementManager.PosY + 10, _movementManager.PosZ > 10 ? _movementManager.PosZ - 10 : 1, _movementManager.PosZ + 10);

                var mob = _mobFactory.CreateMob(packet.MobId, false, moveArea);

                _mapProvider.Map.AddMob(mob);
            }
        }
Example #2
0
        public void HandleUsl(WorldClient client, GMCreateMobPacket packet)
        {
            if (!_gameSession.IsAdmin)
            {
                return;
            }

            if (!_databasePreloader.Mobs.ContainsKey(packet.MobId))
            {
                _packetFactory.SendGmCommandError(client, PacketType.GM_SHAIYA_US_CREATE_MOB);
                return;
            }

            Handle(client, packet);

            _packetFactory.SendGmCommandSuccess(client);
        }
        private void HandleGMCreateMob(GMCreateMobPacket gmCreateMobPacket)
        {
            if (!_databasePreloader.Mobs.ContainsKey(gmCreateMobPacket.MobId))
            {
                _packetsHelper.SendGmCommandError(Client, PacketType.GM_CREATE_MOB);
                return;
            }

            for (int i = 0; i < gmCreateMobPacket.NumberOfMobs; i++)
            {
                // TODO: calculate move area.
                var moveArea = new MoveArea(PosX > 10 ? PosX - 10 : 1, PosX + 10, PosY > 10 ? PosY - 10 : PosY, PosY + 10, PosZ > 10 ? PosZ - 10 : 1, PosZ + 10);

                var mob = _mobFactory.CreateMob(gmCreateMobPacket.MobId, false, moveArea, Map);

                Map.AddMob(mob);
            }

            _packetsHelper.SendGmCommandSuccess(Client);
        }