예제 #1
0
        public GameClient()
        {
            IsAIBot = true;
            this.socketClient = new ProjectX_V3_Lib.Network.SocketClient();
            socketClient.Owner = this;
            socketClient.Crypto = new ProjectX_V3_Lib.Cryptography.GameCrypto(Program.Config.ReadString("GameKey").GetBytes());

            _screen = new ProjectX_V3_Game.Core.Screen(this);
            _baseentity = new BaseEntity(this);
            _maxhp = 0;
            _maxmp = 0;

            _inventory = new ProjectX_V3_Game.Data.Inventory(this);
            _equipments = new ProjectX_V3_Game.Data.Equipments(this);
            _trade = new ProjectX_V3_Game.Data.TradeData();

            _spelldata = new ProjectX_V3_Game.Data.SpellData(this);

            _subclasses = new SubClasses();

            Warehouses = new ConcurrentDictionary<ushort, ProjectX_V3_Game.Data.Warehouse>();
            foreach (ushort whID in whids)
            {
                if (!Warehouses.TryAdd(whID, new Data.Warehouse(this, whID)))
                    throw new Exception("Failed to add Warehouse...");
            }
            TournamentScore = new ProjectX_V3_Game.Tournaments.TournamentScore();
            TournamentInfo = new ProjectX_V3_Game.Tournaments.TournamentInfo(this);

            Arena = new ProjectX_V3_Game.Data.ArenaInfo(this);
            Pets = new ConcurrentDictionary<int, BattlePet>();

            Permission = Enums.PlayerPermission.Normal;
        }
예제 #2
0
        public void SetGears(Data.Equipments equips)
        {
            if (equips.Contains(Enums.ItemLocation.Head))
            {
                WriteUInt32(equips[Enums.ItemLocation.Head].UID, 32);
            }
            if (equips.Contains(Enums.ItemLocation.Necklace))
            {
                WriteUInt32(equips[Enums.ItemLocation.Necklace].UID, 36);
            }
            if (equips.Contains(Enums.ItemLocation.Armor))
            {
                WriteUInt32(equips[Enums.ItemLocation.Armor].UID, 40);
            }

            if (equips.MaskedRightHand != null)
            {
                WriteUInt32(equips.MaskedRightHand.UID, 44);
            }
            else if (equips.Contains(Enums.ItemLocation.WeaponR))
            {
                WriteUInt32(equips[Enums.ItemLocation.WeaponR].UID, 44);
            }

            if (equips.MaskedLeftHand != null)
            {
                WriteUInt32(equips.MaskedLeftHand.UID, 48);
            }
            else if (equips.Contains(Enums.ItemLocation.WeaponL))
            {
                WriteUInt32(equips[Enums.ItemLocation.WeaponL].UID, 48);
            }

            if (equips.Contains(Enums.ItemLocation.Ring))
            {
                WriteUInt32(equips[Enums.ItemLocation.Ring].UID, 52);
            }
            if (equips.Contains(Enums.ItemLocation.Bottle))
            {
                WriteUInt32(equips[Enums.ItemLocation.Bottle].UID, 56);
            }
            if (equips.Contains(Enums.ItemLocation.Boots))
            {
                WriteUInt32(equips[Enums.ItemLocation.Boots].UID, 60);
            }

            if (equips.MaskedGarment != null)
            {
                WriteUInt32(equips.MaskedGarment.UID, 64);
            }
            else if (equips.Contains(Enums.ItemLocation.Garment))
            {
                WriteUInt32(equips[Enums.ItemLocation.Garment].UID, 64);
            }

            //	if (equips.Contains(Enums.ItemLocation.Fan))
            //		WriteUInt32(equips[Enums.ItemLocation.Fan].UID, 68);
            //	if (equips.Contains(Enums.ItemLocation.Tower))
            //WriteUInt32(equips[Enums.ItemLocation.Tower].UID, 72);
            if (equips.Contains(Enums.ItemLocation.SteedArmor))
            {
                WriteUInt32(equips[Enums.ItemLocation.SteedArmor].UID, 76);
            }
            else if (equips.Contains(Enums.ItemLocation.Steed))
            {
                WriteUInt32(equips[Enums.ItemLocation.Steed].UID, 76);
            }
            //if (equips.Contains(Enums.ItemLocation.Head))
            //	WriteUInt32(equips[Enums.ItemLocation.Head].UID, 80);
        }