Exemplo n.º 1
0
        public bool GainXp(int i)
        {
            if (Level == 10)
            {
                return(false);
            }
            int num = Asda2PetMgr.ExpTable[Template.Rank][Template.Rarity][Level - 1];

            if (Level == MaxLevel && Expirience >= num)
            {
                Expirience = (short)num;
                return(false);
            }

            Expirience += (short)i;
            if (Level == MaxLevel)
            {
                if (Expirience > num)
                {
                    Expirience = (short)num;
                }
                Asda2PetHandler.SendUpdatePetExpResponse(Owner.Client, this, false);
                return(true);
            }

            if (Expirience > num)
            {
                RemoveStatsFromOwner();
                ++Level;
                AddStatsToOwner();
                Asda2CharacterHandler.SendUpdateStatsResponse(Owner.Client);
                Asda2CharacterHandler.SendUpdateStatsOneResponse(Owner.Client);
                GlobalHandler.UpdateCharacterPetInfoToArea(Owner);
                Asda2PetHandler.SendUpdatePetHungerResponse(Owner.Client, this);
            }

            Asda2PetHandler.SendUpdatePetExpResponse(Owner.Client, this, true);
            return(true);
        }
Exemplo n.º 2
0
        public bool GainXp(int i)
        {
            if (this.Level == (byte)10)
            {
                return(false);
            }
            int num = Asda2PetMgr.ExpTable[this.Template.Rank][this.Template.Rarity][(int)this.Level - 1];

            if ((int)this.Level == (int)this.MaxLevel && (int)this.Expirience >= num)
            {
                this.Expirience = (short)num;
                return(false);
            }

            this.Expirience += (short)i;
            if ((int)this.Level == (int)this.MaxLevel)
            {
                if ((int)this.Expirience > num)
                {
                    this.Expirience = (short)num;
                }
                Asda2PetHandler.SendUpdatePetExpResponse(this.Owner.Client, this, false);
                return(true);
            }

            if ((int)this.Expirience > num)
            {
                this.RemoveStatsFromOwner();
                ++this.Level;
                this.AddStatsToOwner();
                Asda2CharacterHandler.SendUpdateStatsResponse(this.Owner.Client);
                Asda2CharacterHandler.SendUpdateStatsOneResponse(this.Owner.Client);
                GlobalHandler.UpdateCharacterPetInfoToArea(this.Owner);
                Asda2PetHandler.SendUpdatePetHungerResponse(this.Owner.Client, this);
            }

            Asda2PetHandler.SendUpdatePetExpResponse(this.Owner.Client, this, true);
            return(true);
        }