public BinderWarningGump(double value, ScrollBinderDeed binder, ScrollOfTranscendence scroll, int needed) : base(340, 340) { TypeID = 0x236C; m_Value = value; m_Needed = needed; m_Scroll = scroll; m_Binder = binder; AddPage(0); AddBackground(0, 0, 291, 99, 0x13BE); AddImageTiled(5, 6, 280, 20, 0xA40); AddHtmlLocalized(9, 8, 280, 20, 1113146, 0x7FFF, false, false); // Binding Scrolls of Transcendence AddImageTiled(5, 31, 280, 40, 0xA40); AddHtmlLocalized(9, 35, 272, 40, 1113147, 0x7FFF, false, false); // Binding this SoT will exceed the cap of 5, some points will be lost. Proceed? AddButton(215, 73, 0xFB7, 0xFB8, 1, GumpButtonType.Reply, 0); AddHtmlLocalized(250, 75, 65, 20, 1006044, 0x7FFF, false, false); // OK AddButton(5, 73, 0xFB1, 0xFB2, 0, GumpButtonType.Reply, 0); AddHtmlLocalized(40, 75, 100, 20, 1060051, 0x7FFF, false, false); // CANCEL }
public InternalGump(Mobile mobile, ScrollOfTranscendence scroll) : base(25, 50) { m_Mobile = mobile; m_Scroll = scroll; AddPage(0); AddBackground(25, 10, 420, 200, 5054); AddImageTiled(33, 20, 401, 181, 2624); AddAlphaRegion(33, 20, 401, 181); AddHtmlLocalized(40, 48, 387, 100, InfoMsg, true, true); AddHtmlLocalized(125, 148, 200, 20, QuestionMsg, 0xFFFFFF, false, false); AddHtmlLocalized(135, 172, 120, 20, 1046362, 0xFFFFFF, false, false); // Yes AddHtmlLocalized(310, 172, 120, 20, 1046363, 0xFFFFFF, false, false); // No AddButton(100, 172, 4005, 4007, 1, GumpButtonType.Reply, 0); AddButton(275, 172, 4005, 4007, 0, GumpButtonType.Reply, 0); AddHtmlLocalized(40, 20, 260, 20, TitleMsg, 0xFFFFFF, false, false); AddHtmlLocalized(310, 20, 120, 20, 1044060 + (int)scroll.m_Skill, 0xFFFFFF, false, false); }
private static Item GetRandomSpecial(int level, Map map) { Item special; switch (Utility.Random(8)) { default: case 0: special = new CreepingVine(); break; case 1: special = new MessageInABottle(); break; case 2: special = new ScrollOfAlacrity(PowerScroll.Skills[Utility.Random(PowerScroll.Skills.Count)]); break; case 3: special = new Skeletonkey(); break; case 4: special = new TastyTreat(5); break; case 5: special = new TreasureMap(Utility.RandomMinMax(level, Math.Min(7, level + 1)), map); break; case 6: special = GetRandomRecipe(); break; case 7: special = ScrollOfTranscendence.CreateRandom(1, 5); break; } return(special); }
public BinderWarningGump(double value, ScrollBinderDeed binder, ScrollOfTranscendence scroll, int needed) { m_Value = value; m_Needed = needed; m_Scroll = scroll; m_Binder = binder; }
private void Initialize(Mobile from, Item item) { if (m_ScrollType != ScrollType.None) { return; // sanity, should never happen } if (item is PowerScroll) { PowerScroll ps = item as PowerScroll; m_ScrollType = ScrollType.PowerScroll; m_Skill = ps.Skill; switch ((int)ps.Value) { default: case 105: m_Value = 5; m_Required = 8; break; case 110: m_Value = 10; m_Required = 12; break; case 115: m_Value = 15; m_Required = 10; break; } OnTargetPowerScroll(from, item); } else if (item is StatCapScroll) { StatCapScroll ss = item as StatCapScroll; m_ScrollType = ScrollType.StatsScroll; switch (ss.Value) { case 230: m_Value = 5; m_Required = 6; break; case 235: m_Value = 10; m_Required = 8; break; case 240: m_Value = 15; m_Required = 8; break; case 245: m_Value = 20; m_Required = 5; break; } OnTargetStatsScroll(from, item); } else if (item is ScrollOfTranscendence) { ScrollOfTranscendence sot = item as ScrollOfTranscendence; m_ScrollType = ScrollType.ScrollOfTranscendence; m_Skill = sot.Skill; m_Required = 20; OnTargetSoT(from, item); } }
public override void OnComponentUsed(AddonComponent component, Mobile from) { BaseHouse house = BaseHouse.FindHouseAt(from); if (house != null && (house.IsOwner(from) || (house.LockDowns.ContainsKey(this) && house.LockDowns[this] == from))) { if (ResourceCount > 0) { ResourceCount--; Item item = ScrollOfTranscendence.CreateRandom(1, 1); from.AddToBackpack(item); from.SendLocalizedMessage(1154177); // Scrolls of Transcendence have been placed in your backpack. } } else { from.SendLocalizedMessage(502092); // You must be in your house to do this. } }
public BindSotWarningGump(ScrollBinder binder, ScrollOfTranscendence toBound) : base(340, 340) { m_Binder = binder; m_ToBound = toBound; AddPage(0); AddBackground(0, 0, 291, 99, 0x13BE); AddImageTiled(5, 6, 280, 20, 0xA40); AddHtmlLocalized(9, 8, 280, 20, 1113146, 0x7FFF, false, false); // Binding Scrolls of Transcendence AddImageTiled(5, 31, 280, 40, 0xA40); AddHtmlLocalized(9, 35, 272, 40, 1113147, 0x7FFF, false, false); // Binding this SoT will exceed the cap of 5, some points will be lost. Proceed? AddButton(215, 73, 0xFB7, 0xFB8, 1, GumpButtonType.Reply, 0); AddHtmlLocalized(250, 75, 65, 20, 1006044, 0x7FFF, false, false); // OK AddButton(5, 73, 0xFB1, 0xFB2, 0, GumpButtonType.Reply, 0); AddHtmlLocalized(40, 75, 100, 20, 1060051, 0x7FFF, false, false); // CANCEL }
private void OnTargetSoT(Mobile from, Item item) { ScrollOfTranscendence sot = item as ScrollOfTranscendence; if (sot == null || sot.Skill != m_Skill) { // This scroll does not match the type currently being bound. from.SendLocalizedMessage(1113143); } else if ((sot.Value * 10) + m_Total > 50) { from.CloseGump(typeof(BindSotWarningGump)); from.SendGump(new BindSotWarningGump(this, sot)); } else { item.Delete(); Total += (int)(sot.Value * 10); CheckCompleted(from); } }
private bool VerifyScroll(Mobile from, Item scroll) { PowerScroll ps = scroll as PowerScroll; StatCapScroll ss = scroll as StatCapScroll; ScrollOfTranscendence sot = scroll as ScrollOfTranscendence; if (ps == null && ss == null && sot == null) { // You may only bind powerscrolls, stats scrolls or scrolls of transcendence. from.SendLocalizedMessage(1113142); return(false); } else if ((ps != null && ps.Value >= 120.0) || (ss != null && ss.Value >= 250) || (sot != null && sot.Value >= 5.0)) { // This scroll is already the highest of its type and cannot be bound. from.SendLocalizedMessage(1113144); return(false); } return(true); }
public override void OnKilledBy( Mobile mob ) { base.OnKilledBy( mob ); PlayerMobile pm = mob as PlayerMobile; if ( pm != null && pm.Backpack != null ) { if ( QuestHelper.HasQuest<GreenWithEnvyQuest>( pm ) ) { // As Navrey Night-Eyes dies, you find and claim one of her eyes as proof of her demise. pm.SendLocalizedMessage( 1095155 ); pm.Backpack.DropItem( new EyeOfNavrey() ); } if ( !m_UsedPillars && 0.015 >= Utility.RandomDouble() ) { Item reward; switch ( Utility.Random( 3 ) ) { default: case 0: reward = new NightEyes(); break; case 1: reward = new TangleA(); break; case 2: reward = new ScrollOfTranscendence( Utility.RandomSkill(), 3.0 ); break; } pm.Backpack.DropItem( reward ); pm.SendLocalizedMessage( 502088 ); // A special gift has been placed in your backpack. } } }
public override Gump BuildGump(Mobile from, ScrollOfTranscendence scroll) { return(new AlchemistGemGump(from, scroll)); }
public virtual Gump BuildGump(Mobile from, ScrollOfTranscendence scroll) { return(new InternalGump(from, scroll)); }
public AlchemistGemGump(Mobile from, ScrollOfTranscendence scroll) : base(from, scroll) { }
public BindSotWarningGump( ScrollBinder binder, ScrollOfTranscendence toBound ) : base(340, 340) { m_Binder = binder; m_ToBound = toBound; AddPage( 0 ); AddBackground( 0, 0, 291, 99, 0x13BE ); AddImageTiled( 5, 6, 280, 20, 0xA40 ); AddHtmlLocalized( 9, 8, 280, 20, 1113146, 0x7FFF, false, false ); // Binding Scrolls of Transcendence AddImageTiled( 5, 31, 280, 40, 0xA40 ); AddHtmlLocalized( 9, 35, 272, 40, 1113147, 0x7FFF, false, false ); // Binding this SoT will exceed the cap of 5, some points will be lost. Proceed? AddButton( 215, 73, 0xFB7, 0xFB8, 1, GumpButtonType.Reply, 0 ); AddHtmlLocalized( 250, 75, 65, 20, 1006044, 0x7FFF, false, false ); // OK AddButton( 5, 73, 0xFB1, 0xFB2, 0, GumpButtonType.Reply, 0 ); AddHtmlLocalized( 40, 75, 100, 20, 1060051, 0x7FFF, false, false ); // CANCEL }
public void OnTarget(Mobile from, object targeted) { if (targeted is Item && !((Item)targeted).IsChildOf(from.Backpack)) { from.SendMessage("The scroll must be in your backpack to bind."); return; } switch (m_BinderType) { case BinderType.None: { if (targeted is PowerScroll) { PowerScroll ps = (PowerScroll)targeted; if (ps.Value >= 120) { from.SendLocalizedMessage(1113144); //This scroll is already the highest of its type and cannot be bound. } else { double value = ps.Value; int needed = 0; if (value == 105) { needed = 8; } else if (value == 110) { needed = 12; } else if (value == 115) { needed = 10; } else { return; } m_Value = value; m_Needed = needed; m_Has = 1; m_Skill = ps.Skill; m_BinderType = BinderType.PowerScroll; ps.Delete(); from.SendMessage("Binding Powerscroll."); from.PlaySound(0x249); } } else if (targeted is StatCapScroll) { StatCapScroll ps = (StatCapScroll)targeted; if (ps.Value >= 250) { from.SendLocalizedMessage(1113144); //This scroll is already the highest of its type and cannot be bound. } else { double value = ps.Value; int needed = 0; if (value == 230) { needed = 6; } else if (value == 235) { needed = 8; } else if (value == 240) { needed = 8; } else if (value == 245) { needed = 5; } else { return; } m_Value = value; m_Needed = needed; m_Has = 1; m_BinderType = BinderType.StatScroll; ps.Delete(); from.SendMessage("Binding Stat Scroll."); from.PlaySound(0x249); } } else if (targeted is ScrollOfTranscendence) { ScrollOfTranscendence sot = (ScrollOfTranscendence)targeted; m_Skill = sot.Skill; m_BinderType = BinderType.SOT; m_Needed = 5; m_Has = sot.Value; sot.Delete(); from.SendLocalizedMessage(1113146); //Binding Scrolls of Transcendence from.PlaySound(0x249); } else { from.SendLocalizedMessage(1113142); //You may only bind powerscrolls, stats scrolls or scrolls of transcendence. } break; } case BinderType.PowerScroll: { if (targeted is PowerScroll) { PowerScroll ps = (PowerScroll)targeted; if (ps.Value == m_Value) { if (ps.Skill == m_Skill) { m_Has++; if (m_Has >= m_Needed) { GiveItem(from, new PowerScroll(m_Skill, m_Value + 5)); from.SendLocalizedMessage(1113145); //You've completed your binding and received an upgraded version of your scroll! ps.Delete(); Delete(); } else { ps.Delete(); from.PlaySound(0x249); from.SendMessage("Binding Powerscroll."); } } else { from.SendLocalizedMessage(1113143); //This scroll does not match the type currently being bound. } } else { from.SendLocalizedMessage(1113143); //This scroll does not match the type currently being bound. } } else { from.SendLocalizedMessage(1113143); //This scroll does not match the type currently being bound. } break; } case BinderType.StatScroll: { if (targeted is StatCapScroll) { StatCapScroll stat = (StatCapScroll)targeted; if (stat.Value == m_Value) { m_Has++; if (m_Has >= m_Needed) { GiveItem(from, new StatCapScroll((int)m_Value + 5)); from.SendLocalizedMessage(1113145); //You've completed your binding and received an upgraded version of your scroll! stat.Delete(); Delete(); } else { from.SendMessage("Binding Stat Scroll."); from.PlaySound(0x249); stat.Delete(); } } else { from.SendLocalizedMessage(1113143); //This scroll does not match the type currently being bound. } } else { from.SendLocalizedMessage(1113143); //This scroll does not match the type currently being bound. } break; } case BinderType.SOT: { if (targeted is ScrollOfTranscendence) { ScrollOfTranscendence sot = (ScrollOfTranscendence)targeted; if (sot.Skill == m_Skill) { double newValue = sot.Value + m_Has; if (newValue == m_Needed) { GiveItem(from, new ScrollOfTranscendence(m_Skill, m_Needed)); from.SendLocalizedMessage(1113145); //You've completed your binding and received an upgraded version of your scroll! Delete(); } else if (newValue > m_Needed) { from.SendGump(new BinderWarningGump(newValue, this, sot, m_Needed)); } else { m_Has += sot.Value; sot.Delete(); from.PlaySound(0x249); from.SendLocalizedMessage(1113146); //Binding Scrolls of Transcendence } } else { from.SendLocalizedMessage(1113143); //This scroll does not match the type currently being bound. } } else { from.SendLocalizedMessage(1113143); //This scroll does not match the type currently being bound. } break; } } InvalidateProperties(); }
public void OnTarget(Mobile from, object targeted) { if (targeted is Item && !((Item)targeted).IsChildOf(from.Backpack)) { from.SendLocalizedMessage(1060640); // The item must be in your backpack to use it. return; } switch (BinderType) { case BinderType.None: { if (targeted is PowerScroll) { PowerScroll ps = (PowerScroll)targeted; if (ps.Value >= 120) { from.SendLocalizedMessage(1113144); // This scroll is already the highest of its type and cannot be bound. return; } double value = ps.Value; int needed = 0; if (value == 105) { needed = 8; } else if (value == 110) { needed = 12; } else if (value == 115) { needed = 10; } else { return; } Value = value; Needed = needed; Has = 1; Skill = ps.Skill; BinderType = BinderType.PowerScroll; ps.Delete(); } else if (targeted is StatCapScroll) { StatCapScroll ss = (StatCapScroll)targeted; if (ss.Value >= 250) { from.SendLocalizedMessage(1113144); //This scroll is already the highest of its type and cannot be bound. return; } double value = ss.Value; int needed = 0; if (value == 230) { needed = 6; } else if (value == 235) { needed = 8; } else if (value == 240) { needed = 8; } else if (value == 245) { needed = 5; } else { return; } Value = value; Needed = needed; Has = 1; BinderType = BinderType.StatScroll; ss.Delete(); } else if (targeted is ScrollOfTranscendence) { ScrollOfTranscendence sot = (ScrollOfTranscendence)targeted; if (sot.Value >= 5.0) { from.SendLocalizedMessage(1113144); //This scroll is already the highest of its type and cannot be bound. return; } Skill = sot.Skill; BinderType = BinderType.SOT; Needed = 2; Has = sot.Value; sot.Delete(); } else { from.SendLocalizedMessage(1113142); // You may only bind powerscrolls, stats scrolls or scrolls of transcendence. } break; } case BinderType.PowerScroll: { if (targeted is PowerScroll) { PowerScroll ps = (PowerScroll)targeted; if (ps.Skill != Skill || ps.Value != Value) { from.SendLocalizedMessage(1113143); // This scroll does not match the type currently being bound. return; } Has++; if (Has >= Needed) { GiveItem(from, new PowerScroll(Skill, Value + 5)); from.SendLocalizedMessage(1113145); // You've completed your binding and received an upgraded version of your scroll! ps.Delete(); Delete(); } else { ps.Delete(); } } else if (targeted is ScrollBinderDeed) { ScrollBinderDeed sb = (ScrollBinderDeed)targeted; if (sb == this) { return; } if (sb.BinderType != BinderType || sb.Value != Value || sb.Skill != Skill) { from.SendLocalizedMessage(1113143); // This scroll does not match the type currently being bound. return; } Has += sb.Has; double rest = Has - Needed; if (Has >= Needed) { GiveItem(from, new PowerScroll(Skill, Value + 5)); from.SendLocalizedMessage(1113145); // You've completed your binding and received an upgraded version of your scroll! Delete(); } if (rest > 0) { sb.Has = rest; } else { sb.Delete(); } } break; } case BinderType.StatScroll: { if (targeted is StatCapScroll) { StatCapScroll ss = (StatCapScroll)targeted; if (ss.Value != Value) { from.SendLocalizedMessage(1113143); // This scroll does not match the type currently being bound. return; } Has++; if (Has >= Needed) { GiveItem(from, new StatCapScroll((int)Value + 5)); from.SendLocalizedMessage(1113145); // You've completed your binding and received an upgraded version of your scroll! ss.Delete(); Delete(); } else { ss.Delete(); } } else if (targeted is ScrollBinderDeed) { ScrollBinderDeed sb = (ScrollBinderDeed)targeted; if (sb == this) { return; } if (sb.BinderType != BinderType || sb.Value != Value) { from.SendLocalizedMessage(1113143); // This scroll does not match the type currently being bound. return; } Has += sb.Has; double rest = Has - Needed; if (Has >= Needed) { GiveItem(from, new StatCapScroll((int)Value + 5)); from.SendLocalizedMessage(1113145); // You've completed your binding and received an upgraded version of your scroll! Delete(); } if (rest > 0) { sb.Has = rest; } else { sb.Delete(); } } break; } case BinderType.SOT: { if (targeted is ScrollOfTranscendence) { ScrollOfTranscendence sot = (ScrollOfTranscendence)targeted; if (sot.Skill != Skill) { from.SendLocalizedMessage(1113143); // This scroll does not match the type currently being bound. return; } if (sot.Value >= 5.0) { from.SendLocalizedMessage(1113144); // This scroll is already the highest of its type and cannot be bound. return; } double newValue = sot.Value + Has; if (newValue > 2 && Needed == 2) { Needed = 5; } if (newValue == Needed) { GiveItem(from, new ScrollOfTranscendence(Skill, Needed)); from.SendLocalizedMessage(1113145); // You've completed your binding and received an upgraded version of your scroll! Delete(); } else if (newValue > Needed) { from.SendGump(new BinderWarningGump(newValue, this, sot, Needed)); } else { Has += sot.Value; sot.Delete(); } } else if (targeted is ScrollBinderDeed) { ScrollBinderDeed sb = (ScrollBinderDeed)targeted; if (sb == this) { return; } if (sb.BinderType != BinderType || sb.Skill != Skill) { from.SendLocalizedMessage(1113143); // This scroll does not match the type currently being bound. return; } double newValue = sb.Has + Has; if (newValue > 2 && Needed == 2) { Needed = 5; } Has = newValue; double rest = Has - Needed; if (Has >= Needed) { GiveItem(from, new ScrollOfTranscendence(Skill, Needed)); from.SendLocalizedMessage(1113145); // You've completed your binding and received an upgraded version of your scroll! Delete(); } if (rest > 0) { sb.Has = rest; } else { sb.Delete(); } } break; } } }
public AlchemistGemGump( Mobile from, ScrollOfTranscendence scroll ) : base(from, scroll) { }
public virtual Gump BuildGump( Mobile from, ScrollOfTranscendence scroll ) { return new InternalGump( from, scroll ); }
public InternalGump( Mobile mobile, ScrollOfTranscendence scroll ) : base(25, 50) { m_Mobile = mobile; m_Scroll = scroll; AddPage( 0 ); AddBackground( 25, 10, 420, 200, 5054 ); AddImageTiled( 33, 20, 401, 181, 2624 ); AddAlphaRegion( 33, 20, 401, 181 ); AddHtmlLocalized( 40, 48, 387, 100, InfoMsg, true, true ); AddHtmlLocalized( 125, 148, 200, 20, QuestionMsg, 0xFFFFFF, false, false ); AddHtmlLocalized( 135, 172, 120, 20, 1046362, 0xFFFFFF, false, false ); // Yes AddHtmlLocalized( 310, 172, 120, 20, 1046363, 0xFFFFFF, false, false ); // No AddButton( 100, 172, 4005, 4007, 1, GumpButtonType.Reply, 0 ); AddButton( 275, 172, 4005, 4007, 0, GumpButtonType.Reply, 0 ); AddHtmlLocalized( 40, 20, 260, 20, TitleMsg, 0xFFFFFF, false, false ); AddHtmlLocalized( 310, 20, 120, 20, 1044060 + (int) scroll.m_Skill, 0xFFFFFF, false, false ); }
public static void Fill(LockableContainer cont, int level, Map map) { cont.Movable = false; cont.Locked = true; #region Lock & Trap cont.TrapType = TrapType.ExplosionTrap; cont.TrapPower = level * 25; cont.TrapLevel = level; cont.TrapEnabled = true; switch (level) { case 1: cont.RequiredSkill = 36; break; case 2: cont.RequiredSkill = 76; break; case 3: cont.RequiredSkill = 84; break; case 4: cont.RequiredSkill = 92; break; case 5: cont.RequiredSkill = 100; break; case 6: cont.RequiredSkill = 100; break; } cont.LockLevel = cont.RequiredSkill - 10; cont.MaxLockLevel = cont.RequiredSkill + 40; #endregion #region Gold cont.DropItem(new Gold(level * 5000)); #endregion #region Reagents int reagentStackCount = level + 3; for (int i = 0; i < reagentStackCount; i++) { Item item = Loot.RandomPossibleReagent(); item.Amount = Utility.RandomMinMax(40, 60); cont.DropItem(item); } #endregion #region Magic Items int magicItemCount = 24 + (8 * level); for (int i = 0; i < magicItemCount; ++i) { Item item = Loot.RandomArmorOrShieldOrWeaponOrJewelry(); if (item is BaseWeapon) { BaseWeapon weapon = (BaseWeapon)item; int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(weapon, attributeCount, min, max); cont.DropItem(item); } else if (item is BaseArmor) { BaseArmor armor = (BaseArmor)item; int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(armor, attributeCount, min, max); cont.DropItem(item); } else if (item is BaseJewel) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo((BaseJewel)item, attributeCount, min, max); cont.DropItem(item); } } #endregion #region Gems int gemCount = level * 3; for (int i = 0; i < gemCount; i++) { Item item = Loot.RandomGem(); cont.DropItem(item); } #endregion #region Essences if (level >= 2) { int essenceCount = level; for (int i = 0; i < essenceCount; i++) { Item item = Loot.RandomEssence(); cont.DropItem(item); } } #endregion #region Special loot if (map == Map.Felucca && (level * 0.15) > Utility.RandomDouble()) { Item item = ScrollOfTranscendence.CreateRandom(5); cont.DropItem(item); } if ((level * 0.1) > Utility.RandomDouble()) { cont.DropItem(new TastyTreat()); } if ((level * 0.05) > Utility.RandomDouble()) { cont.DropItem(new CreepingVine()); } if ((level * 0.05) > Utility.RandomDouble()) { cont.DropItem(Server.Engines.Quests.BaseReward.RandomRecipe()); } if (0.5 > Utility.RandomDouble()) { cont.DropItem(new TreasureMap(level < 6 && 0.25 > Utility.RandomDouble() ? level + 1 : level)); } if (0.25 > Utility.RandomDouble()) { cont.DropItem(new SkeletonKey()); } if (0.2 > Utility.RandomDouble()) { cont.DropItem(ScrollOfAlacrity.CreateRandom()); } if (0.2 > Utility.RandomDouble()) { cont.DropItem(new MessageInABottle()); } if (level >= 5) { if (0.1 > Utility.RandomDouble()) { cont.DropItem(new ForgedPardon()); } if (0.09 > Utility.RandomDouble()) { cont.DropItem(new ManaPhasingOrb()); } if (0.09 > Utility.RandomDouble()) { cont.DropItem(new RunedSashOfWarding()); } if (0.09 > Utility.RandomDouble()) { cont.DropItem(map == Map.TerMur ? new GargishSurgeShield() : new SurgeShield()); } } #endregion #region Artifacts if (level >= 6) { Item item = (Item)Activator.CreateInstance(m_Artifacts[Utility.Random(m_Artifacts.Length)]); cont.DropItem(item); } #endregion }
public override Gump BuildGump( Mobile from, ScrollOfTranscendence scroll ) { return new AlchemistGemGump( from, scroll ); }