Example #1
0
        /// <summary>
        /// Update all skills and add new for current level
        /// </summary>
        /// <param name="player"></param>
        public override void OnLevelUp(GamePlayer player, int previousLevel)
        {
            base.OnLevelUp(player, previousLevel);

            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Flexible));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Flexible));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Shields));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Parry));

            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Soulrending));
            player.AddSpellLine(SkillBase.GetSpellLine("Soulrending"));

            if (player.Level >= 9)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 1));
            }
            if (player.Level >= 10)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.AlbArmor, ArmorLevel.Chain));
            }
            if (player.Level >= 15)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 1));
                player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
            }
            if (player.Level >= 17)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 2));
                player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Large));
            }
            if (player.Level >= 30)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 3));
            }
        }
Example #2
0
		/// <summary>
		/// Update all skills and add new for current level
		/// </summary>
		/// <param name="player"></param>
		public override void OnLevelUp(GamePlayer player) 
		{
			
			
			base.OnLevelUp(player);

			// Specializations
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Blades));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Blunt));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Music));

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Bard Music"));
			player.AddSpellLine(SkillBase.GetSpellLine("Bard Nurture Spec"));
			player.AddSpellLine(SkillBase.GetSpellLine("Regrowth Bard Spec"));
			player.AddSpellLine(SkillBase.GetSpellLine("Bard Music Spec"));

			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Instruments));

			if (player.Level >= 10) 
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 1));
			}
			if (player.Level >= 15) 
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.HibArmor, ArmorLevel.Reinforced));
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 25) 
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 2));
			}
		}
Example #3
0
		/// <summary>
		/// Update all skills and add new for current level
		/// </summary>
		/// <param name="player"></param>
		public override void OnLevelUp(GamePlayer player, int previousLevel)
		{
			base.OnLevelUp(player, previousLevel);

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Staff));
			player.AddSpellLine(SkillBase.GetSpellLine("Rebirth"));
			player.AddSpellLine(SkillBase.GetSpellLine("Friar Enhancement Spec"));
			player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 1));

			if (player.Level >=10)
			{
				player.AddSpecialization(SkillBase.GetSpecialization(Specs.Parry));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			// EVADE
			if (player.Level >= 33)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 5));
			}
			else if (player.Level >= 22)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 4));
			}
			else if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 3));
			}
			else if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 2));
			}
		}
        public override void OnLevelUp(GamePlayer player, int previousLevel)
        {
            base.OnLevelUp(player, previousLevel);

            // Mystic

            // Specializations
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Darkness));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Suppression));

            // Spell lines
            player.AddSpellLine(SkillBase.GetSpellLine("Darkness"));
            player.AddSpellLine(SkillBase.GetSpellLine("Suppression"));

            // Abilities
            player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
            player.AddAbility(SkillBase.GetAbility(Abilities.MidArmor, ArmorLevel.Cloth));
            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));

            // Bonedancer

            // Specializations
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.BoneArmy));

            // Spell lines
            player.AddSpellLine(SkillBase.GetSpellLine("Bone Army"));
            player.AddSpellLine(SkillBase.GetSpellLine("Bone Mystics"));
            player.AddSpellLine(SkillBase.GetSpellLine("Bone Guardians"));
            player.AddSpellLine(SkillBase.GetSpellLine("Bone Warriors"));

            // Abilities
            player.AddAbility(SkillBase.GetAbility(Abilities.Quickcast));
        }
Example #5
0
		public override void OnLevelUp(GamePlayer player) 
		{
			base.OnLevelUp(player);

			//Remove
			player.RemoveSpellLine("Darkness");
			player.RemoveSpellLine("Suppression");
			player.RemoveSpecialization(Specs.Darkness);
			player.RemoveSpecialization(Specs.Suppression);
		
			// Specializations
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Cursing));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Hexing));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Witchcraft));
						

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Cursing"));
			player.AddSpellLine(SkillBase.GetSpellLine("Cursing Spec"));
			player.AddSpellLine(SkillBase.GetSpellLine("Hexing"));
			player.AddSpellLine(SkillBase.GetSpellLine("Witchcraft"));

			if (player.Level >= 6)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
		}
Example #6
0
        /// <summary>
        /// Update all skills and add new for current level
        /// </summary>
        /// <param name="player"></param>
        public override void OnLevelUp(GamePlayer player, int previousLevel)
        {
            base.OnLevelUp(player, previousLevel);

            player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Large));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Shields));

            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_LargeWeapons));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Large_Weapons));

            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Valor));
            player.AddSpellLine(SkillBase.GetSpellLine("Valor"));

            if (player.Level >= 15)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 1));
                player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
            }
            if (player.Level >= 18)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Intercept));
            }
            if (player.Level >= 20)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.HibArmor, ArmorLevel.Scale));
            }
            if (player.Level >= 25)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 2));
            }
        }
Example #7
0
		/// <summary>
		/// Update all skills and add new for current level
		/// </summary>
		/// <param name="player"></param>
		public override void OnLevelUp(GamePlayer player) 
		{
			base.OnLevelUp(player);

			// Specializations
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Blades));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Blunt));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Shields));

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Nurture Warden Spec"));
			player.AddSpellLine(SkillBase.GetSpellLine("Regrowth Warden Spec"));

			if (player.Level >= 5) 
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Large));
			}
			if (player.Level >= 7) 
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Shortbows));
			}
			if (player.Level >= 10) 
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.HibArmor, ArmorLevel.Reinforced));
			}
			if (player.Level >= 15)
			{
				player.AddSpecialization(SkillBase.GetSpecialization(Specs.Parry));
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.HibArmor, ArmorLevel.Scale));
			}
		}
Example #8
0
        /// <summary>
        /// Update all skills and add new for current level
        /// </summary>
        /// <param name="player"></param>
        public override void OnLevelUp(GamePlayer player)
        {
            base.OnLevelUp(player);

            player.AddAbility(SkillBase.GetAbility(Abilities.HibArmor, ArmorLevel.Leather));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Piercing));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Dementia));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.ShadowMastery));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.VampiiricEmbrace));
            player.AddSpellLine(SkillBase.GetSpellLine("Dementia"));
            player.AddSpellLine(SkillBase.GetSpellLine("Shadow Mastery"));
            player.AddSpellLine(SkillBase.GetSpellLine("Vampiiric Embrace"));
            player.AddAbility(SkillBase.GetAbility(Abilities.VampiirBolt, 0));

            if (player.Level >= 6)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirConstitution));
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirDexterity));
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirQuickness));
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirStrength));
                player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
            }
            if (player.Level >= 10)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.SafeFall, 1));
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirBolt, 1));
            }
            if (player.Level >= 20)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.SafeFall, 2));
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirBolt, 2));
            }
            if (player.Level >= 25)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Climbing));
            }
            if (player.Level >= 30)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.SafeFall, 3));
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirBolt, 3));
            }
            if (player.Level >= 35)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirBolt, 4));
            }
            if (player.Level >= 40)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.SafeFall, 4));
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirBolt, 5));
            }
            if (player.Level >= 45)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirBolt, 6));
            }
            if (player.Level >= 50)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.SafeFall, 5));
                player.AddAbility(SkillBase.GetAbility(Abilities.VampiirBolt, 7));
            }
        }
Example #9
0
		public override void OnLevelUp(GamePlayer player)
		{

			base.OnLevelUp(player);

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Shields));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Stormcalling));
			player.AddSpellLine(SkillBase.GetSpellLine("Stormcalling"));

			if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 1));
			}
			if (player.Level >= 12)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Large));
				player.AddAbility(SkillBase.GetAbility(Abilities.MidArmor, ArmorLevel.Chain));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Intercept));
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 2));
			}
		}
Example #10
0
		/// <summary>
		/// Update all skills and add new for current level
		/// </summary>
		/// <param name="player"></param>
		public override void OnLevelUp(GamePlayer player, int previousLevel)
		{
			base.OnLevelUp(player, previousLevel);

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Shields));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Dual_Wield));

			if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.AlbArmor, ArmorLevel.Chain));
				player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Shortbows));
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 1));

			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 1));
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 17)
			{
				player.AddSpecialization(SkillBase.GetSpecialization(Specs.Parry));
			}
			if (player.Level >= 19)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Intercept));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.DirtyTricks));
			}
			if (player.Level >= 23)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 2));
			}
			if (player.Level >= 24)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.PreventFlight));
			}
			if (player.Level >= 30)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Flurry));
			}
			if (player.Level >= 32)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 3));
			}
			if (player.Level >= 35)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Advanced_Evade));
				player.AddAbility(SkillBase.GetAbility(Abilities.Stoicism));
			}
		}
        /// <summary>
        /// Update all skills and add new for current level
        /// </summary>
        /// <param name="player"></param>
        public override void OnLevelUp(GamePlayer player, int previousLevel)
        {
            base.OnLevelUp(player, previousLevel);

            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Shields));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Celtic_Dual));

            player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Medium));

            if (player.Level >= 10)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Shortbows));
            }
            if (player.Level >= 15)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 1));
                player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 2));
                player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
            }
            if (player.Level >= 19)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Intercept));
            }
            if (player.Level >= 20)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Triple_Wield));
            }
            if (player.Level >= 23)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 2));
            }
            if (player.Level >= 24)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.PreventFlight));
            }
            if (player.Level >= 25)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 3));
            }
            if (player.Level >= 30)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Flurry));
            }
            if (player.Level >= 32)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 3));
            }
            if (player.Level >= 35)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.Advanced_Evade));
                player.AddAbility(SkillBase.GetAbility(Abilities.Stoicism));
            }
        }
Example #12
0
		public override void OnLevelUp(GamePlayer player) 
		{
			base.OnLevelUp(player);

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Sword));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Stealth));

			player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
			player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 1));
			player.AddAbility(SkillBase.GetAbility(Abilities.MidArmor, ArmorLevel.Leather));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Swords));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));
		}
Example #13
0
		public override void OnLevelUp(GamePlayer player)
		{

			base.OnLevelUp(player);

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Critical_Strike));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Axe));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Left_Axe));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Envenom));

			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Axes));
			player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Small));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Thrown));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_LeftAxes));

			if (player.Level >= 5)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 2));
			}
			if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 3));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 4));
			}
			if (player.Level >= 30)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 5));
			}
			if (player.Level >= 40)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 6));
			}
			if (player.Level >= 45)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.BloodRage));
			}
			if (player.Level >= 50)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 7));
                player.AddAbility(SkillBase.GetAbility(Abilities.BloodRage));
                player.AddAbility(SkillBase.GetAbility(Abilities.Remedy));
			}
		}
Example #14
0
		/// <summary>
		/// Update all skills and add new for current level
		/// </summary>
		/// <param name="player"></param>
		public override void OnLevelUp(GamePlayer player, int previousLevel)
		{
			base.OnLevelUp(player, previousLevel);

			// Specializations
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Scythe));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Scythe));

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Parry));

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Valewalker Arb Path Spec"));
			// Forester class adds "Arboreal Path" so we need to remove it here
			player.RemoveSpellLine( "Arboreal Path" );
			player.AddSpellLine(SkillBase.GetSpellLine("Valewalker Arboreal Path Base")); //immolation spells
			
			if (player.Level >= 5)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 1));
			}
			if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 2));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 1));
			}
			if(player.Level >= 19)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Intercept));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 3));
			}
			if(player.Level >= 23)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 2));
			}
			if (player.Level >= 30)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 4));
			}
			if(player.Level >= 32)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 3));
			}
		}
        public override void OnLevelUp(GamePlayer player, int previousLevel)
        {
            base.OnLevelUp(player, previousLevel);

            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Stealth));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Slash));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Thrust));

            player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
            player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 1));
            player.AddAbility(SkillBase.GetAbility(Abilities.AlbArmor, ArmorLevel.Leather));
            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Slashing));
            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Thrusting));
            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));
        }
Example #16
0
		public override void OnLevelUp(GamePlayer player)
		{

			base.OnLevelUp(player);

			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_HandToHand));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.HandToHand));

			player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 1));

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Savagery));
			player.AddSpellLine(SkillBase.GetSpellLine("Savagery"));

			if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 2));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 1));
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 3));
			}
			if (player.Level >= 23)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 2));
			}
			if (player.Level >= 24)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.PreventFlight));
			}
			if (player.Level >= 30)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 4));
			}
			if (player.Level >= 32)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 3));
			}
			if (player.Level >= 35)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Advanced_Evade));
				player.AddAbility(SkillBase.GetAbility(Abilities.Stoicism));
			}
		}
Example #17
0
		public override void OnLevelUp(GamePlayer player)
		{

			base.OnLevelUp(player);

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Battlesongs));
			player.AddSpellLine(SkillBase.GetSpellLine("Battlesongs"));
			player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Medium));

			if (player.Level >= 12)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 1));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 19)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 2));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.MidArmor, ArmorLevel.Chain));
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 1));
			}
		}
Example #18
0
        /// <summary>
        /// Update all skills and add new for current level
        /// </summary>
        /// <param name="player"></param>
        public override void OnLevelUp(GamePlayer player, int previousLevel)
        {
            base.OnLevelUp(player, previousLevel);

            // Forester

            // Specializations
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Arboreal_Path));

            // Spell lines
            player.AddSpellLine(SkillBase.GetSpellLine("Arboreal Path"));

            // Abilities
            player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
            player.AddAbility(SkillBase.GetAbility(Abilities.HibArmor, ArmorLevel.Cloth));
            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));

            // Animist

            // Specializations
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Creeping_Path));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Verdant_Path));

            // Spell lines
            player.AddSpellLine(SkillBase.GetSpellLine("Creeping Path")); //base
            player.AddSpellLine(SkillBase.GetSpellLine("Verdant Path")); //base
            player.AddSpellLine(SkillBase.GetSpellLine("Arboreal Mastery")); //spec
            player.AddSpellLine(SkillBase.GetSpellLine("Creeping Path Spec")); //spec
            player.AddSpellLine(SkillBase.GetSpellLine("Verdant Path Spec")); //spec

            player.AddAbility(SkillBase.GetAbility(Abilities.Quickcast));
        }
Example #19
0
		public override void OnLevelUp(GamePlayer player, int previousLevel)
		{
			base.OnLevelUp(player, previousLevel);

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Slash));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Thrust));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Crush));

			player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
			player.AddAbility(SkillBase.GetAbility(Abilities.AlbArmor, ArmorLevel.Studded));
			player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Medium));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Slashing));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Thrusting));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Crushing));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));
		}
Example #20
0
        public override void OnLevelUp(GamePlayer player, int previousLevel)
        {
            base.OnLevelUp(player, previousLevel);

            // Specializations
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Matter_Magic));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Body_Magic));

            // Spell lines
            player.AddSpellLine(SkillBase.GetSpellLine("Matter"));
            player.AddSpellLine(SkillBase.GetSpellLine("Body Destruction"));

            // Abilities
            player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
            player.AddAbility(SkillBase.GetAbility(Abilities.AlbArmor, ArmorLevel.Cloth));
            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));
        }
Example #21
0
        public override void OnLevelUp(GamePlayer player, int previousLevel)
        {
            base.OnLevelUp(player, previousLevel);

            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Mending));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Augmentation));

            // Spell lines
            player.AddSpellLine(SkillBase.GetSpellLine("Mending"));
            player.AddSpellLine(SkillBase.GetSpellLine("Augmentation"));

            player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
            player.AddAbility(SkillBase.GetAbility(Abilities.MidArmor, ArmorLevel.Leather));
            player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Small));
            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Hammers));
            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));
        }
Example #22
0
		public override void OnLevelUp(GamePlayer player) 
		{
			base.OnLevelUp(player);

			// Specializations
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Earth_Magic));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Cold_Magic));

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Path of Earth"));
			player.AddSpellLine(SkillBase.GetSpellLine("Path of Ice"));

			// Abilities
			player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));
			player.AddAbility(SkillBase.GetAbility(Abilities.AlbArmor, ArmorLevel.Cloth));
		}
Example #23
0
		public override void OnLevelUp(GamePlayer player) 
		{
			base.OnLevelUp(player);

			// Specialization
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Deathsight));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Painworking));

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Deathsight"));
			player.AddSpellLine(SkillBase.GetSpellLine("Death Servant"));

			// Abilities
			player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
			player.AddAbility(SkillBase.GetAbility(Abilities.AlbArmor, ArmorLevel.Cloth));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));
		}
Example #24
0
        public override void OnLevelUp(GamePlayer player, int previousLevel)
        {
            base.OnLevelUp(player, previousLevel);

            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Rejuvenation));
            player.AddSpecialization(SkillBase.GetSpecialization(Specs.Enhancement));

            // Spell lines
            player.AddSpellLine(SkillBase.GetSpellLine("Rejuvenation"));
            player.AddSpellLine(SkillBase.GetSpellLine("Enhancement"));

            player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
            player.AddAbility(SkillBase.GetAbility(Abilities.AlbArmor, ArmorLevel.Leather));
            player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Small));
            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Crushing));
            player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));
        }
Example #25
0
		public override void OnLevelUp(GamePlayer player)
		{
			base.OnLevelUp(player);

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Piercing));
			if (this is ClassVampiir == false)
			{
				player.AddSpecialization(SkillBase.GetSpecialization(Specs.Blades));
				player.AddSpecialization(SkillBase.GetSpecialization(Specs.Stealth));
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 1));
				player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Staves));
				player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Blades));
			}

			player.AddAbility(SkillBase.GetAbility(Abilities.Sprint));
			player.AddAbility(SkillBase.GetAbility(Abilities.HibArmor, ArmorLevel.Leather));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Piercing));
		}
Example #26
0
		/// <summary>
		/// Update all skills and add new for current level
		/// </summary>
		/// <param name="player"></param>
		public override void OnLevelUp(GamePlayer player, int previousLevel)
		{
			base.OnLevelUp(player, previousLevel);

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Celtic_Dual));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Critical_Strike));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Envenom));
			player.AddSpellLine(SkillBase.GetSpellLine("Nightshade"));
			player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Small));
			
			if (player.Level >= 5)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 2));
			}
			if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 3));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 4));
			}
			if (player.Level >= 30)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 5));
			}
			if (player.Level >= 40)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 6));
			}
			if (player.Level >= 45)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.SubtleKills));
			}
			if (player.Level >= 50)
			{
                player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 7));
                player.AddAbility(SkillBase.GetAbility(Abilities.Remedy));
			}
		}
Example #27
0
		public override void OnLevelUp(GamePlayer player, int previousLevel)
		{
			base.OnLevelUp(player, previousLevel);

			// RDSandersJR: Check to see if we are using old archery if so, 
			//              use Specs.CompositeBow
			if (ServerProperties.Properties.ALLOW_OLD_ARCHERY == true)
			{
            	player.AddSpecialization(SkillBase.GetSpecialization(Specs.CompositeBow));
			}
			// RDSandersJR: If we are NOT using old archery load Specs.Archery,
			//              Spellline("Archery") and Abilites.Weapon_Archery
			else if (ServerProperties.Properties.ALLOW_OLD_ARCHERY == false)
			{
				player.AddSpecialization(SkillBase.GetSpecialization(Specs.Archery));
            	player.AddSpellLine(SkillBase.GetSpellLine("Archery"));
				player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Archery));
			}
			
			
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Beastcraft));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Spear));
            player.AddSpellLine(SkillBase.GetSpellLine("Beastcraft"));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_CompositeBows));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Spears));

			if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.MidArmor, ArmorLevel.Studded));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 2));
			}
			if (player.Level >= 30)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Camouflage));
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 3));
			}
		}
Example #28
0
		public override void OnLevelUp(GamePlayer player)
		{
			base.OnLevelUp(player);

			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Critical_Strike));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Dual_Wield));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Envenom));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Crossbow));
			player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Small));

			if (player.Level >= 5)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 2));
			}
			if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 3));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 4));
			}
			if (player.Level >= 30)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 5));
			}
			if (player.Level >= 40)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 6));
			}
			if (player.Level >= 45)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.HeightenedAwareness));
			}
			if (player.Level >= 50)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 7));
                player.AddAbility(SkillBase.GetAbility(Abilities.Remedy));
			}
		}
Example #29
0
		public override void OnLevelUp(GamePlayer player)
		{

			base.OnLevelUp(player);

			player.RemoveSpecialization(Specs.Axe);
			player.RemoveSpecialization(Specs.Hammer);
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Shields));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Spear));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Sword));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Mending));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Swords));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Spears));
			player.AddAbility(SkillBase.GetAbility(Abilities.Guard, 1));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.OdinsWill));
			player.AddSpellLine(SkillBase.GetSpellLine("Odin's Will"));
			player.AddSpellLine(SkillBase.GetSpellLine("Mending"));
			player.AddSpellLine(SkillBase.GetSpellLine("Valkyrie Mending Spec"));

			if (player.Level >= 7)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Engage));
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 1));
			}
			if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Large));
				player.AddAbility(SkillBase.GetAbility(Abilities.Guard, 2));
			}
			if (player.Level >= 12)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.MidArmor, ArmorLevel.Chain));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Guard, 3));
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Protect, 2));
			}
		}
Example #30
0
		public override void OnLevelUp(GamePlayer player)
		{		
			base.OnLevelUp(player);

			// RDSandersJR: Check to see if we are using old archery if so, use Specs.Longbow
			if (ServerProperties.Properties.ALLOW_OLD_ARCHERY == true)
			{
				player.AddSpecialization(SkillBase.GetSpecialization(Specs.Longbow));
			}
			// RDSandersJR: If we are NOT using old archery load Specs.Archery,
			//              Spellline("Archery") and Abilites.Weapon_Archery
			else if (ServerProperties.Properties.ALLOW_OLD_ARCHERY == false)
			{
				player.AddSpecialization(SkillBase.GetSpecialization(Specs.Archery));
            	player.AddSpellLine(SkillBase.GetSpellLine("Archery"));
				player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Archery));
			}
            
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Shields));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Longbows));
			player.AddAbility(SkillBase.GetAbility(Abilities.Shield, ShieldLevel.Small));

			if (player.Level >= 10)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.AlbArmor, ArmorLevel.Studded));
			}
			if (player.Level >= 12)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 2));
			}
			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
			if (player.Level >= 20)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Evade, 3));
			}
			if (player.Level >= 30)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Camouflage));
			}
		}
        public override bool WhisperReceive(GameLiving source, string text)

        {
            if (!base.WhisperReceive(source, text) || !(source is GamePlayer))
            {
                return(false);
            }
            GamePlayer player = source as GamePlayer;


            if (text.ToLower() == "darkness")
            {
                player.AddSpecialization(SkillBase.GetSpecialization(Specs.Darkness));
                player.AddSpellLine(SkillBase.GetSpellLine("Darkness"));
                player.AddSpecialization(SkillBase.GetSpecialization(Specs.Augmentation));
                player.AddSpellLine(SkillBase.GetSpellLine("Augmentation Spec"));
                player.AddSpellLine(SkillBase.GetSpellLine("AugmentationSpec"));
                player.Out.SendUpdatePlayer();
                player.Out.SendUpdatePoints();
                player.Out.SendUpdatePlayerSkills();
                player.SaveIntoDatabase();
                player.UpdatePlayerStatus();
            }

            if (text.ToLower() == "stormcalling")
            {
                player.Out.SendMessage("Should have other spell line now!", DOL.GS.PacketHandler.eChatType.CT_Staff, DOL.GS.PacketHandler.eChatLoc.CL_SystemWindow);
                player.AddSpecialization(SkillBase.GetSpecialization(Specs.Stormcalling));
                player.AddSpellLine(SkillBase.GetSpellLine("Stormcalling"));
                player.Out.SendUpdatePlayer();
                player.Out.SendUpdatePoints();
                player.Out.SendUpdatePlayerSkills();
                player.SaveIntoDatabase();
                player.UpdatePlayerStatus();
            }



            return(false);
        }
        //  public override bool WhisperReceive(GameLiving source, string text)
        //  string tmpStr = player.Client.Account.Characters[player.Client.ActiveCharIndex].SerializedSpecs;

        // {

        //      if (!base.WhisperReceive(source, text) || !(source is GamePlayer))
        //         return false;
        //     GamePlayer player = source as GamePlayer;


        // }

        //  return false;

        public override bool Interact(GamePlayer player)
        {
            string tmpStr = player.Client.Account.Characters[player.Client.ActiveCharIndex].SerializedSpecs.Replace(@";", ",").Replace(@"|", ",");

            string[] values = {};
            foreach (string spec in tmpStr.SplitCSV())
            {
                values = spec.Split(',');
            }
            if (values.Length >= 2)
            {
                for (var i = 0; i < values.Length; i++)
                {
                    Specialization tempSpec = SkillBase.GetSpecialization(values[i]);



                    i++;

                    if (tempSpec != null)
                    {
                        if (tempSpec.AllowSave)
                        {
                            int level;
                            level = player.Level;
                            if (player.HasSpecialization(tempSpec.KeyName))
                            {
                                player.GetSpecializationByName(tempSpec.KeyName).Level = level;
                            }
                            else
                            {
                                tempSpec.Level = level;
                                player.AddSpecialization(tempSpec);
                            }
                        }
                        player.Out.SendUpdatePoints();
                        player.Out.SendUpdatePlayerSkills();
                        player.SaveIntoDatabase();
                        player.UpdatePlayerStatus();
                        SayTo(player, "Updated spec levels.");
                    }
                }
            }
            return(false);
        }
        public override bool ReceiveItem(GameLiving source, InventoryItem item)
        {
            if (source == null || item == null)
            {
                return(false);
            }

            if (source is GamePlayer)
            {
                GamePlayer player = (GamePlayer)source;
                string     tmpStr = player.Client.Account.Characters[player.Client.ActiveCharIndex].SerializedSpecs.Replace(@";", ",").Replace(@"|", ",");
                string[]   values = { };
                foreach (string spec in tmpStr.SplitCSV())
                {
                    values = spec.Split(',');
                }
                int           hasPlate = 0;
                int           hasChain = 0;
                List <string> specList = new List <string>();
                for (var i = 0; i < values.Length; i++)
                {
                    if (i % 2 == 0 && values[i] == "Plate")
                    {
                        hasPlate = 6;
                        specList.Add(values[i]);
                    }
                    else if (i % 2 == 0 && values[i] == "Chain")
                    {
                        hasChain = 4;
                        specList.Add(values[i]);
                    }
                    else if (i % 2 == 0 && values[i] == "Studded / Reinforced")
                    {
                        hasChain = 4;
                        specList.Add(values[i]);
                    }
                    else if (i % 2 == 0 && values[i] != "Chain" && values[i] != "Plate")
                    {
                        specList.Add(values[i]);
                    }
                }

                if (values.Length < (20 - hasPlate - hasChain))
                {
                    if (values.Length < 15 && item.Item_Type == 444 && item.Name == "Plate")
                    {
                        player.AddAbility(SkillBase.GetAbility("AlbArmor", 5));
                        player.AddAbility(SkillBase.GetAbility("HibArmor", 4));
                        player.AddAbility(SkillBase.GetAbility("MidArmor", 4));
                        player.AddSpecialization(SkillBase.GetSpecialization(item.Name));
                        player.Out.SendUpdatePlayer();
                        player.Out.SendUpdatePoints();
                        player.Out.SendUpdatePlayerSkills();
                        player.SaveIntoDatabase();
                        player.UpdatePlayerStatus();
                        player.Inventory.RemoveCountFromStack(item, 1);
                    }
                    else if (values.Length > 14 && item.Item_Type == 444 && item.Name == "Plate")
                    {
                        SayTo(player, "Plate occupies 3 specs, remove some specs first!");
                    }
                    else if (values.Length < 17 && item.Item_Type == 444 && item.Name == "Chain")
                    {
                        player.AddAbility(SkillBase.GetAbility("AlbArmor", 4));
                        player.AddAbility(SkillBase.GetAbility("HibArmor", 4));
                        player.AddAbility(SkillBase.GetAbility("MidArmor", 4));
                        player.AddSpecialization(SkillBase.GetSpecialization(item.Name));
                        player.Out.SendUpdatePlayer();
                        player.Out.SendUpdatePoints();
                        player.Out.SendUpdatePlayerSkills();
                        player.SaveIntoDatabase();
                        player.UpdatePlayerStatus();
                        player.Inventory.RemoveCountFromStack(item, 1);
                    }
                    else if (values.Length > 16 && item.Item_Type == 444 && item.Name == "Chain")
                    {
                        SayTo(player, "Chain and Studded occupy 2 specs, remove some specs first!");
                    }
                    else if (values.Length < 17 && item.Item_Type == 444 && item.Name == "Studded / Reinforced")
                    {
                        player.AddAbility(SkillBase.GetAbility("AlbArmor", 3));
                        player.AddAbility(SkillBase.GetAbility("HibArmor", 3));
                        player.AddAbility(SkillBase.GetAbility("MidArmor", 3));
                        player.AddSpecialization(SkillBase.GetSpecialization(item.Name));
                        player.Out.SendUpdatePlayer();
                        player.Out.SendUpdatePoints();
                        player.Out.SendUpdatePlayerSkills();
                        player.SaveIntoDatabase();
                        player.UpdatePlayerStatus();
                        player.Inventory.RemoveCountFromStack(item, 1);
                    }
                    else if (values.Length > 16 && item.Item_Type == 444 && item.Name == "Studded / Reinforced")
                    {
                        SayTo(player, "Chain and Studded occupy 2 specs, remove some specs first!");
                    }
                    else if (item.Item_Type == 444 && item.Name == "Leather")
                    {
                        player.AddAbility(SkillBase.GetAbility("AlbArmor", 2));
                        player.AddAbility(SkillBase.GetAbility("HibArmor", 2));
                        player.AddAbility(SkillBase.GetAbility("MidArmor", 2));
                        player.AddSpecialization(SkillBase.GetSpecialization(item.Name));
                        player.Out.SendUpdatePlayer();
                        player.Out.SendUpdatePoints();
                        player.Out.SendUpdatePlayerSkills();
                        player.SaveIntoDatabase();
                        player.UpdatePlayerStatus();
                        player.Inventory.RemoveCountFromStack(item, 1);
                    }
                    else if (item.Item_Type == 666 && isItemInMerchantList(item))
                    {
                        player.AddAbility(SkillBase.GetAbility(item.Name));
                        player.AddSpecialization(SkillBase.GetSpecialization(item.Description));
                        player.Out.SendUpdatePlayer();
                        player.Out.SendUpdatePoints();
                        player.Out.SendUpdatePlayerSkills();
                        player.SaveIntoDatabase();
                        player.UpdatePlayerStatus();
                        player.Inventory.RemoveCountFromStack(item, 1);
                    }
                    else if (item.Item_Type == 888 && isItemInMerchantList(item))
                    {
                        player.AddSpecialization(SkillBase.GetSpecialization(item.Name));
                        player.Out.SendUpdatePlayer();
                        player.Out.SendUpdatePoints();
                        player.Out.SendUpdatePlayerSkills();
                        player.SaveIntoDatabase();
                        player.UpdatePlayerStatus();
                        player.Inventory.RemoveCountFromStack(item, 1);
                    }
                    return(false);
                }
                else if (values.Length > (19 - hasPlate - hasChain))
                {
                    SayTo(player, "You can only have 10 specs in your specialization list! Go remove some to add this one. Choose wisely!");
                }
            }
            return(false);
        }