Beispiel #1
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));
			}
		}
Beispiel #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));
			}
		}
        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));
        }
Beispiel #4
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));
			}
		}
Beispiel #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));
			}
		}
Beispiel #6
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));
            }
        }
Beispiel #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);

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

			player.AddSpellLine(SkillBase.GetSpellLine("Painworking"));
			player.AddSpellLine(SkillBase.GetSpellLine("Deathsight Spec"));
			player.AddSpellLine(SkillBase.GetSpellLine("Painworking Spec"));
			player.AddSpellLine(SkillBase.GetSpellLine("Death Servant Spec"));
		}
Beispiel #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);
			// Specializations
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Mentalism));
			
			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Mentalism"));
			player.AddSpellLine(SkillBase.GetSpellLine("Holism"));
			player.AddSpellLine(SkillBase.GetSpellLine("Illusions"));
			player.AddSpellLine(SkillBase.GetSpellLine("Mind Mastery"));

			player.AddAbility(SkillBase.GetAbility(Abilities.Quickcast));
		}
Beispiel #9
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.Enchantments));
			
			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Enchantment"));
			player.AddSpellLine(SkillBase.GetSpellLine("Empowering"));
			player.AddSpellLine(SkillBase.GetSpellLine("Bedazzling"));
			player.AddSpellLine(SkillBase.GetSpellLine("Enchantment Mastery"));

			player.AddAbility(SkillBase.GetAbility(Abilities.Quickcast));
		}
Beispiel #10
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.Void));

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Way of the Eclipse"));
			player.AddSpellLine(SkillBase.GetSpellLine("Shadow Control"));
			player.AddSpellLine(SkillBase.GetSpellLine("Vacuumancy"));
			player.AddSpellLine(SkillBase.GetSpellLine("Void Mastery"));

			player.AddAbility(SkillBase.GetAbility(Abilities.Quickcast));
		}
Beispiel #11
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));
			}
		}
Beispiel #12
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.Wind_Magic));

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Path of Air"));
			player.AddSpellLine(SkillBase.GetSpellLine("Abrasion"));
			player.AddSpellLine(SkillBase.GetSpellLine("Refrigeration"));
			player.AddSpellLine(SkillBase.GetSpellLine("Vapormancy"));

			player.AddAbility(SkillBase.GetAbility(Abilities.Quickcast));
		}
Beispiel #13
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.AddSpecialization(SkillBase.GetSpecialization(Specs.Fire_Magic));

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Path of Fire"));
			player.AddSpellLine(SkillBase.GetSpellLine("Calefaction"));
			player.AddSpellLine(SkillBase.GetSpellLine("Liquifaction"));
			player.AddSpellLine(SkillBase.GetSpellLine("Pyromancy"));

			player.AddAbility(SkillBase.GetAbility(Abilities.Quickcast));
		}
Beispiel #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);

            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));
            }
        }
Beispiel #15
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));
        }
        /// <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));
            }
        }
Beispiel #17
0
		public override void OnLevelUp(GamePlayer player) 
		{
			base.OnLevelUp(player);

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

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Spirit Animation"));
			player.AddSpellLine(SkillBase.GetSpellLine("Matter Manipulation"));
			player.AddSpellLine(SkillBase.GetSpellLine("Essence Manipulation"));
			player.AddSpellLine(SkillBase.GetSpellLine("Vivification"));
			
			// Abilities
			player.AddAbility(SkillBase.GetAbility(Abilities.Quickcast));
		}
        public override void OnLevelUp(GamePlayer player, int previousLevel)
        {
            base.OnLevelUp(player, previousLevel);

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

            // Spell lines
            player.AddSpellLine(SkillBase.GetSpellLine("Summoning"));
            player.AddSpellLine(SkillBase.GetSpellLine("Spirit Dimming"));
            player.AddSpellLine(SkillBase.GetSpellLine("Spirit Suppression"));
            player.AddSpellLine(SkillBase.GetSpellLine("Spirit Enhancement"));

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

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

            // Spell lines
            player.AddSpellLine(SkillBase.GetSpellLine("Runecarving"));
            player.AddSpellLine(SkillBase.GetSpellLine("Runes of Darkness"));
            player.AddSpellLine(SkillBase.GetSpellLine("Runes of Suppression"));
            player.AddSpellLine(SkillBase.GetSpellLine("Runes of Destruction"));

            // Abilities
            player.AddAbility(SkillBase.GetAbility(Abilities.Quickcast));
        }
Beispiel #20
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));
			}
		}
Beispiel #21
0
		public override void OnLevelUp(GamePlayer player) 
		{
			base.OnLevelUp(player);

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

			// Spell lines
			player.AddSpellLine(SkillBase.GetSpellLine("Mind Twisting"));
			player.AddSpellLine(SkillBase.GetSpellLine("Telekinesis"));
			player.AddSpellLine(SkillBase.GetSpellLine("Disorientation"));
			player.AddSpellLine(SkillBase.GetSpellLine("Domination"));

			// Abilities
			player.AddAbility(SkillBase.GetAbility(Abilities.Quickcast));
		}
Beispiel #22
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));
			}
		}
Beispiel #23
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));
		}
Beispiel #24
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));
        }
Beispiel #25
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));
        }
Beispiel #26
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));
		}
Beispiel #27
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));
        }
Beispiel #28
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));
			}
		}
Beispiel #29
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.RemoveAbility(Abilities.AlbArmor);
			player.AddAbility(SkillBase.GetAbility(Abilities.AlbArmor, ArmorLevel.Cloth));
			player.AddAbility(SkillBase.GetAbility(Abilities.Weapon_Flexible));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Flexible));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Crush));
			player.AddSpecialization(SkillBase.GetSpecialization(Specs.Shields));
			player.AddSpellLine(SkillBase.GetSpellLine("Heretic Rejuvenation Spec"));
			player.RemoveSpellLine("Enhancement");
			player.AddSpellLine(SkillBase.GetSpellLine("Heretic Enhancement"));
			player.AddSpellLine(SkillBase.GetSpellLine("Heretic Enhancement Spec"));

			if (player.Level >= 15)
			{
				player.AddAbility(SkillBase.GetAbility(Abilities.Tireless));
			}
		}
Beispiel #30
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.Subterranean));

            player.AddSpellLine(SkillBase.GetSpellLine("Subterranean Incantations"));
            player.AddSpellLine(SkillBase.GetSpellLine("Shaman Mend Spec"));
            player.AddSpellLine(SkillBase.GetSpellLine("Shaman Augmentation Spec"));
            player.AddSpellLine(SkillBase.GetSpellLine("Subterranean Spec"));

            if (player.Level >= 10)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.MidArmor, ArmorLevel.Studded));
            }
            if (player.Level >= 20)
            {
                player.AddAbility(SkillBase.GetAbility(Abilities.MidArmor, ArmorLevel.Chain));
            }
        }
        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);
        }
Beispiel #32
0
        public override bool WhisperReceive(GameLiving source, string str)
        {
            if (!base.WhisperReceive(source, str))
            {
                return(false);
            }
            if (!(source is GamePlayer))
            {
                return(false);
            }
            GamePlayer t = (GamePlayer)source;

            switch (str)
            {
            case "Abilities":
                if (t.Level >= 50)
                {
                    t.AddSpellLine(SkillBase.GetSpellLine("Champion Abilities"));
                    t.Out.SendMessage("I have given you your first Champion Abilities!", eChatType.CT_Say, eChatLoc.CL_PopupWindow);
                    t.UpdateSpellLineLevels(true);
                    t.Out.SendUpdatePlayerSkills();
                    t.Out.SendUpdatePlayer();
                    t.UpdatePlayerStatus();
                    t.SaveIntoDatabase();
                }
                else
                {
                    SendReply(t, "You are not the correct level, come back when you have reached level 45.");
                }
                break;

            case "The King":
                if (t.Level >= 50)
                {
                    Say("I'm now teleporting you to the King");
                    t.MoveTo(394, 32327, 32379, 15901, 63);
                }
                else
                {
                    SendReply(t, "You are not the correct level, here you go :).");
                }
                t.Level     = 50;
                t.Health    = t.MaxHealth;
                t.Endurance = t.MaxEndurance;
                t.Mana      = t.MaxMana;
                t.UpdatePlayerStatus();
                break;

            default: break;
            }
            return(true);
        }
        public override bool ReceiveItem(GameLiving source, InventoryItem item)
        {
            GamePlayer t = source as GamePlayer;

            if (WorldMgr.GetDistance(this, source) > WorldMgr.INTERACT_DISTANCE)
            {
                ((GamePlayer)source).Out.SendMessage("You are too far away to give anything to " + GetName(0, false) + ".", eChatType.CT_System, eChatLoc.CL_SystemWindow);
                return(false);
            }
            if (t.MLLevel == 0)
            {
                t.Out.SendMessage("You have not completed any MLs and therefore cannot respec them!", eChatType.CT_Say, eChatLoc.CL_PopupWindow);
                return(false);
            }
            if (t != null && item != null && item.Id_nb == "mlrespectoken")
            {
                if (t.CharacterClass.ID == 1)//Paladin
                {
                    mlchoicea = (byte)eMLLine.Warlord;
                    mlchoiceb = (byte)eMLLine.BattleMaster;
                }
                else if (t.CharacterClass.ID == 2)//Armsman
                {
                    mlchoicea = (byte)eMLLine.Warlord;
                    mlchoiceb = (byte)eMLLine.BattleMaster;
                }
                else if (t.CharacterClass.ID == 3)//Scout
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Sojourner;
                }
                else if (t.CharacterClass.ID == 4)//Minstrel
                {
                    mlchoicea = (byte)eMLLine.Warlord;
                    mlchoiceb = (byte)eMLLine.Sojourner;
                }
                else if (t.CharacterClass.ID == 5)//Theurgist
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 6)//Cleric
                {
                    mlchoicea = (byte)eMLLine.Warlord;
                    mlchoiceb = (byte)eMLLine.Perfecter;
                }
                else if (t.CharacterClass.ID == 7)//Wizard
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 8)//Sorcerer
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 9)//Infiltrator
                {
                    mlchoicea = (byte)eMLLine.Spymaster;
                    mlchoiceb = (byte)eMLLine.BattleMaster;
                }
                else if (t.CharacterClass.ID == 10)//Frair
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Perfecter;
                }
                else if (t.CharacterClass.ID == 11)//Mercenary
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Banelord;
                }
                else if (t.CharacterClass.ID == 12)//Necromancer
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 13)//Cabalist
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.BattleMaster;
                }
                else if (t.CharacterClass.ID == 19)//Reaver
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Banelord;
                }
                else if (t.CharacterClass.ID == 21)//Thane
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 22)//Warrior
                {
                    mlchoicea = (byte)eMLLine.Warlord;
                    mlchoiceb = (byte)eMLLine.BattleMaster;
                }
                else if (t.CharacterClass.ID == 23)//Shadowblade
                {
                    mlchoicea = (byte)eMLLine.Spymaster;
                    mlchoiceb = (byte)eMLLine.BattleMaster;
                }
                else if (t.CharacterClass.ID == 24)//Skald
                {
                    mlchoicea = (byte)eMLLine.Warlord;
                    mlchoiceb = (byte)eMLLine.Sojourner;
                }
                else if (t.CharacterClass.ID == 25)//Hunter
                {
                    mlchoicea = (byte)eMLLine.Sojourner;
                    mlchoiceb = (byte)eMLLine.BattleMaster;
                }
                else if (t.CharacterClass.ID == 26)//Healer
                {
                    mlchoicea = (byte)eMLLine.Sojourner;
                    mlchoiceb = (byte)eMLLine.Perfecter;
                }
                else if (t.CharacterClass.ID == 27)//Spiritmaster
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 28)//Shaman
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Perfecter;
                }
                else if (t.CharacterClass.ID == 29)//Runemaster
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 30)//Bonedancer
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Banelord;
                }
                else if (t.CharacterClass.ID == 31)//Berserker
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Banelord;
                }
                else if (t.CharacterClass.ID == 32)//Savage
                {
                    mlchoicea = (byte)eMLLine.Warlord;
                    mlchoiceb = (byte)eMLLine.BattleMaster;
                }
                else if (t.CharacterClass.ID == 33)//Heretic
                {
                    mlchoicea = (byte)eMLLine.Banelord;
                    mlchoiceb = (byte)eMLLine.Perfecter;
                }
                else if (t.CharacterClass.ID == 34)//Valkyrie
                {
                    mlchoicea = (byte)eMLLine.Stormlord;
                    mlchoiceb = (byte)eMLLine.Warlord;
                }
                else if (t.CharacterClass.ID == 39)//Bainshee
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 40)//Eldritch
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 41)//Enchanter
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 42)//Mentalist
                {
                    mlchoicea = (byte)eMLLine.Stormlord;
                    mlchoiceb = (byte)eMLLine.Warlord;
                }
                else if (t.CharacterClass.ID == 43)//Blademaster
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Banelord;
                }
                else if (t.CharacterClass.ID == 44)//Hero
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Warlord;
                }
                else if (t.CharacterClass.ID == 45)//Champion
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Banelord;
                }
                else if (t.CharacterClass.ID == 46)//Warden
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Perfecter;
                }
                else if (t.CharacterClass.ID == 47)//Druid
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Perfecter;
                }
                else if (t.CharacterClass.ID == 48)//Bard
                {
                    mlchoicea = (byte)eMLLine.Sojourner;
                    mlchoiceb = (byte)eMLLine.Perfecter;
                }
                else if (t.CharacterClass.ID == 49)//Nightshade
                {
                    mlchoicea = (byte)eMLLine.Spymaster;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 50)//Ranger
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Sojourner;
                }
                else if (t.CharacterClass.ID == 55)//Animist
                {
                    mlchoicea = (byte)eMLLine.Convoker;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 56)//Valewalker
                {
                    mlchoicea = (byte)eMLLine.BattleMaster;
                    mlchoiceb = (byte)eMLLine.Stormlord;
                }
                else if (t.CharacterClass.ID == 58)//Vampiir
                {
                    mlchoicea = (byte)eMLLine.Banelord;
                    mlchoiceb = (byte)eMLLine.Warlord;
                }
                else if (t.CharacterClass.ID == 59)//Warlock
                {
                    mlchoicea = (byte)eMLLine.Banelord;
                    mlchoiceb = (byte)eMLLine.Convoker;
                }

                int i = 0;
                switch (t.MLLevel)
                {
                case (byte)eMLLine.Banelord:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.RemoveSpellLine("ML" + i + " Banelord");
                    }
                    break;

                case (byte)eMLLine.BattleMaster:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.RemoveSpellLine("ML" + i + " Battlemaster");
                    }
                    break;

                case (byte)eMLLine.Convoker:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.RemoveSpellLine("ML" + i + " Convoker");
                    }
                    break;

                case (byte)eMLLine.Perfecter:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.RemoveSpellLine("ML" + i + " Perfecter");
                    }
                    break;

                case (byte)eMLLine.Sojourner:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.RemoveSpellLine("ML" + i + " Sojourner");
                    }
                    break;

                case (byte)eMLLine.Stormlord:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.RemoveSpellLine("ML" + i + " Stormlord");
                    }
                    break;

                case (byte)eMLLine.Spymaster:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.RemoveSpellLine("ML" + i + " Spymaster");
                    }
                    break;

                case (byte)eMLLine.Warlord:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.RemoveSpellLine("ML" + i + " Warlord");
                    }
                    break;

                default:
                    break;
                }
                if (t.MLLevel == mlchoicea)
                {
                    mlfinish = mlchoiceb;
                }
                else
                {
                    mlfinish = mlchoicea;
                }
                switch (mlfinish)
                {
                case (byte)eMLLine.Banelord:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.AddSpellLine(SkillBase.GetSpellLine("ML" + i + " Banelord"));
                    }
                    t.MLLevel = (byte)eMLLine.Banelord;
                    t.Inventory.RemoveItem(item); t.UpdateSpellLineLevels(true); t.Out.SendUpdatePlayerSkills(); t.Out.SendUpdatePlayer(); t.UpdatePlayerStatus();
                    t.SaveIntoDatabase();
                    break;

                case (byte)eMLLine.BattleMaster:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.AddSpellLine(SkillBase.GetSpellLine("ML" + i + " Battlemaster"));
                    }
                    t.MLLevel = (byte)eMLLine.BattleMaster;
                    t.Inventory.RemoveItem(item); t.UpdateSpellLineLevels(true); t.Out.SendUpdatePlayerSkills(); t.Out.SendUpdatePlayer(); t.UpdatePlayerStatus();
                    t.SaveIntoDatabase();
                    break;

                case (byte)eMLLine.Convoker:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.AddSpellLine(SkillBase.GetSpellLine("ML" + i + " Convoker"));
                    }
                    t.MLLevel = (byte)eMLLine.Convoker;
                    t.Inventory.RemoveItem(item); t.UpdateSpellLineLevels(true); t.Out.SendUpdatePlayerSkills(); t.Out.SendUpdatePlayer(); t.UpdatePlayerStatus();
                    t.SaveIntoDatabase();
                    break;

                case (byte)eMLLine.Perfecter:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.AddSpellLine(SkillBase.GetSpellLine("ML" + i + " Perfecter"));
                    }
                    t.MLLevel = (byte)eMLLine.Perfecter;
                    t.Inventory.RemoveItem(item); t.UpdateSpellLineLevels(true); t.Out.SendUpdatePlayerSkills(); t.Out.SendUpdatePlayer(); t.UpdatePlayerStatus();
                    t.SaveIntoDatabase();
                    break;

                case (byte)eMLLine.Sojourner:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.AddSpellLine(SkillBase.GetSpellLine("ML" + i + " Sojourner"));
                    }
                    t.MLLevel = (byte)eMLLine.Sojourner;
                    t.Inventory.RemoveItem(item); t.UpdateSpellLineLevels(true); t.Out.SendUpdatePlayerSkills(); t.Out.SendUpdatePlayer(); t.UpdatePlayerStatus();
                    t.SaveIntoDatabase();
                    break;

                case (byte)eMLLine.Stormlord:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.AddSpellLine(SkillBase.GetSpellLine("ML" + i + " Stormlord"));
                    }
                    t.MLLevel = (byte)eMLLine.Stormlord;
                    t.Inventory.RemoveItem(item); t.UpdateSpellLineLevels(true); t.Out.SendUpdatePlayerSkills(); t.Out.SendUpdatePlayer(); t.UpdatePlayerStatus();
                    t.SaveIntoDatabase();
                    break;

                case (byte)eMLLine.Spymaster:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.AddSpellLine(SkillBase.GetSpellLine("ML" + i + " Spymaster"));
                    }
                    t.MLLevel = (byte)eMLLine.Spymaster;
                    t.Inventory.RemoveItem(item); t.UpdateSpellLineLevels(true); t.Out.SendUpdatePlayerSkills(); t.Out.SendUpdatePlayer(); t.UpdatePlayerStatus();
                    t.SaveIntoDatabase();
                    break;

                case (byte)eMLLine.Warlord:
                    for (i = 1; i < t.MLLevel + 1; i++)
                    {
                        t.AddSpellLine(SkillBase.GetSpellLine("ML" + i + " Warlord"));
                    }
                    t.MLLevel = (byte)eMLLine.Warlord;
                    t.Inventory.RemoveItem(item); t.UpdateSpellLineLevels(true); t.Out.SendUpdatePlayerSkills(); t.Out.SendUpdatePlayer(); t.UpdatePlayerStatus();
                    t.SaveIntoDatabase();
                    break;

                default:
                    break;
                }
                t.Out.SendPlayerQuit(false);
                t.Quit(true);
                t.SaveIntoDatabase();
            }
            return(base.ReceiveItem(source, item));
        }