public override void OnDoubleClick(Mobile from) { if (IsChildOf(from.Backpack)) { if (MasteryInfo.HasLearned(from, SpellID, Skill)) { from.SendLocalizedMessage(1155884, String.Format("#{0}", MasteryInfo.GetLocalization(SpellID, Skill))); // You are already proficient in this level of ~1_MasterySkill~ } //else if (MasteryInfo.CanLearn(from, SpellID)) // from.SendLocalizedMessage(1115709); // Your skills are not high enough to invoke this mastery ability. else if (MasteryInfo.LearnMastery(from, SpellID, Skill)) { from.SendLocalizedMessage(1155885, String.Format("#{0}", MasteryInfo.GetLocalization(SpellID, Skill))); // You have increased your proficiency in ~1_SkillMastery~! Effects.SendLocationParticles(EffectItem.Create(from.Location, from.Map, EffectItem.DefaultDuration), 0, 0, 0, 0, 0, 5060, 0); Effects.PlaySound(from.Location, from.Map, 0x243); Effects.SendMovingParticles(new Entity(Serial.Zero, new Point3D(from.X - 6, from.Y - 6, from.Z + 15), from.Map), from, 0x36D4, 7, 0, false, true, 0xAA8, 0, 9502, 1, 0, (EffectLayer)255, 0x100); Effects.SendMovingParticles(new Entity(Serial.Zero, new Point3D(from.X - 4, from.Y - 6, from.Z + 15), from.Map), from, 0x36D4, 7, 0, false, true, 0xAA8, 0, 9502, 1, 0, (EffectLayer)255, 0x100); Effects.SendMovingParticles(new Entity(Serial.Zero, new Point3D(from.X - 6, from.Y - 4, from.Z + 15), from.Map), from, 0x36D4, 7, 0, false, true, 0xAA8, 0, 9502, 1, 0, (EffectLayer)255, 0x100); Effects.SendTargetParticles(from, 0x375A, 35, 90, 0x00, 0x00, 9502, (EffectLayer)255, 0x100); Delete(); } } }
public override void OnDoubleClick(Mobile from) { if (IsChildOf(from.Backpack)) { if (MasteryInfo.HasLearned(from, Skill, Volume)) { from.SendLocalizedMessage(1155884, $"#{MasteryInfo.GetLocalization(Skill)}"); // You are already proficient in this level of ~1_MasterySkill~ } else if (MasteryInfo.LearnMastery(from, Skill, Volume)) { from.SendLocalizedMessage(1155885, $"#{MasteryInfo.GetLocalization(Skill)}"); // You have increased your proficiency in ~1_SkillMastery~! Effects.SendLocationParticles(EffectItem.Create(from.Location, from.Map, EffectItem.DefaultDuration), 0, 0, 0, 0, 0, 5060, 0); Effects.PlaySound(from.Location, from.Map, 0x243); Effects.SendMovingParticles(new Entity(Serial.Zero, new Point3D(from.X - 6, from.Y - 6, from.Z + 15), from.Map), from, 0x36D4, 7, 0, false, true, 0xAA8, 0, 9502, 1, 0, (EffectLayer)255, 0x100); Effects.SendMovingParticles(new Entity(Serial.Zero, new Point3D(from.X - 4, from.Y - 6, from.Z + 15), from.Map), from, 0x36D4, 7, 0, false, true, 0xAA8, 0, 9502, 1, 0, (EffectLayer)255, 0x100); Effects.SendMovingParticles(new Entity(Serial.Zero, new Point3D(from.X - 6, from.Y - 4, from.Z + 15), from.Map), from, 0x36D4, 7, 0, false, true, 0xAA8, 0, 9502, 1, 0, (EffectLayer)255, 0x100); Effects.SendTargetParticles(from, 0x375A, 35, 90, 0x00, 0x00, 9502, (EffectLayer)255, 0x100); Delete(); if (from.Skills.CurrentMastery == Skill) { MasteryInfo.OnMasteryChanged(from, from.Skills.CurrentMastery); } } } }
public override void GiveRewards() { base.GiveRewards(); MasteryInfo.LearnMastery(Owner, SkillName.Peacemaking, 3); SkillMasterySpell.SetActiveMastery(Owner, SkillName.Peacemaking); }
public override void GiveRewards() { base.GiveRewards(); MasteryInfo.LearnMastery(Owner, SkillName.Discordance, 3); SkillMasterySpell.SetActiveMastery(Owner, SkillName.Discordance); }
public override void GiveRewards() { base.GiveRewards(); MasteryInfo.LearnMastery(Owner, SkillName.Provocation, 3); SkillMasterySpell.SetActiveMastery(Owner, SkillName.Provocation); }