protected override void OnTarget(Mobile m, object o) { Item item = o as Item; if (item == null || !(m is PlayerMobile)) { m.SendLocalizedMessage(1079576); // You cannot imbue this item. return; } ImbuingContext context = Imbuing.GetContext(m); int mod = context.Imbue_Mod; int modInt = context.Imbue_ModInt; if (!Imbuing.CanImbueItem(m, item) || !Imbuing.OnBeforeImbue(m, item, mod, modInt) || !Imbuing.CanImbueProperty(m, item, mod)) { ImbueGump.SendGumpDelayed((PlayerMobile)m); } else { Imbuing.TryImbueItem(m, item, mod, modInt); ImbueGump.SendGumpDelayed((PlayerMobile)m); } }
private const int FontColor = 0xFFFFFF; //string public ImbuingGump(Mobile from) : base(520, 340) { Mobile m = from; PlayerMobile pm = from as PlayerMobile; from.CloseGump(typeof(ImbuingGumpB)); from.CloseGump(typeof(ImbuingGumpC)); ImbuingContext context = Imbuing.GetContext(pm); context.Imbue_ModVal = 0; context.ImbMenu_Cat = 0; AddPage(0); AddBackground(0, 0, 540, 340, 5054); AddImageTiled(10, 10, 520, 25, 2624); AddImageTiled(10, 35, 520, 10, 5124); AddAlphaRegion(10, 35, 520, 10); AddImageTiled(10, 45, 520, 245, 2624); AddImageTiled(10, 290, 520, 10, 5124); AddAlphaRegion(10, 290, 520, 10); AddImageTiled(10, 300, 520, 20, 2624); AddImageTiled(10, 320, 520, 10, 2624); AddAlphaRegion(10, 320, 520, 10); AddHtmlLocalized(10, 14, 520, 16, 1079588, LabelColor, false, false); //<CENTER>IMBUING MENU</CENTER> AddButton(25, 66, 4017, 4018, 10005, GumpButtonType.Reply, 0); AddHtmlLocalized(66, 68, 430, 18, 1080423, LabelColor, false, false); //IMBUE ITEM: Adds or modifies a magic item property on the targeted item.<BR>UNRAVEL ITEM: Extracts one or more magical ingredients from an item. The targeted item is DESTROYED in the process.<BR>REIMBUE LAST: Reimbues the last item with the last property/intensity<BR>REIMBUE ITEM: Auto targets the last imbued item AddButton(25, 95, 4017, 4018, 10006, GumpButtonType.Reply, 0); AddHtmlLocalized(66, 97, 430, 18, 1113622, LabelColor, false, false); //Reimbue Last - Repeats the last imbuing attempt AddButton(25, 124, 4017, 4018, 10007, GumpButtonType.Reply, 0); AddHtmlLocalized(66, 126, 430, 18, 1113571, LabelColor, false, false); //Imbue Last Item - Auto targets the last imbued item AddButton(25, 153, 4017, 4018, 10008, GumpButtonType.Reply, 0); AddHtmlLocalized(66, 155, 430, 18, 1114274, LabelColor, false, false); //Imbue Last Property - Imbues a new item with the last property AddButton(25, 184, 4017, 4018, 10010, GumpButtonType.Reply, 0); AddHtmlLocalized(66, 186, 430, 18, 1080431, LabelColor, false, false); //Unravel Item - Extracts magical ingredients from an item, destroying it AddButton(25, 213, 4017, 4018, 10011, GumpButtonType.Reply, 0); AddHtmlLocalized(66, 215, 430, 18, 1114275, LabelColor, false, false); //Unravel Container - Unravels all items in a container //AddButton(25, 242, 4017, 4018, 10012, GumpButtonType.Reply, 0); //AddHtml(66, 244, 430, 18, "<BASEFONT COLOR=#FFFFFF>Soul Reinforcement - Fortify a cursed artifact", false, false); AddButton(19, 300, 4017, 4018, 10002, GumpButtonType.Reply, 0); AddHtmlLocalized(58, 300, 50, 16, 1006045, FontColor, false, false); //CANCEL }
public static ImbuingContext GetContext(Mobile m) { if (!m_ContextTable.ContainsKey(m)) { ImbuingContext context = new ImbuingContext(m); m_ContextTable[m] = context; return context; } return m_ContextTable[m]; }
public static void ImbueStep1(Mobile from, Item it) { PlayerMobile pm = from as PlayerMobile; ImbuingContext context = Imbuing.GetContext(pm); if (Imbuing.CanImbueItem(pm, it)) { context.LastImbued = it; from.CloseGump(typeof(ImbuingGump)); from.SendGump(new ImbuingGumpB(from, it)); } }
public static void ImbueStep1(Mobile m, Item item) { if (m is PlayerMobile && Imbuing.CanImbueItem(m, item)) { ImbuingContext context = Imbuing.GetContext(m); context.LastImbued = item; if (context.ImbMenu_Cat == 0) { context.ImbMenu_Cat = 1; } m.CloseGump(typeof(ImbuingGump)); BaseGump.SendGump(new ImbueSelectGump((PlayerMobile)m, item)); } }
public static void ImbueStep1(Mobile from, Item it) { ImbuingContext context = Imbuing.GetContext(from); if (Imbuing.CanImbueItem(from, it)) { context.LastImbued = it; if (context.ImbMenu_Cat == 0) { context.ImbMenu_Cat = 1; } from.CloseGump(typeof(ImbuingGump)); from.SendGump(new ImbuingGumpB(from, it)); } }
private const int FontColor = 0xFFFFFF; //string public ImbuingGump(Mobile from) : base(520, 340) { Mobile m = from; PlayerMobile pm = from as PlayerMobile; from.CloseGump(typeof(ImbuingGumpB)); from.CloseGump(typeof(ImbuingGumpC)); ImbuingContext context = Imbuing.GetContext(pm); context.Imbue_ModVal = 0; context.ImbMenu_Cat = 0; AddPage(0); AddBackground(0, 0, 520, 310, 5054); AddImageTiled(10, 10, 500, 290, 2624); AddImageTiled(10, 30, 500, 10, 5058); AddImageTiled(10, 270, 500, 10, 5058); AddAlphaRegion(10, 10, 520, 310); AddHtmlLocalized(10, 12, 520, 20, 1079588, LabelColor, false, false); //<CENTER>IMBUING MENU</CENTER> AddButton(15, 60, 4005, 4007, 10005, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 60, 430, 20, 1080432, LabelColor, false, false); //Imbue Item - Adds or modifies an item property on an item AddButton(15, 90, 4005, 4007, 10006, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90, 430, 20, 1113622, LabelColor, false, false); //Reimbue Last - Repeats the last imbuing attempt AddButton(15, 120, 4005, 4007, 10007, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 120, 430, 20, 1113571, LabelColor, false, false); //Imbue Last Item - Auto targets the last imbued item AddButton(15, 150, 4005, 4007, 10008, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 150, 430, 20, 1114274, LabelColor, false, false); //Imbue Last Property - Imbues a new item with the last property AddButton(15, 180, 4005, 4007, 10010, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 180, 470, 20, 1080431, LabelColor, false, false); //Unravel Item - Extracts magical ingredients from an item, destroying it AddButton(15, 210, 4005, 4007, 10011, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 210, 430, 20, 1114275, LabelColor, false, false); //Unravel Container - Unravels all items in a container AddButton(15, 280, 4017, 4019, 10002, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 280, 50, 20, 1011012, FontColor, false, false); //CANCEL }
protected override void OnTarget(Mobile from, object o) { if (o is Item) { Item item = (Item)o; PlayerMobile pm = from as PlayerMobile; ImbuingContext context = Imbuing.GetContext(pm); int itemRef = ImbuingGump.GetItemRef(o); if (itemRef == 0) { from.SendLocalizedMessage(1079576); // You cannot imbue this item. return; } ImbuingGump.ImbueStep1(from, item); } }
protected override void OnTarget(Mobile m, object o) { Item item = o as Item; if (item == null) { m.SendLocalizedMessage(1079576); // You cannot imbue this item. return; } ImbuingContext context = Imbuing.GetContext(m); var itemType = ItemPropertyInfo.GetItemType(item); if (itemType == ItemType.Invalid) { m.SendLocalizedMessage(1079576); // You cannot imbue this item. return; } ImbueStep1(m, item); }
public override void AddGumpLayout() { ImbuingContext context = Imbuing.GetContext(User); context.Imbue_ModVal = 0; context.ImbMenu_Cat = 0; AddPage(0); AddBackground(0, 0, 520, 310, 5054); AddImageTiled(10, 10, 500, 290, 2624); AddImageTiled(10, 30, 500, 10, 5058); AddImageTiled(10, 270, 500, 10, 5058); AddAlphaRegion(10, 10, 520, 310); AddHtmlLocalized(10, 12, 520, 20, 1079588, LabelColor, false, false); //<CENTER>IMBUING MENU</CENTER> AddButton(15, 60, 4005, 4007, 10005, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 60, 430, 20, 1080432, LabelColor, false, false); //Imbue Item - Adds or modifies an item property on an item AddButton(15, 90, 4005, 4007, 10006, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90, 430, 20, 1113622, LabelColor, false, false); //Reimbue Last - Repeats the last imbuing attempt AddButton(15, 120, 4005, 4007, 10007, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 120, 430, 20, 1113571, LabelColor, false, false); //Imbue Last Item - Auto targets the last imbued item AddButton(15, 150, 4005, 4007, 10008, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 150, 430, 20, 1114274, LabelColor, false, false); //Imbue Last Property - Imbues a new item with the last property AddButton(15, 180, 4005, 4007, 10010, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 180, 470, 20, 1080431, LabelColor, false, false); //Unravel Item - Extracts magical ingredients User an item, destroying it AddButton(15, 210, 4005, 4007, 10011, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 210, 430, 20, 1114275, LabelColor, false, false); //Unravel Container - Unravels all items in a container AddButton(15, 280, 4017, 4019, 1, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 280, 50, 20, 1011012, LabelColor, false, false); //CANCEL }
protected override void OnTarget(Mobile from, object o) { if (!(o is Item)) { return; } PlayerMobile pm = from as PlayerMobile; ImbuingContext context = Imbuing.GetContext(pm); int mod = context.Imbue_Mod; int modInt = context.Imbue_ModInt; Item it = o as Item; if (!Imbuing.CanImbueItem(pm, it) || !Imbuing.OnBeforeImbue(from, it, mod, modInt) || !Imbuing.CanImbueProperty(from, it, mod)) { from.SendGump(new ImbuingGump(from)); return; } Imbuing.ImbueItem(from, it, mod, modInt); ImbuingGumpC.SendGumpDelayed(from); }
protected override void OnTarget(Mobile from, object o) { if (!(o is Item)) { from.SendLocalizedMessage(1079576); // You cannot imbue this item. return; } ImbuingContext context = Imbuing.GetContext(from); int mod = context.Imbue_Mod; int modInt = context.Imbue_ModInt; Item it = o as Item; if (!Imbuing.CanImbueItem(from, it) || !Imbuing.OnBeforeImbue(from, it, mod, modInt) || !Imbuing.CanImbueProperty(from, it, mod)) { from.SendGump(new ImbuingGump(from)); return; } Imbuing.ImbueItem(from, it, mod, modInt); ImbuingGumpC.SendGumpDelayed(from); }
public ImbuingGumpC(Mobile from, Item item, int mod, int value) : base(520, 340) { PlayerMobile m = from as PlayerMobile; from.CloseGump(typeof(ImbuingGump)); from.CloseGump(typeof(ImbuingGumpB)); from.CloseGump(typeof(RunicReforgingGump)); // SoulForge Check if (!Imbuing.CheckSoulForge(from, 1)) { return; } ImbuingContext context = Imbuing.GetContext(m); // = Check Type of Ingredients Needed if (!Imbuing.Table.ContainsKey(mod)) { return; } m_Definition = Imbuing.Table[mod]; if (value == -1) { value = m_Definition.IncAmount; } m_Item = item; m_Mod = mod; m_Value = value; int maxInt = Imbuing.GetMaxIntensity(item, m_Definition); int inc = m_Definition.IncAmount; int weight = m_Definition.Weight; if (m_Item is BaseJewel && m_Mod == 12) { maxInt /= 2; } if (m_Value < inc) { m_Value = inc; } if (m_Value > maxInt) { m_Value = maxInt; } if (m_Value <= 0) { m_Value = 1; } double currentIntensity = Math.Floor((m_Value / (double)maxInt) * 100); //Set context context.LastImbued = item; context.Imbue_Mod = mod; context.Imbue_ModVal = weight; context.ImbMenu_ModInc = inc; context.Imbue_ModInt = value; // - Current Mod Weight m_TotalItemWeight = Imbuing.GetTotalWeight(m_Item, m_Mod); m_TotalProps = Imbuing.GetTotalMods(m_Item, m_Mod); if (maxInt <= 1) { currentIntensity = 100; } m_PropWeight = (int)Math.Floor(((double)weight / (double)maxInt) * m_Value); // - Maximum allowed Property Weight & Item Mod Count m_MaxWeight = Imbuing.GetMaxWeight(m_Item); // = Times Item has been Imbued int timesImbued = Imbuing.TimesImbued(m_Item); // = Check Ingredients needed at the current Intensity m_GemAmount = Imbuing.GetGemAmount(m_Item, m_Mod, m_Value); m_PrimResAmount = Imbuing.GetPrimaryAmount(m_Item, m_Mod, m_Value); m_SpecResAmount = Imbuing.GetSpecialAmount(m_Item, m_Mod, m_Value); // ------------------------------ Gump Menu ------------------------------------------------------------- AddPage(0); AddBackground(0, 0, 520, 440, 5054); AddImageTiled(10, 10, 500, 420, 2624); AddImageTiled(10, 30, 500, 10, 5058); AddImageTiled(250, 40, 10, 290, 5058); AddImageTiled(10, 180, 500, 10, 5058); AddImageTiled(10, 330, 500, 10, 5058); AddImageTiled(10, 400, 500, 10, 5058); AddAlphaRegion(10, 10, 500, 420); AddHtmlLocalized(10, 12, 520, 20, 1079717, LabelColor, false, false); //<CENTER>IMBUING CONFIRMATION</CENTER> AddHtmlLocalized(50, 50, 200, 20, 1114269, LabelColor, false, false); //PROPERTY INFORMATION AddHtmlLocalized(25, 80, 80, 20, 1114270, LabelColor, false, false); //Property: AddHtmlLocalized(95, 80, 150, 20, m_Definition.AttributeName, LabelColor, false, false); AddHtmlLocalized(25, 100, 80, 20, 1114271, LabelColor, false, false); // Replaces: int replace = WhatReplacesWhat(m_Mod, m_Item); if (replace > 0) { AddHtmlLocalized(95, 100, 150, 20, replace, LabelColor, false, false); } // - Weight Modifier AddHtmlLocalized(25, 120, 80, 20, 1114272, 0xFFFFFF, false, false); //Weight: AddLabel(95, 120, 1153, String.Format("{0}x", ((double)m_Definition.Weight / 100.0).ToString("0.0"))); AddHtmlLocalized(25, 140, 80, 20, 1114273, LabelColor, false, false); //Intensity: AddLabel(95, 140, 1153, String.Format("{0}%", currentIntensity)); // - Materials needed AddHtmlLocalized(10, 200, 245, 20, 1044055, LabelColor, false, false); //<CENTER>MATERIALS</CENTER> AddHtmlLocalized(40, 230, 180, 20, m_Definition.PrimaryName, LabelColor, false, false); AddLabel(210, 230, 1153, m_PrimResAmount.ToString()); AddHtmlLocalized(40, 255, 180, 20, m_Definition.GemName, LabelColor, false, false); AddLabel(210, 255, 1153, m_GemAmount.ToString()); if (m_SpecResAmount > 0) { AddHtmlLocalized(40, 280, 180, 17, m_Definition.SpecialName, LabelColor, false, false); AddLabel(210, 280, 1153, m_SpecResAmount.ToString()); } // - Mod Description AddHtmlLocalized(280, 55, 200, 110, m_Definition.Description, LabelColor, false, false); AddHtmlLocalized(350, 200, 150, 20, 1113650, LabelColor, false, false); //RESULTS AddHtmlLocalized(280, 220, 150, 20, 1113645, LabelColor, false, false); //Properties: AddLabel(430, 220, m_TotalProps + 1 >= 5 ? 54 : 64, String.Format("{0}/5", m_TotalProps + 1)); int projWeight = m_TotalItemWeight + m_PropWeight; AddHtmlLocalized(280, 240, 150, 20, 1113646, LabelColor, false, false); //Total Property Weight: AddLabel(430, 240, projWeight >= m_MaxWeight ? 54 : 64, String.Format("{0}/{1}", projWeight, m_MaxWeight)); AddHtmlLocalized(280, 260, 150, 20, 1113647, LabelColor, false, false); //Times Imbued: AddLabel(430, 260, timesImbued >= 20 ? 54 : 64, String.Format("{0}/20", timesImbued)); // ===== CALCULATE DIFFICULTY ===== double dif; double suc = Imbuing.GetSuccessChance(from, item, m_TotalItemWeight, m_PropWeight, out dif); int color = 64; AddHtmlLocalized(300, 300, 150, 20, 1044057, 0xFFFFFF, false, false); // Success Chance: if (suc > 100) { suc = 100; } if (suc < 0) { suc = 0; } if (suc < 75.0) { if (suc >= 50.0) { color = 54; } else { color = 46; } } AddLabel(420, 300, color, String.Format("{0}%", suc.ToString("0.0"))); // - Attribute Level if (maxInt > 1) { // - Set Intesity to Minimum if (m_Value <= 0) { m_Value = 1; } // = New Value: AddHtmlLocalized(235, 350, 100, 17, 1062300, LabelColor, false, false); // New Value: if (m_Mod == 41) // - Mage Weapon Value ( i.e [Mage Weapon -25] ) { AddHtml(240, 368, 40, 20, String.Format("<CENTER><BASEFONT COLOR=#CCCCFF> -{0}</CENTER>", 30 - m_Value), false, false); } else if (maxInt <= 8 || m_Mod == 21 || m_Mod == 17) // - Show Property Value as just Number ( i.e [Mana Regen 2] ) { AddHtml(240, 368, 40, 20, String.Format("<CENTER><BASEFONT COLOR=#CCCCFF> {0}</CENTER>", m_Value), false, false); } else // - Show Property Value as % ( i.e [Hit Fireball 25%] ) { AddHtml(240, 368, 40, 20, String.Format("<CENTER><BASEFONT COLOR=#CCCCFF> {0}%</CENTER>", m_Value), false, false); } // == Buttons == AddButton(180, 370, 5230, 5230, 10053, GumpButtonType.Reply, 0); // To Minimum Value AddButton(200, 370, 5230, 5230, 10052, GumpButtonType.Reply, 0); // Dec Value by % AddButton(220, 370, 5230, 5230, 10051, GumpButtonType.Reply, 0); // dec value by 1 AddButton(320, 370, 5230, 5230, 10056, GumpButtonType.Reply, 0); //To Maximum Value AddButton(300, 370, 5230, 5230, 10055, GumpButtonType.Reply, 0); // Inc Value by % AddButton(280, 370, 5230, 5230, 10054, GumpButtonType.Reply, 0); // inc Value by 1 AddLabel(322, 368, 0, ">"); AddLabel(326, 368, 0, ">"); AddLabel(330, 368, 0, ">"); AddLabel(304, 368, 0, ">"); AddLabel(308, 368, 0, ">"); AddLabel(286, 368, 0, ">"); AddLabel(226, 368, 0, "<"); AddLabel(203, 368, 0, "<"); AddLabel(207, 368, 0, "<"); AddLabel(181, 368, 0, "<"); AddLabel(185, 368, 0, "<"); AddLabel(189, 368, 0, "<"); } AddButton(15, 410, 4005, 4007, 10099, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 410, 100, 18, 1114268, LabelColor, false, false); //Back AddButton(390, 410, 4005, 4007, 10100, GumpButtonType.Reply, 0); AddHtmlLocalized(425, 410, 120, 18, 1114267, LabelColor, false, false); //Imbue Item }
public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; PlayerMobile pm = from as PlayerMobile; ImbuingContext context = Imbuing.GetContext(pm); int buttonNum = 0; if (info.ButtonID > 0 && info.ButtonID < 10000) { buttonNum = 1; } else if (info.ButtonID > 20004) { buttonNum = 30000; } else { buttonNum = info.ButtonID; } switch (buttonNum) { case 0: { //Close break; } case 1: { break; } case 10002: // = Cancel button { break; } case 10005: // = Imbue Item { if (!Imbuing.CheckSoulForge(from, 1)) { break; } from.SendLocalizedMessage(1079589); //Target an item you wish to imbue. from.Target = new ImbueItemTarget(); break; } case 10006: // = ReImbue Last ( Mod & Item ) { Item it = context.LastImbued; int mod = context.Imbue_Mod; int modint = context.Imbue_ModInt; if (!Imbuing.CheckSoulForge(from, 1)) { break; } if (it == null || mod < 0 || modint == 0) { from.SendLocalizedMessage(1113572); // You haven't imbued anything yet! break; } if (Imbuing.CanImbueItem(pm, it) && Imbuing.OnBeforeImbue(from, it, mod, modint)) { Imbuing.ImbueItem(from, it, mod, modint); from.SendGump(new ImbuingGump(from)); } break; } case 10007: // = Imbue Last ( Select Last imbued Item ) { Item item = context.LastImbued; int mod = context.Imbue_Mod; int modint = context.Imbue_ModInt; if (!Imbuing.CheckSoulForge(from, 1)) { break; } if (context.LastImbued == null) { from.SendLocalizedMessage(1113572); // You haven't imbued anything yet! break; } else { ImbueStep1(from, item); } break; } case 10008: // = Imbue Last Mod( To target Item ) { context.LastImbued = null; int mod = context.Imbue_Mod; int modint = context.Imbue_ModInt; if (modint < 0) { modint = 0; } if (!Imbuing.CheckSoulForge(from, 1)) { break; } if (mod < 0) { from.SendLocalizedMessage(1113572); // You haven't imbued anything yet! break; } else { ImbuingGump.ImbueLastProp(from, mod, modint); } break; } case 10010: // = Unravel Item { if (!Imbuing.CheckSoulForge(from, 1)) { break; } from.SendLocalizedMessage(1080422); // What item do you wish to unravel? from.Target = new UnravelTarget(); break; } case 10011: // = Unravel Container { if (!Imbuing.CheckSoulForge(from, 1)) { break; } from.SendMessage("Which Container do you wish to unravel the contents of?"); from.Target = new UnravelContainerTarget(); break; } } return; }
protected override void OnTarget(Mobile from, object o) { if (!(o is Item)) { return; } PlayerMobile pm = from as PlayerMobile; ImbuingContext context = Imbuing.GetContext(pm); int Imod = context.Imbue_Mod; int ImodInt = context.Imbue_ModInt; Item it = o as Item; if (!Imbuing.CanImbueItem(pm, it) || !Imbuing.OnBeforeImbue(from, it, Imod, ImodInt)) { return; } // = Check Last Mod can be applied to Targeted Item Type if (o is BaseMeleeWeapon) { if (Imod == 1 || Imod == 2 || Imod == 12 || Imod == 13 || Imod == 16 || Imod == 21 || Imod == 22 || (Imod >= 25 && Imod <= 41) || Imod >= 101) { Imbuing.ImbueItem(from, it, Imod, ImodInt); from.SendGump(new ImbuingGump(from)); return; } else { from.SendMessage("The selected item cannot be Imbued with the last Property.."); } } else if (o is BaseRanged) { if (Imod == 1 || Imod == 2 || Imod == 12 || Imod == 13 || Imod == 16 || Imod == 21 || Imod == 22 || Imod == 60 || Imod == 61 || (Imod >= 25 && Imod <= 41) || Imod >= 101) { Imbuing.ImbueItem(from, it, Imod, ImodInt); from.SendGump(new ImbuingGump(from)); return; } else { from.SendMessage("The selected item cannot be Imbued with the last Property.."); } } else if (o is BaseShield) { if (Imod == 1 || Imod == 2 || Imod == 19 || Imod == 16 || Imod == 22 || Imod == 24 || Imod == 42) { Imbuing.ImbueItem(from, it, Imod, ImodInt); from.SendGump(new ImbuingGump(from)); return; } else { from.SendMessage("The selected item cannot be Imbued with the last Property.."); } } else if (o is BaseArmor) { if (Imod == 3 || Imod == 4 || Imod == 5 || Imod == 9 || Imod == 10 || Imod == 11 || Imod == 21 || Imod == 23 || (Imod >= 17 && Imod <= 19)) { Imbuing.ImbueItem(from, it, Imod, ImodInt); from.SendGump(new ImbuingGump(from)); return; } else { from.SendMessage("The selected item cannot be Imbued with the last Property.."); } } else if (o is BaseHat) { if (Imod == 3 || Imod == 4 || Imod == 5 || Imod == 9 || Imod == 10 || Imod == 11 || Imod == 21 || Imod == 23 || (Imod >= 17 && Imod <= 19)) { Imbuing.ImbueItem(from, it, Imod, ImodInt); from.SendGump(new ImbuingGump(from)); return; } else { from.SendMessage("The selected item cannot be Imbued with the last Property.."); } } else if (o is BaseJewel) { if (Imod == 1 || Imod == 2 || Imod == 6 || Imod == 7 || Imod == 8 || Imod == 12 || Imod == 10 || Imod == 11 || Imod == 20 || Imod == 21 || Imod == 23 || Imod == 21 || (Imod >= 14 && Imod <= 18) || (Imod >= 51 && Imod <= 55) || Imod >= 151) { Imbuing.ImbueItem(from, it, Imod, ImodInt); from.SendGump(new ImbuingGump(from)); return; } else { from.SendMessage("The selected item cannot be Imbued with the last Property.."); } } else { from.SendMessage("The selected item cannot be Imbued with the last Property.."); } return; }
public static void AddContext(Mobile from, ImbuingContext context) { m_ContextTable[from] = context; }
public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; ImbuingContext context = Imbuing.GetContext(from); switch (info.ButtonID) { case 0: //Close { from.EndAction(typeof(Imbuing)); break; } case 10051: // Decrease Mod Value [<] { if (context.Imbue_ModInt > m_Definition.IncAmount) { context.Imbue_ModInt -= m_Definition.IncAmount; } from.SendGump(new ImbuingGumpC(from, m_Item, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10052: // Decrease Mod Value [<<] { if ((m_Mod == 42 || m_Mod == 24) && context.Imbue_ModInt > 20) { context.Imbue_ModInt -= 20; } if ((m_Mod == 13 || m_Mod == 20 || m_Mod == 21) && context.Imbue_ModInt > 10) { context.Imbue_ModInt -= 10; } else if (context.Imbue_ModInt > 5) { context.Imbue_ModInt -= 5; } from.SendGump(new ImbuingGumpC(from, context.LastImbued, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10053: // Minimum Mod Value [<<<] { context.Imbue_ModInt = 1; from.SendGump(new ImbuingGumpC(from, context.LastImbued, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10054: // Increase Mod Value [>] { int max = Imbuing.GetMaxIntensity(m_Item, m_Definition); if (m_Mod == 12 && context.LastImbued is BaseJewel) { max /= 2; } if (context.Imbue_ModInt + m_Definition.IncAmount <= max) { context.Imbue_ModInt += m_Definition.IncAmount; } from.SendGump(new ImbuingGumpC(from, context.LastImbued, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10055: // Increase Mod Value [>>] { int max = Imbuing.GetMaxIntensity(m_Item, m_Definition); if (m_Mod == 12 && context.LastImbued is BaseJewel) { max /= 2; } if (m_Mod == 42 || m_Mod == 24) { if (context.Imbue_ModInt + 20 <= max) { context.Imbue_ModInt += 20; } else { context.Imbue_ModInt = max; } } if (m_Mod == 13 || m_Mod == 20 || m_Mod == 21) { if (context.Imbue_ModInt + 10 <= max) { context.Imbue_ModInt += 10; } else { context.Imbue_ModInt = max; } } else if (context.Imbue_ModInt + 5 <= max) { context.Imbue_ModInt += 5; } else { context.Imbue_ModInt = Imbuing.GetMaxIntensity(m_Item, m_Definition); } from.SendGump(new ImbuingGumpC(from, context.LastImbued, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10056: // Maximum Mod Value [>>>] { int max = Imbuing.GetMaxIntensity(m_Item, m_Definition); if (m_Mod == 12 && context.LastImbued is BaseJewel) { max /= 2; } context.Imbue_ModInt = max; from.SendGump(new ImbuingGumpC(from, context.LastImbued, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10099: // Back { from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10100: // Imbue the Item { context.Imbue_IWmax = m_MaxWeight; if (Imbuing.OnBeforeImbue(from, m_Item, m_Mod, m_Value, m_TotalProps, Imbuing.GetMaxProps(m_Item), m_TotalItemWeight, m_MaxWeight)) { Imbuing.TryImbueItem(from, m_Item, m_Mod, m_Value); SendGumpDelayed(from); } break; } } }
public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; ImbuingContext context = Imbuing.GetContext(from); m_Item = context.LastImbued; switch (info.ButtonID) { case 0: // Close/Cancel case 1: { from.EndAction(typeof(Imbuing)); break; } case 10001: { context.ImbMenu_Cat = 1; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10002: { context.ImbMenu_Cat = 2; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10003: { context.ImbMenu_Cat = 3; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10004: { context.ImbMenu_Cat = 4; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10005: { context.ImbMenu_Cat = 5; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10006: { context.ImbMenu_Cat = 6; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10007: { context.ImbMenu_Cat = 7; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10008: { context.ImbMenu_Cat = 8; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10009: { context.ImbMenu_Cat = 9; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10010: { context.ImbMenu_Cat = 10; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10011: { context.ImbMenu_Cat = 11; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10012: { context.ImbMenu_Cat = 12; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10013: { context.ImbMenu_Cat = 13; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10014: { context.ImbMenu_Cat = 14; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10015: { context.ImbMenu_Cat = 15; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } default: // = Proceed to Attribute Intensity Menu [ImbuingC.cs] { int buttonNum = info.ButtonID - 10100; context.Imbue_Mod = buttonNum; if (Imbuing.OnBeforeImbue(from, context.LastImbued, buttonNum, -1)) { from.SendGump(new ImbuingGumpC(from, context.LastImbued, buttonNum, -1)); } break; } } }
private const int FontColor = 0xFFFFFF; //string public ImbuingGumpB(Mobile from, Item item) : base(520, 340) { from.CloseGump(typeof(ImbuingGump)); from.CloseGump(typeof(ImbuingGumpC)); Mobile m = from; PlayerMobile pm = from as PlayerMobile; ImbuingContext context = Imbuing.GetContext(m); m_Item = context.LastImbued; int itemRef = ImbuingGump.GetItemRef(m_Item); bool twoHanded = item.Layer == Layer.TwoHanded; AddPage(0); AddBackground(0, 0, 520, 520, 5054); AddImageTiled(10, 10, 500, 500, 2624); AddImageTiled(10, 30, 500, 10, 5058); AddImageTiled(230, 40, 10, 480, 5058); AddImageTiled(10, 480, 500, 10, 5058); AddAlphaRegion(10, 10, 520, 500); AddHtmlLocalized(10, 12, 520, 20, 1079588, LabelColor, false, false); //IMBING MENU int yOffset = 0; // ===== Attribute Catagories ======================================== AddHtmlLocalized(10, 60, 220, 20, 1044010, LabelColor, false, false); // <CENTER>CATEGORIES</CENTER> AddHtmlLocalized(240, 60, 270, 20, 1044012, LabelColor, false, false); // <CENTER>SELECTIONS</CENTER> AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10001, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114248, LabelColor, false, false); //Casting yOffset += 1; if (itemRef == 1 || itemRef == 2 || itemRef == 4 || itemRef == 6) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10002, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114249, LabelColor, false, false); //Combat yOffset += 1; } if (itemRef == 1 || itemRef == 2) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10006, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114250, LabelColor, false, false); //Hit Area Effects yOffset += 1; AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10007, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114251, LabelColor, false, false); //Hit Effects yOffset += 1; } AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10003, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114252, LabelColor, false, false); //Misc. yOffset += 1; if (itemRef == 1 || itemRef == 2 || itemRef == 3 || itemRef == 5 || itemRef == 6) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10004, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114254, LabelColor, false, false); //Resists yOffset += 1; } if (itemRef == 2 || itemRef == 3 || itemRef == 5 || itemRef == 6) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10005, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114262, LabelColor, false, false); //Stats yOffset += 1; } if (itemRef == 1 || itemRef == 2) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10008, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114263, LabelColor, false, false); //Slayers yOffset += 1; AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10009, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114264, LabelColor, false, false); //Super Slayers yOffset += 1; } if (itemRef == 6) { for (int i = 0; i < 5; i++) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10010 + i, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114255 + i, LabelColor, false, false); //Skill Group 1 yOffset += 1; } } // ===== Attribute Catagories ======================================== yOffset = 0; int menuCat = context.ImbMenu_Cat; if (menuCat == 1) // == CASTING == { if (itemRef == 1) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10122, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079766, LabelColor, false, false); //Spell Channeling yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10141, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079759, LabelColor, false, false); //Mage Weapon yOffset += 1; if (item is BaseWeapon && (((BaseWeapon)item).Attributes.SpellChanneling == 0 || ((BaseWeapon)item).Attributes.CastSpeed < 0)) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10116, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075617, LabelColor, false, false); //Faster Casting yOffset += 1; } } else if (itemRef == 2) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10122, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079766, LabelColor, false, false); //Spell Channeling yOffset += 1; if (item is BaseWeapon && (((BaseWeapon)item).Attributes.SpellChanneling == 0 || ((BaseWeapon)item).Attributes.CastSpeed < 0)) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10116, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075617, LabelColor, false, false); //Faster Casting } yOffset += 1; } else if (itemRef == 3) { BaseArmor Ar = m_Item as BaseArmor; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10117, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075621, LabelColor, false, false); //Lower Mana Cost yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10118, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075625, LabelColor, false, false); //Lower Reg Cost yOffset += 1; } else if (itemRef == 4) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10122, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079766, LabelColor, false, false); //Spell Channeling yOffset += 1; if (item is BaseShield && (((BaseShield)item).Attributes.SpellChanneling == 0 || ((BaseShield)item).Attributes.CastSpeed < 0)) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10116, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075617, LabelColor, false, false); //Faster Casting yOffset += 1; } } else if (itemRef == 5) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10117, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075621, LabelColor, false, false); //Lower Mana Cost yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10118, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075625, LabelColor, false, false); //Lower Reg Cost yOffset += 1; } else if (itemRef == 6) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10117, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075621, LabelColor, false, false); //Lower Mana Cost yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10118, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075625, LabelColor, false, false); //Lower Reg Cost yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10114, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075628, LabelColor, false, false); //Spell Damage Increase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10116, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075617, LabelColor, false, false); //Faster Casting yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10115, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075618, LabelColor, false, false); //Faster Cast Recovery yOffset += 1; } } else if (menuCat == 2) // == COMBAT == { if (itemRef == 1 || itemRef == 2) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10112, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075619, LabelColor, false, false); //Weapon Damage Increase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10101, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075620, LabelColor, false, false); //Defense Chance Increase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10102, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075616, LabelColor, false, false); //Hit Chance Increase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10113, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075629, LabelColor, false, false); //Swing Speed Increase yOffset += 1; if (itemRef == 1) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10140, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079592, LabelColor, false, false); //Use Best Weapon Skill yOffset += 1; } if (itemRef == 2) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10160, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1080416, LabelColor, false, false); //Velocity yOffset += 1; } if (twoHanded) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10161, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1072792, LabelColor, false, false); //Balanced yOffset += 1; } } else if (itemRef == 4) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10101, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075620, LabelColor, false, false); //Defense Chance Increase yOffset += 1; } else if (itemRef == 6) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10112, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075619, LabelColor, false, false); //Weapon Damage Increase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10101, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075620, LabelColor, false, false); //Defense Chance Increase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10102, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075616, LabelColor, false, false); //Hit Chance Increase yOffset += 1; } } else if (menuCat == 3) // == MISC == { if (itemRef == 1 || itemRef == 2) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10121, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1061153, LabelColor, false, false); //Luck yOffset += 1; } else if (itemRef == 3) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10119, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075626, LabelColor, false, false); //Reflect Physical Damage yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10121, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1061153, LabelColor, false, false); //Luck yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10123, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1015168, LabelColor, false, false); //Night Sight yOffset += 1; } else if (itemRef == 4) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10119, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075626, LabelColor, false, false); //Reflect Physical Damage yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10121, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079757, LabelColor, false, false); //Lower Requirements yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10142, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1017323, LabelColor, false, false); //Durability yOffset += 1; } else if (itemRef == 5) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10119, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075626, LabelColor, false, false); //Reflect Physical Damage yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10121, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1061153, LabelColor, false, false); //Luck yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10123, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1015168, LabelColor, false, false); //Night Sight yOffset += 1; } else if (itemRef == 6) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10121, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1061153, LabelColor, false, false); //Luck yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10123, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1015168, LabelColor, false, false); //Night Sight yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10120, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075624, LabelColor, false, false); //Enhance Potions yOffset += 1; } } else if (menuCat == 4) // == RESISTS == { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10151, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1061158, LabelColor, false, false); //Physcial Resist yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10152, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1061159, LabelColor, false, false); //Fire Resist yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10153, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1061160, LabelColor, false, false); //Cold Resist yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10154, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1061161, LabelColor, false, false); //Poison Resist yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10155, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1061162, LabelColor, false, false); //Energy Resist yOffset += 1; } else if (menuCat == 5) // == STATS == { if (itemRef == 3) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10109, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075630, LabelColor, false, false); //Hit Point Increase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10110, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075632, LabelColor, false, false); //Stamina Increase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10111, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075631, LabelColor, false, false); //Mana Increaase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10103, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075627, LabelColor, false, false); //Hit Points Regeneration yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10104, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079411, LabelColor, false, false); //Stamina Regeneration yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10105, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079410, LabelColor, false, false); //Mana Regeneration yOffset += 1; } else if (itemRef == 5) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10109, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075630, LabelColor, false, false); //Hit Point Increase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10110, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075632, LabelColor, false, false); //Stamina Increase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10111, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075631, LabelColor, false, false); //Mana Increaase yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10103, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1075627, LabelColor, false, false); //Hit Points Regeneration yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10104, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079411, LabelColor, false, false); //Stamina Regeneration yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10105, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079410, LabelColor, false, false); //Mana Regeneration yOffset += 1; } else if (itemRef == 6) { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10106, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079767, LabelColor, false, false); //Strength Bonus yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10107, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079732, LabelColor, false, false); //Dexterity Bonus yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10108, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079756, LabelColor, false, false); //Intelligence Bonus yOffset += 1; } } else if (menuCat == 6) // == HIT AREA EFFECTS == { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10130, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079696, LabelColor, false, false); //Hit Physical Area yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10131, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079695, LabelColor, false, false); //Hit Fire Area yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10132, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079693, LabelColor, false, false); //Hit Cold Area yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10133, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079697, LabelColor, false, false); //Hit Poison Area yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10134, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079694, LabelColor, false, false); //Hit Energy Area yOffset += 1; } else if (menuCat == 7) // == ON HIT EFFECTS == { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10135, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079706, LabelColor, false, false); //Hit Magic Arrow yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10136, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079704, LabelColor, false, false); //Hit Harm yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10137, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079703, LabelColor, false, false); //Hit Fireball yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10138, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079705, LabelColor, false, false); //Hit Lightning yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10139, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079702, LabelColor, false, false); //Hit Dispel yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10128, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079699, LabelColor, false, false); //Hit Lower Attack yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10129, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079700, LabelColor, false, false); //Hit Lower Defense yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10125, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079698, LabelColor, false, false); //Hit Life Leeach yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10126, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079707, LabelColor, false, false); // Hit Stam Leech yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10127, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1079701, LabelColor, false, false); //Hit Mana Leech yOffset += 1; } else if (menuCat == 8) // == SLAYERS == { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10201, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060470, LabelColor, false, false); //Orc Slaying yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10202, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060480, LabelColor, false, false); //Troll Slaughter yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10203, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060468, LabelColor, false, false); //Ogre Thrashing yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10204, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060462, LabelColor, false, false); //Dragon Slaying yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10205, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060478, LabelColor, false, false); //Terathean yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10206, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060475, LabelColor, false, false); //Snakes Bane yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10207, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060467, LabelColor, false, false); //Lizardman Slaughter yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10208, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060466, LabelColor, false, false); //Gargoyles Foe yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10211, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060469, LabelColor, false, false); //Ophidian yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10212, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060477, LabelColor, false, false); //Spiders Death yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10213, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060474, LabelColor, false, false); //Scorpians Bane yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10214, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060465, LabelColor, false, false); //Flame Dousing yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10215, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060481, LabelColor, false, false); //Water Dissipation yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10216, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060457, LabelColor, false, false); //Vacuum yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10217, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060471, LabelColor, false, false); //Elemental Health yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10218, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060463, LabelColor, false, false); //Earth Shatter yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10219, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060459, LabelColor, false, false); //Blood Drinking yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10220, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060476, LabelColor, false, false); //Summer Wind yOffset += 1; } else if (menuCat == 9) // == SUPER SLAYERS == { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10221, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060479, LabelColor, false, false); //Silver yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10222, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060472, LabelColor, false, false); //Repond yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10223, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060473, LabelColor, false, false); //Reptilian Death yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10224, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060460, LabelColor, false, false); //Exorcism yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10225, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060458, LabelColor, false, false); //Arachnid Doom yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10226, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1060464, LabelColor, false, false); //Elemental Ban yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10227, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1070855, LabelColor, false, false); //Fey yOffset += 1; } else if (menuCat == 10) // == SKILL GROUP 1 == { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10251, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044102, LabelColor, false, false); //Fencing yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10252, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044101, LabelColor, false, false); //Mace Fighting yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10253, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044100, LabelColor, false, false); //Swordsmanship yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10254, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044089, LabelColor, false, false); //Musicianship yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10255, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044085, LabelColor, false, false); //Magery yOffset += 1; } else if (menuCat == 11) // == SKILL GROUP 2 == { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10256, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044103, LabelColor, false, false); //Wrestling yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10257, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044095, LabelColor, false, false); //Animal Taming yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10258, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044092, LabelColor, false, false); //Spirit Speak yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10259, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044087, LabelColor, false, false); //Tactics yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10260, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044082, LabelColor, false, false); //Provocation yOffset += 1; } else if (menuCat == 12) // == SKILL GROUP 3 == { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10261, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044110, LabelColor, false, false); //Focus yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10262, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044065, LabelColor, false, false); //Parrying yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10263, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044107, LabelColor, false, false); //Stealth yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10264, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044106, LabelColor, false, false); //Meditation yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10265, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044062, LabelColor, false, false); //Animal Lore yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10266, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044075, LabelColor, false, false); //Discordance yOffset += 1; } else if (menuCat == 13) // == SKILL GROUP 4 == { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10267, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044115, LabelColor, false, false); //Mysticism yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10268, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044112, LabelColor, false, false); //Bushido yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10269, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044109, LabelColor, false, false); //Necromancy yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10270, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044099, LabelColor, false, false); //Veterinary yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10271, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044093, LabelColor, false, false); //Stealing yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10272, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044076, LabelColor, false, false); //Eval Intelligence yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10273, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044061, LabelColor, false, false); //Anatomy yOffset += 1; } else if (menuCat == 14) // == SKILL GROUP 5 == { AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10274, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044069, LabelColor, false, false); //Peacemaking yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10275, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044113, LabelColor, false, false); //Ninjitsu yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10276, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044111, LabelColor, false, false); //Chivalary yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10277, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044091, LabelColor, false, false); //Archery yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10278, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044086, LabelColor, false, false); //Resist Spells yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10279, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044077, LabelColor, false, false); //Healing yOffset += 1; AddButton(250, 90 + (yOffset * 22), 4005, 4007, 10280, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 22), 150, 18, 1044117, LabelColor, false, false); //Throwing yOffset += 1; } AddButton(15, 490, 4005, 4007, 10099, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 490, 150, 20, 1011012, LabelColor, false, false); //Cancel }
public ImbuingGumpC(Mobile from, Item item, int mod, int value) : base(520, 340) { PlayerMobile m = from as PlayerMobile; from.CloseGump(typeof(ImbuingGump)); from.CloseGump(typeof(ImbuingGumpB)); // SoulForge Check if (!Imbuing.CheckSoulForge(from, 1)) { return; } ImbuingContext context = Imbuing.GetContext(m); // = Check Type of Ingredients Needed if (!Imbuing.Table.ContainsKey(mod)) { return; } m_Definition = Imbuing.Table[mod]; if (value == -1) { value = m_Definition.IncAmount; } m_Item = item; m_Mod = mod; m_Value = value; int maxInt = GetMaxIntensity(item, m_Definition); int inc = m_Definition.IncAmount; int weight = m_Definition.Weight; if (m_Item is BaseJewel && m_Mod == 12) { maxInt /= 2; } if (m_Value < inc) { m_Value = inc; } if (m_Value > maxInt) { m_Value = maxInt; } if (m_Value <= 0) { m_Value = 1; } double currentIntensity = Math.Floor((m_Value / (double)maxInt) * 100); //Set context context.LastImbued = item; context.Imbue_Mod = mod; context.Imbue_ModVal = weight; context.ImbMenu_ModInc = inc; context.Imbue_ModInt = value; // - Current Mod Weight m_TotalItemWeight = Imbuing.GetTotalWeight(m_Item, m_Mod); m_TotalProps = Imbuing.GetTotalMods(m_Item, m_Mod); if (maxInt <= 1) { currentIntensity = 100; } m_PropWeight = (int)Math.Floor(((double)weight / (double)maxInt) * m_Value); // - Maximum allowed Property Weight & Item Mod Count m_MaxWeight = Imbuing.GetMaxWeight(m_Item); // = Times Item has been Imbued int timesImbued = 0; if (m_Item is BaseWeapon) { timesImbued = ((BaseWeapon)m_Item).TimesImbued; } if (m_Item is BaseArmor) { timesImbued = ((BaseArmor)m_Item).TimesImbued; } if (m_Item is BaseJewel) { timesImbued = ((BaseJewel)m_Item).TimesImbued; } if (m_Item is BaseHat) { timesImbued = ((BaseHat)m_Item).TimesImbued; } // = Check Ingredients needed at the current Intensity m_GemAmount = Imbuing.GetGemAmount(m_Item, m_Mod, m_Value); m_PrimResAmount = Imbuing.GetPrimaryAmount(m_Item, m_Mod, m_Value); m_SpecResAmount = Imbuing.GetSpecialAmount(m_Item, m_Mod, m_Value); // ------------------------------ Gump Menu ------------------------------------------------------------- AddPage(0); AddBackground(0, 0, 540, 450, 5054); AddImageTiled(10, 10, 520, 430, 2624); AddImageTiled(10, 35, 520, 10, 5058); AddImageTiled(260, 45, 15, 290, 5058); AddImageTiled(10, 185, 520, 10, 5058); AddImageTiled(10, 335, 520, 10, 5058); AddImageTiled(10, 405, 520, 10, 5058); AddAlphaRegion(10, 10, 520, 430); AddHtmlLocalized(10, 13, 520, 18, 1079717, LabelColor, false, false); //<CENTER>IMBUING CONFIRMATION</CENTER> AddHtmlLocalized(57, 49, 200, 18, 1114269, LabelColor, false, false); //PROPERTY INFORMATION // - Attribute to Imbue AddHtmlLocalized(30, 80, 80, 17, 1114270, LabelColor, false, false); //Property: AddHtmlLocalized(100, 80, 150, 17, m_Definition.AttributeName, LabelColor, false, false); // - Weight Modifier AddHtmlLocalized(30, 120, 80, 17, 1114272, 0xFFFFFF, false, false); //Weight: double w = (double)m_Definition.Weight / 100.0; AddHtml(90, 120, 80, 17, String.Format("<BASEFONT COLOR=#CCCCFF> {0}x", w), false, false); AddHtmlLocalized(30, 140, 80, 17, 1114273, LabelColor, false, false); //Intensity: AddHtml(90, 140, 80, 17, String.Format("<BASEFONT COLOR=#CCCCFF> {0}%", currentIntensity), false, false); // - Materials needed AddHtmlLocalized(10, 199, 255, 18, 1044055, LabelColor, false, false); //<CENTER>MATERIALS</CENTER> AddHtmlLocalized(40, 230, 180, 17, m_Definition.PrimaryName, LabelColor, false, false); AddHtml(210, 230, 40, 17, String.Format("<BASEFONT COLOR=#CCCCFF> {0}", m_PrimResAmount.ToString()), false, false); AddHtmlLocalized(40, 255, 180, 17, m_Definition.GemName, LabelColor, false, false); AddHtml(210, 255, 40, 17, String.Format("<BASEFONT COLOR=#CCCCFF> {0}", m_GemAmount.ToString()), false, false); if (m_SpecResAmount > 0) { AddHtmlLocalized(40, 280, 180, 17, m_Definition.SpecialName, LabelColor, false, false); AddHtml(210, 280, 40, 17, String.Format("<BASEFONT COLOR=#CCCCFF> {0}", m_SpecResAmount.ToString()), false, false); } // - Mod Description AddHtmlLocalized(290, 65, 215, 110, m_Definition.Description, LabelColor, false, false); AddHtmlLocalized(365, 199, 150, 18, 1113650, LabelColor, false, false); //RESULTS AddHtmlLocalized(288, 220, 150, 17, 1113645, LabelColor, false, false); //Properties: AddHtml(443, 220, 80, 17, String.Format("<BASEFONT COLOR=#CCFFCC> {0}/5", m_TotalProps + 1), false, false); AddHtmlLocalized(288, 240, 150, 17, 1113646, LabelColor, false, false); //Total Property Weight: AddHtml(443, 240, 80, 17, String.Format("<BASEFONT COLOR=#CCFFCC> {0}/{1}", m_TotalItemWeight + (int)m_PropWeight, m_MaxWeight), false, false); // - Times Imbued AddHtmlLocalized(288, 260, 150, 17, 1113647, LabelColor, false, false); //Times Imbued: AddHtml(443, 260, 80, 17, String.Format("<BASEFONT COLOR=#CCFFCC> {0}/20", timesImbued + 1), false, false); // - Name of Attribute to be Replaced int replace = WhatReplacesWhat(m_Mod, m_Item); AddHtmlLocalized(30, 100, 80, 17, 1114271, LabelColor, false, false); if (replace <= 0) { replace = m_Definition.AttributeName; } AddHtmlLocalized(100, 100, 150, 17, replace, LabelColor, false, false); // ===== CALCULATE DIFFICULTY ===== double dif; double suc = Imbuing.GetSuccessChance(from, item, m_TotalItemWeight, m_PropWeight, out dif); int Succ = Convert.ToInt32(suc); string color; // = Imbuing Success Chance % AddHtmlLocalized(305, 300, 150, 17, 1044057, 0xFFFFFF, false, false); if (Succ <= 1) { color = "#FF5511"; } else if (Succ > 1 && Succ < 10) { color = "#EE6611"; } else if (Succ >= 10 && Succ < 20) { color = "#DD7711"; } else if (Succ >= 20 && Succ < 30) { color = "#CC8811"; } else if (Succ >= 30 && Succ < 40) { color = "#BB9911"; } else if (Succ >= 40 && Succ < 50) { color = "#AAAA11"; } else if (Succ >= 50 && Succ < 60) { color = "#99BB11"; } else if (Succ >= 60 && Succ < 70) { color = "#88CC11"; } else if (Succ >= 70 && Succ < 80) { color = "#77DD11"; } else if (Succ >= 80 && Succ < 90) { color = "#66EE11"; } else if (Succ >= 90 && Succ < 100) { color = "#55FF11"; } else if (Succ >= 100) { color = "#01FF01"; } else { color = "#FFFFFF"; } if (suc > 100) { suc = 100; } if (suc < 0) { suc = 0; } AddHtml(430, 300, 80, 17, String.Format("<BASEFONT COLOR={0}>\t{1}%", color, suc), false, false); // - Attribute Level if (maxInt > 1) { // - Set Intesity to Minimum if (m_Value <= 0) { m_Value = 1; } // = New Value: AddHtmlLocalized(245, 350, 100, 17, 1062300, LabelColor, false, false); // - Mage Weapon Value ( i.e [Mage Weapon -25] ) if (m_Mod == 41) { AddHtml(254, 374, 50, 17, String.Format("<BASEFONT COLOR=#CCCCFF> -{0}", 30 - m_Value), false, false); } // - Show Property Value as % ( i.e [Hit Fireball 25%] ) else if (maxInt <= 8 || m_Mod == 21 || m_Mod == 17) { AddHtml(254, 374, 50, 17, String.Format("<BASEFONT COLOR=#CCCCFF> {0}", m_Value), false, false); } // - Show Property Value as just Number ( i.e [Mana Regen 2] ) else { AddHtml(254, 374, 50, 17, String.Format("<BASEFONT COLOR=#CCCCFF> {0}%", m_Value), false, false); } // == Buttons == //0x1467??? AddButton(192, 376, 5230, 5230, 10053, GumpButtonType.Reply, 0); // To Minimum Value AddButton(211, 376, 5230, 5230, 10052, GumpButtonType.Reply, 0); // Dec Value by % AddButton(230, 376, 5230, 5230, 10051, GumpButtonType.Reply, 0); // dec value by 1 AddButton(331, 376, 5230, 5230, 10056, GumpButtonType.Reply, 0); //To Maximum Value AddButton(312, 376, 5230, 5230, 10055, GumpButtonType.Reply, 0); // Inc Value by % AddButton(293, 376, 5230, 5230, 10054, GumpButtonType.Reply, 0); // inc Value by 1 AddLabel(341, 374, 0, ">"); AddLabel(337, 374, 0, ">"); AddLabel(333, 374, 0, ">"); AddLabel(320, 374, 0, ">"); AddLabel(316, 374, 0, ">"); AddLabel(298, 374, 0, ">"); AddLabel(235, 374, 0, "<"); AddLabel(216, 374, 0, "<"); AddLabel(212, 374, 0, "<"); AddLabel(199, 374, 0, "<"); AddLabel(195, 374, 0, "<"); AddLabel(191, 374, 0, "<"); } AddButton(19, 416, 4005, 4007, 10099, GumpButtonType.Reply, 0); AddHtmlLocalized(58, 417, 100, 18, 1114268, LabelColor, false, false); //Back AddButton(400, 416, 4005, 4007, 10100, GumpButtonType.Reply, 0); AddHtmlLocalized(439, 417, 120, 18, 1114267, LabelColor, false, false); //Imbue Item }
public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; PlayerMobile pm = from as PlayerMobile; ImbuingContext context = Imbuing.GetContext(pm); int buttonNum = 0; if (info.ButtonID > 0 && info.ButtonID < 10000) { buttonNum = 0; } else if (info.ButtonID > 20004) { buttonNum = 30000; } else { buttonNum = info.ButtonID; } switch (buttonNum) { case 0: { //Close break; } case 10051: // = Decrease Mod Value [<] { if (context.Imbue_ModInt > m_Definition.IncAmount) { context.Imbue_ModInt -= m_Definition.IncAmount; } from.SendGump(new ImbuingGumpC(from, m_Item, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10052: // = Decrease Mod Value [<<] { if ((m_Mod == 42 || m_Mod == 24) && context.Imbue_ModInt > 20) { context.Imbue_ModInt -= 20; } if ((m_Mod == 13 || m_Mod == 20 || m_Mod == 21) && context.Imbue_ModInt > 10) { context.Imbue_ModInt -= 10; } else if (context.Imbue_ModInt > 5) { context.Imbue_ModInt -= 5; } from.SendGump(new ImbuingGumpC(from, context.LastImbued, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10053: // = Minimum Mod Value [<<<] { context.Imbue_ModInt = 1; from.SendGump(new ImbuingGumpC(from, context.LastImbued, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10054: // = Increase Mod Value [>] { int max = GetMaxIntensity(m_Item, m_Definition); if (m_Mod == 12 && context.LastImbued is BaseJewel) { max /= 2; } if (context.Imbue_ModInt + m_Definition.IncAmount <= max) { context.Imbue_ModInt += m_Definition.IncAmount; } from.SendGump(new ImbuingGumpC(from, context.LastImbued, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10055: // = Increase Mod Value [>>] { int max = GetMaxIntensity(m_Item, m_Definition); if (m_Mod == 12 && context.LastImbued is BaseJewel) { max /= 2; } if (m_Mod == 42 || m_Mod == 24) { if (context.Imbue_ModInt + 20 <= max) { context.Imbue_ModInt += 20; } else { context.Imbue_ModInt = max; } } if (m_Mod == 13 || m_Mod == 20 || m_Mod == 21) { if (context.Imbue_ModInt + 10 <= max) { context.Imbue_ModInt += 10; } else { context.Imbue_ModInt = max; } } else if (context.Imbue_ModInt + 5 <= max) { context.Imbue_ModInt += 5; } else { context.Imbue_ModInt = GetMaxIntensity(m_Item, m_Definition); } from.SendGump(new ImbuingGumpC(from, context.LastImbued, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10056: // = Maximum Mod Value [>>>] { int max = GetMaxIntensity(m_Item, m_Definition); if (m_Mod == 12 && context.LastImbued is BaseJewel) { max /= 2; } context.Imbue_ModInt = max; from.SendGump(new ImbuingGumpC(from, context.LastImbued, context.Imbue_Mod, context.Imbue_ModInt)); break; } case 10099: // - Back { from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10100: // = Imbue the Item { context.Imbue_IWmax = m_MaxWeight; if (Imbuing.OnBeforeImbue(from, m_Item, m_Mod, m_Value, m_TotalProps, MaxProps, m_TotalItemWeight, m_MaxWeight)) { Imbuing.ImbueItem(from, m_Item, m_Mod, m_Value); SendGumpDelayed(from); } break; } } }
public override void AddGumpLayout() { // SoulForge Check if (!Imbuing.CheckSoulForge(User, 2)) { return; } ImbuingContext context = Imbuing.GetContext(User); context.LastImbued = m_Item; ItemType itemType = ItemPropertyInfo.GetItemType(m_Item); bool twoHanded = m_Item.Layer == Layer.TwoHanded; AddPage(0); AddBackground(0, 0, 520, 520, 5054); AddImageTiled(10, 10, 500, 500, 2624); AddImageTiled(10, 30, 500, 10, 5058); AddImageTiled(230, 40, 10, 440, 5058); AddImageTiled(10, 480, 500, 10, 5058); AddAlphaRegion(10, 10, 520, 500); AddHtmlLocalized(10, 12, 520, 20, 1079588, LabelColor, false, false); //IMBING MENU int yOffset = 0; // ===== Attribute Catagories ======================================== AddHtmlLocalized(10, 60, 220, 20, 1044010, LabelColor, false, false); // <CENTER>CATEGORIES</CENTER> AddHtmlLocalized(240, 60, 270, 20, 1044011, LabelColor, false, false); // <CENTER>SELECTIONS</CENTER> AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10001, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114248, LabelColor, false, false); //Casting yOffset += 1; int itemRef = (int)itemType; if (itemRef == 1 || itemRef == 2 || itemRef == 4 || itemRef == 6) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10002, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114249, LabelColor, false, false); //Combat yOffset += 1; } if (itemRef == 1 || itemRef == 2) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10006, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114250, LabelColor, false, false); //Hit Area Effects yOffset += 1; AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10007, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114251, LabelColor, false, false); //Hit Effects yOffset += 1; } AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10003, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114252, LabelColor, false, false); //Misc. yOffset += 1; if (itemRef == 2) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10015, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114253, LabelColor, false, false); //Ranged yOffset += 1; } if (itemRef == 1 || itemRef == 2 || itemRef == 3 || itemRef == 5 || itemRef == 6) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10004, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114254, LabelColor, false, false); //Resists yOffset += 1; } if (itemRef == 1 || itemRef == 2) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10008, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114263, LabelColor, false, false); //Slayers yOffset += 1; AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10009, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114264, LabelColor, false, false); //Super Slayers yOffset += 1; } if (itemRef == 6) { for (int i = 0; i < 5; i++) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10010 + i, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114255 + i, LabelColor, false, false); //Skill Group 1 yOffset += 1; } } if (itemRef == 3 || itemRef == 5 || itemRef == 6) { AddButton(15, 90 + (yOffset * 25), 4005, 4007, 10005, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 90 + (yOffset * 25), 150, 18, 1114262, LabelColor, false, false); //Stats yOffset += 1; } // ===== Attribute Catagories ======================================== yOffset = 0; int menuCat = context.ImbMenu_Cat; if (menuCat == 1) // == CASTING == { if (itemRef == 1 || itemRef == 2) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10122, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079766, LabelColor, false, false); //Spell Channeling yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10141, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079759, LabelColor, false, false); //Mage Weapon yOffset += 1; if (m_Item is BaseWeapon && (((BaseWeapon)m_Item).Attributes.SpellChanneling == 0 || ((BaseWeapon)m_Item).Attributes.CastSpeed < 0)) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10116, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075617, LabelColor, false, false); //Faster Casting yOffset += 1; } } else if (itemRef == 3 || itemRef == 5) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10118, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075625, LabelColor, false, false); //Lower Reg Cost yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10117, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075621, LabelColor, false, false); //Lower Mana Cost yOffset += 1; } else if (itemRef == 4) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10122, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079766, LabelColor, false, false); //Spell Channeling yOffset += 1; if (m_Item is BaseShield && (((BaseShield)m_Item).Attributes.SpellChanneling == 0 || ((BaseShield)m_Item).Attributes.CastSpeed < 0)) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10116, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075617, LabelColor, false, false); //Faster Casting yOffset += 1; } } else if (itemRef == 6) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10114, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075628, LabelColor, false, false); //Spell Damage Increase yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10118, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075625, LabelColor, false, false); //Lower Reg Cost yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10117, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075621, LabelColor, false, false); //Lower Mana Cost yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10116, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075617, LabelColor, false, false); //Faster Casting yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10115, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075618, LabelColor, false, false); //Faster Cast Recovery yOffset += 1; } } else if (menuCat == 2) // == COMBAT == { if (itemRef == 1) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10112, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079399, LabelColor, false, false); //Damage Increase yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10113, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075629, LabelColor, false, false); //Swing Speed Increase yOffset += 1; if (twoHanded) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10163, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1072792, LabelColor, false, false); //Balanced yOffset += 1; } AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10102, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075616, LabelColor, false, false); //Hit Chance Increase yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10101, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075620, LabelColor, false, false); //Defense Chance Increase yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10140, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079592, LabelColor, false, false); //Use Best Weapon Skill yOffset += 1; } else if (itemRef == 2) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10112, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079399, LabelColor, false, false); //Damage Increase yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10113, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075629, LabelColor, false, false); //Swing Speed Increase yOffset += 1; } else if (itemRef == 4) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10101, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075620, LabelColor, false, false); //Defense Chance Increase yOffset += 1; } else if (itemRef == 6) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10112, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079399, LabelColor, false, false); //Damage Increase yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10102, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075616, LabelColor, false, false); //Hit Chance Increase yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10101, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075620, LabelColor, false, false); //Defense Chance Increase yOffset += 1; } } else if (menuCat == 3) // == MISC == { if (itemRef == 1 || itemRef == 2) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10121, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1061153, LabelColor, false, false); //Luck yOffset += 1; } else if (itemRef == 3 || itemRef == 5) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10119, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075626, LabelColor, false, false); //Reflect Physical Damage yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10123, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1015168, LabelColor, false, false); //Night Sight yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10121, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1061153, LabelColor, false, false); //Luck yOffset += 1; } else if (itemRef == 4) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10119, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075626, LabelColor, false, false); //Reflect Physical Damage yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10145, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079757, LabelColor, false, false); //Lower Requirements yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10142, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1017323, LabelColor, false, false); //Durability yOffset += 1; } else if (itemRef == 6) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10123, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1015168, LabelColor, false, false); //Night Sight yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10121, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1061153, LabelColor, false, false); //Luck yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10120, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075624, LabelColor, false, false); //Enhance Potions yOffset += 1; } } else if (menuCat == 15) // == Ranged == { if (itemRef == 2) { if (twoHanded) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10160, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1080416, LabelColor, false, false); //Velocity yOffset += 1; } AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10102, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075616, LabelColor, false, false); //Hit Chance Increase yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10101, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075620, LabelColor, false, false); //Defense Chance Increase yOffset += 1; if (twoHanded) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10161, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1072792, LabelColor, false, false); //Balanced yOffset += 1; } } } else if (menuCat == 4) // == RESISTS == { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10154, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1061161, LabelColor, false, false); //Poison Resist yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10151, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1061158, LabelColor, false, false); //Physcial Resist yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10152, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1061159, LabelColor, false, false); //Fire Resist yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10155, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1061162, LabelColor, false, false); //Energy Resist yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10153, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1061160, LabelColor, false, false); //Cold Resist yOffset += 1; } else if (menuCat == 5) // == STATS == { if (itemRef == 3 || itemRef == 5) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10110, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075632, LabelColor, false, false); //Stamina Increase yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10103, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075627, LabelColor, false, false); //Hit Points Regeneration yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10104, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079411, LabelColor, false, false); //Stamina Regeneration yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10105, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079410, LabelColor, false, false); //Mana Regeneration yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10111, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075631, LabelColor, false, false); //Mana Increaase yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10109, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1075630, LabelColor, false, false); //Hit Point Increase yOffset += 1; } else if (itemRef == 6) { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10106, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079767, LabelColor, false, false); //Strength Bonus yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10108, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079756, LabelColor, false, false); //Intelligence Bonus yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10107, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079732, LabelColor, false, false); //Dexterity Bonus yOffset += 1; } } else if (menuCat == 6) // == HIT AREA EFFECTS == { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10133, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079697, LabelColor, false, false); //Hit Poison Area yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10130, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079696, LabelColor, false, false); //Hit Physical Area yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10131, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079695, LabelColor, false, false); //Hit Fire Area yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10134, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079694, LabelColor, false, false); //Hit Energy Area yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10132, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079693, LabelColor, false, false); //Hit Cold Area yOffset += 1; } else if (menuCat == 7) // == ON HIT EFFECTS == { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10126, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079707, LabelColor, false, false); // Hit Stam Leech yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10127, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079701, LabelColor, false, false); //Hit Mana Leech yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10135, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079706, LabelColor, false, false); //Hit Magic Arrow yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10129, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079700, LabelColor, false, false); //Hit Lower Defense yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10128, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079699, LabelColor, false, false); //Hit Lower Attack yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10138, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079705, LabelColor, false, false); //Hit Lightning yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10125, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079698, LabelColor, false, false); //Hit Life Leeach yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10136, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079704, LabelColor, false, false); //Hit Harm yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10137, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079703, LabelColor, false, false); //Hit Fireball yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10139, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079702, LabelColor, false, false); //Hit Dispel yOffset += 1; } else if (menuCat == 8) // == SLAYERS == { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10215, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079755, LabelColor, false, false); //Water Elemental Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10202, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079754, LabelColor, false, false); //Troll Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10205, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079753, LabelColor, false, false); //Terathan Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10212, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079746, LabelColor, false, false); //Spider Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10220, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079745, LabelColor, false, false); //Snow Elemental Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10206, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079744, LabelColor, false, false); //Snake Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10213, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079743, LabelColor, false, false); //Scorpion Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10217, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079742, LabelColor, false, false); //Poison Elemental Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10201, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079741, LabelColor, false, false); //Orc Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10211, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079740, LabelColor, false, false); //Ophidian Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10203, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079739, LabelColor, false, false); //Ogre Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10207, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079738, LabelColor, false, false); //Lizardman Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10208, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079737, LabelColor, false, false); //Gargoyle Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10214, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079736, LabelColor, false, false); //Fire Elemental Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10218, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079735, LabelColor, false, false); //Earth Elemental Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10204, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1061284, LabelColor, false, false); //Dragon Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10219, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079734, LabelColor, false, false); //Blood Elemental Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10216, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079733, LabelColor, false, false); //Air Elemental Slayer yOffset += 1; } else if (menuCat == 9) // == SUPER SLAYERS == { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10221, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079752, LabelColor, false, false); //Undead Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10223, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079751, LabelColor, false, false); //Reptile Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10222, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079750, LabelColor, false, false); //Repond Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10227, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1154652, LabelColor, false, false); //Fey Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10226, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079749, LabelColor, false, false); //Elemental Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10224, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079748, LabelColor, false, false); //Demon Slayer yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10225, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1079747, LabelColor, false, false); //Arachnid Slayer yOffset += 1; } else if (menuCat == 10) // == SKILL GROUP 1 == { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10251, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044102, LabelColor, false, false); //Fencing yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10252, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044101, LabelColor, false, false); //Mace Fighting yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10253, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044100, LabelColor, false, false); //Swordsmanship yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10254, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044089, LabelColor, false, false); //Musicianship yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10255, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044085, LabelColor, false, false); //Magery yOffset += 1; } else if (menuCat == 11) // == SKILL GROUP 2 == { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10256, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044103, LabelColor, false, false); //Wrestling yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10257, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044095, LabelColor, false, false); //Animal Taming yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10258, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044092, LabelColor, false, false); //Spirit Speak yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10259, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044087, LabelColor, false, false); //Tactics yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10260, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044082, LabelColor, false, false); //Provocation yOffset += 1; } else if (menuCat == 12) // == SKILL GROUP 3 == { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10261, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044110, LabelColor, false, false); //Focus yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10262, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044065, LabelColor, false, false); //Parrying yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10263, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044107, LabelColor, false, false); //Stealth yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10264, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044106, LabelColor, false, false); //Meditation yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10265, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044062, LabelColor, false, false); //Animal Lore yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10266, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044075, LabelColor, false, false); //Discordance yOffset += 1; } else if (menuCat == 13) // == SKILL GROUP 4 == { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10267, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044115, LabelColor, false, false); //Mysticism yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10268, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044112, LabelColor, false, false); //Bushido yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10269, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044109, LabelColor, false, false); //Necromancy yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10270, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044099, LabelColor, false, false); //Veterinary yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10271, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044093, LabelColor, false, false); //Stealing yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10272, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044076, LabelColor, false, false); //Eval Intelligence yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10273, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044061, LabelColor, false, false); //Anatomy yOffset += 1; } else if (menuCat == 14) // == SKILL GROUP 5 == { AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10274, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044069, LabelColor, false, false); //Peacemaking yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10280, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044117, LabelColor, false, false); //Throwing yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10275, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044113, LabelColor, false, false); //Ninjitsu yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10276, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044111, LabelColor, false, false); //Chivalary yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10277, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044091, LabelColor, false, false); //Archery yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10278, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044086, LabelColor, false, false); //Resist Spells yOffset += 1; AddButton(250, 90 + (yOffset * 20), 4005, 4007, 10279, GumpButtonType.Reply, 0); AddHtmlLocalized(295, 90 + (yOffset * 20), 150, 18, 1044077, LabelColor, false, false); //Healing yOffset += 1; } AddButton(15, 490, 4005, 4007, 1, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 490, 150, 20, 1011012, LabelColor, false, false); //Cancel }
public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; PlayerMobile pm = from as PlayerMobile; ImbuingContext context = Imbuing.GetContext(from); m_Item = context.LastImbued; int buttonNum = 0; int buttonRNum = 0; if ((info.ButtonID > 0 && info.ButtonID < 10000) || info.ButtonID == 10099) { buttonNum = 0; } else if (info.ButtonID > 20004) { buttonNum = 30000; } else if ((info.ButtonID > 10100) && (info.ButtonID < 10300)) { buttonNum = 10101; buttonRNum = info.ButtonID - 10100; } else { buttonNum = info.ButtonID; } switch (buttonNum) { case 0: { // = Close/Cancel break; } case 10001: { context.ImbMenu_Cat = 1; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10002: { context.ImbMenu_Cat = 2; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10003: { context.ImbMenu_Cat = 3; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10004: { context.ImbMenu_Cat = 4; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10005: { context.ImbMenu_Cat = 5; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10006: { context.ImbMenu_Cat = 6; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10007: { context.ImbMenu_Cat = 7; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10008: { context.ImbMenu_Cat = 8; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10009: { context.ImbMenu_Cat = 9; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10010: { context.ImbMenu_Cat = 10; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10011: { context.ImbMenu_Cat = 11; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10012: { context.ImbMenu_Cat = 12; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10013: { context.ImbMenu_Cat = 13; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10014: { context.ImbMenu_Cat = 14; from.SendGump(new ImbuingGumpB(from, context.LastImbued)); break; } case 10099: // = Cancel { break; } case 10101: // = Proceed to Attribute Intensity Menu [ImbuingC.cs] { context.Imbue_Mod = buttonRNum; from.SendGump(new ImbuingGumpC(from, context.LastImbued, buttonRNum, -1)); break; } } return; }
public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; ImbuingContext context = Imbuing.GetContext(from); switch (info.ButtonID) { case 0: // Close case 1: { from.EndAction(typeof(Imbuing)); break; } case 10005: // Imbue Item { from.SendLocalizedMessage(1079589); //Target an item you wish to imbue. from.Target = new ImbueItemTarget(); from.Target.BeginTimeout(from, TimeSpan.FromSeconds(10.0)); break; } case 10006: // Reimbue Last { Item it = context.LastImbued; int mod = context.Imbue_Mod; int modint = context.Imbue_ModInt; if (it == null || mod < 0 || modint == 0) { from.SendLocalizedMessage(1113572); // You haven't imbued anything yet! from.EndAction(typeof(Imbuing)); break; } if (Imbuing.CanImbueItem(from, it) && Imbuing.OnBeforeImbue(from, it, mod, modint)) { Imbuing.ImbueItem(from, it, mod, modint); from.SendGump(new ImbuingGump(from)); } break; } case 10007: // Imbue Last Item { Item item = context.LastImbued; int mod = context.Imbue_Mod; int modint = context.Imbue_ModInt; if (context.LastImbued == null) { from.SendLocalizedMessage(1113572); // You haven't imbued anything yet! from.EndAction(typeof(Imbuing)); break; } else { ImbueStep1(from, item); } break; } case 10008: // Imbue Last Property { context.LastImbued = null; int mod = context.Imbue_Mod; int modint = context.Imbue_ModInt; if (modint < 0) { modint = 0; } if (mod < 0) { from.SendLocalizedMessage(1113572); // You haven't imbued anything yet! from.EndAction(typeof(Imbuing)); break; } else { ImbuingGump.ImbueLastProp(from, mod, modint); } break; } case 10010: // Unravel Item { from.SendLocalizedMessage(1080422); // Target an item you wish to magically unravel. from.Target = new UnravelTarget(); from.Target.BeginTimeout(from, TimeSpan.FromSeconds(10.0)); break; } case 10011: // Unravel Container { from.SendLocalizedMessage(1080422); // Target an item you wish to magically unravel. from.Target = new UnravelContainerTarget(); from.Target.BeginTimeout(from, TimeSpan.FromSeconds(10.0)); break; } } return; }
public override void OnResponse(RelayInfo info) { ImbuingContext context = Imbuing.GetContext(User); switch (info.ButtonID) { case 0: // Close case 1: { User.EndAction(typeof(Imbuing)); break; } case 10005: // Imbue Item { User.SendLocalizedMessage(1079589); //Target an item you wish to imbue. User.Target = new ImbueItemTarget(); User.Target.BeginTimeout(User, TimeSpan.FromSeconds(10.0)); break; } case 10006: // Reimbue Last { Item item = context.LastImbued; int mod = context.Imbue_Mod; int modint = context.Imbue_ModInt; if (item == null || mod < 0 || modint == 0) { User.SendLocalizedMessage(1113572); // You haven't imbued anything yet! User.EndAction(typeof(Imbuing)); break; } if (Imbuing.CanImbueItem(User, item) && Imbuing.OnBeforeImbue(User, item, mod, modint)) { Imbuing.TryImbueItem(User, item, mod, modint); ImbueGump.SendGumpDelayed(User); } break; } case 10007: // Imbue Last Item { Item item = context.LastImbued; int mod = context.Imbue_Mod; int modint = context.Imbue_ModInt; if (context.LastImbued == null) { User.SendLocalizedMessage(1113572); // You haven't imbued anything yet! User.EndAction(typeof(Imbuing)); break; } ImbueStep1(User, item); break; } case 10008: // Imbue Last Property { context.LastImbued = null; int mod = context.Imbue_Mod; int modint = context.Imbue_ModInt; if (modint < 0) { modint = 0; } if (mod < 0) { User.SendLocalizedMessage(1113572); // You haven't imbued anything yet! User.EndAction(typeof(Imbuing)); break; } ImbueLastProp(User, mod, modint); break; } case 10010: // Unravel Item { User.SendLocalizedMessage(1080422); // Target an item you wish to magically unravel. User.Target = new UnravelTarget(); User.Target.BeginTimeout(User, TimeSpan.FromSeconds(10.0)); break; } case 10011: // Unravel Container { User.SendLocalizedMessage(1080422); // Target an item you wish to magically unravel. User.Target = new UnravelContainerTarget(); User.Target.BeginTimeout(User, TimeSpan.FromSeconds(10.0)); break; } } }
public override void OnResponse(RelayInfo info) { ImbuingContext context = Imbuing.GetContext(User); switch (info.ButtonID) { case 0: //Close { User.EndAction(typeof(Imbuing)); break; } case 10051: // Decrease Mod Value [<] { m_Value = Math.Max(ItemPropertyInfo.GetMinIntensity(m_Item, m_Info.ID), m_Value - 1); Refresh(); break; } case 10052: // Decrease Mod Value [<<] { m_Value = Math.Max(ItemPropertyInfo.GetMinIntensity(m_Item, m_Info.ID), m_Value - 10); Refresh(); break; } case 10053: // Minimum Mod Value [<<<] { m_Value = ItemPropertyInfo.GetMinIntensity(m_Item, m_Info.ID); Refresh(); break; } case 10054: // Increase Mod Value [>] { m_Value = Math.Min(ItemPropertyInfo.GetMaxIntensity(m_Item, m_Info.ID), m_Value + 1); Refresh(); break; } case 10055: // Increase Mod Value [>>] { m_Value = Math.Min(ItemPropertyInfo.GetMaxIntensity(m_Item, m_Info.ID), m_Value + 10); Refresh(); break; } case 10056: // Maximum Mod Value [>>>] { m_Value = ItemPropertyInfo.GetMaxIntensity(m_Item, m_Info.ID); Refresh(); break; } case 10099: // Back { BaseGump.SendGump(new ImbueSelectGump(User, context.LastImbued)); break; } case 10100: // Imbue the Item { context.Imbue_IWmax = m_MaxWeight; if (Imbuing.OnBeforeImbue(User, m_Item, m_ID, m_Value, m_TotalProps, Imbuing.GetMaxProps(m_Item), m_TotalItemWeight, m_MaxWeight)) { Imbuing.TryImbueItem(User, m_Item, m_ID, m_Value); SendGumpDelayed(User); } break; } } }
public override void OnResponse(RelayInfo info) { ImbuingContext context = Imbuing.GetContext(User); switch (info.ButtonID) { case 0: // Close/Cancel case 1: { User.EndAction(typeof(Imbuing)); break; } case 10001: { context.ImbMenu_Cat = 1; Refresh(); break; } case 10002: { context.ImbMenu_Cat = 2; Refresh(); break; } case 10003: { context.ImbMenu_Cat = 3; Refresh(); break; } case 10004: { context.ImbMenu_Cat = 4; Refresh(); break; } case 10005: { context.ImbMenu_Cat = 5; Refresh(); break; } case 10006: { context.ImbMenu_Cat = 6; Refresh(); break; } case 10007: { context.ImbMenu_Cat = 7; Refresh(); break; } case 10008: { context.ImbMenu_Cat = 8; Refresh(); break; } case 10009: { context.ImbMenu_Cat = 9; Refresh(); break; } case 10010: { context.ImbMenu_Cat = 10; Refresh(); break; } case 10011: { context.ImbMenu_Cat = 11; Refresh(); break; } case 10012: { context.ImbMenu_Cat = 12; Refresh(); break; } case 10013: { context.ImbMenu_Cat = 13; Refresh(); break; } case 10014: { context.ImbMenu_Cat = 14; Refresh(); break; } case 10015: { context.ImbMenu_Cat = 15; Refresh(); break; } default: // = Proceed to Attribute Intensity Menu [ImbuingC.cs] { int id = info.ButtonID - 10100; // Converts AosElementalAttribute (used as elemental damage on weapons) to WeaponAttributes Elemental resists if (m_Item is BaseWeapon && id >= 51 && id <= 55) { id += 182; } context.Imbue_Mod = id; if (Imbuing.OnBeforeImbue(User, context.LastImbued, id, -1)) { BaseGump.SendGump(new ImbueGump(User, context.LastImbued, id, -1)); } break; } } }
public override void AddGumpLayout() { // SoulForge Check if (!Imbuing.CheckSoulForge(User, 2)) { return; } ImbuingContext context = Imbuing.GetContext(User); if (!ItemPropertyInfo.Table.ContainsKey(m_ID)) { return; } m_Info = ItemPropertyInfo.Table[m_ID]; int minInt = ItemPropertyInfo.GetMinIntensity(m_Item, m_ID); int maxInt = ItemPropertyInfo.GetMaxIntensity(m_Item, m_ID); int weight = m_Info.Weight; if (m_Value < minInt) { m_Value = minInt; } if (m_Value > maxInt) { m_Value = maxInt; } double currentIntensity = Math.Floor((m_Value / (double)maxInt) * 100); // Set context context.LastImbued = m_Item; context.Imbue_Mod = m_ID; context.Imbue_ModVal = weight; context.ImbMenu_ModInc = ItemPropertyInfo.GetScale(m_Item, m_ID); // Current Mod Weight m_TotalItemWeight = Imbuing.GetTotalWeight(m_Item, m_ID); m_TotalProps = Imbuing.GetTotalMods(m_Item, m_ID); if (maxInt <= 1) { currentIntensity = 100; } var propWeight = (int)Math.Floor(((double)weight / (double)maxInt) * m_Value); // Maximum allowed Property Weight & Item Mod Count m_MaxWeight = Imbuing.GetMaxWeight(m_Item); // Times Item has been Imbued int timesImbued = Imbuing.TimesImbued(m_Item); // Check Ingredients needed at the current Intensity var gemAmount = Imbuing.GetGemAmount(m_Item, m_ID, m_Value); var primResAmount = Imbuing.GetPrimaryAmount(m_Item, m_ID, m_Value); var specResAmount = Imbuing.GetSpecialAmount(m_Item, m_ID, m_Value); AddPage(0); AddBackground(0, 0, 520, 440, 5054); AddImageTiled(10, 10, 500, 420, 2624); AddImageTiled(10, 30, 500, 10, 5058); AddImageTiled(250, 40, 10, 290, 5058); AddImageTiled(10, 180, 500, 10, 5058); AddImageTiled(10, 330, 500, 10, 5058); AddImageTiled(10, 400, 500, 10, 5058); AddAlphaRegion(10, 10, 500, 420); AddHtmlLocalized(10, 12, 520, 20, 1079717, LabelColor, false, false); // <CENTER>IMBUING CONFIRMATION</CENTER> AddHtmlLocalized(50, 50, 200, 20, 1114269, LabelColor, false, false); // PROPERTY INFORMATION AddHtmlLocalized(25, 80, 80, 20, 1114270, LabelColor, false, false); // Property: if (m_Info.AttributeName != null) { AddHtmlLocalized(95, 80, 150, 20, 1114057, m_Info.AttributeName.ToString(), LabelColor, false, false); } AddHtmlLocalized(25, 100, 80, 20, 1114271, LabelColor, false, false); // Replaces: var replace = WhatReplacesWhat(m_ID, m_Item); if (replace != null) { AddHtmlLocalized(95, 100, 150, 20, 1114057, replace.ToString(), LabelColor, false, false); } // Weight Modifier AddHtmlLocalized(25, 120, 80, 20, 1114272, 0xFFFFFF, false, false); // Weight: AddLabel(95, 120, IceHue, String.Format("{0}x", ((double)m_Info.Weight / 100.0).ToString("0.0"))); AddHtmlLocalized(25, 140, 80, 20, 1114273, LabelColor, false, false); // Intensity: AddLabel(95, 140, IceHue, String.Format("{0}%", currentIntensity)); // Materials needed AddHtmlLocalized(10, 200, 245, 20, 1044055, LabelColor, false, false); // <CENTER>MATERIALS</CENTER> AddHtmlLocalized(40, 230, 180, 20, m_Info.PrimaryName, LabelColor, false, false); AddLabel(210, 230, IceHue, primResAmount.ToString()); AddHtmlLocalized(40, 255, 180, 20, m_Info.GemName, LabelColor, false, false); AddLabel(210, 255, IceHue, gemAmount.ToString()); if (specResAmount > 0) { AddHtmlLocalized(40, 280, 180, 17, m_Info.SpecialName, LabelColor, false, false); AddLabel(210, 280, IceHue, specResAmount.ToString()); } // Mod Description AddHtmlLocalized(280, 55, 200, 110, m_Info.Description, LabelColor, false, false); AddHtmlLocalized(350, 200, 150, 20, 1113650, LabelColor, false, false); // RESULTS AddHtmlLocalized(280, 220, 150, 20, 1113645, LabelColor, false, false); // Properties: AddLabel(430, 220, GetColor(m_TotalProps + 1, 5), String.Format("{0}/{1}", m_TotalProps + 1, Imbuing.GetMaxProps(m_Item))); int projWeight = m_TotalItemWeight + propWeight; AddHtmlLocalized(280, 240, 150, 20, 1113646, LabelColor, false, false); // Total Property Weight: AddLabel(430, 240, GetColor(projWeight, m_MaxWeight), String.Format("{0}/{1}", projWeight, m_MaxWeight)); AddHtmlLocalized(280, 260, 150, 20, 1113647, LabelColor, false, false); // Times Imbued: AddLabel(430, 260, GetColor(timesImbued, 20), String.Format("{0}/20", timesImbued)); // ===== CALCULATE DIFFICULTY ===== var truePropWeight = (int)(((double)propWeight / (double)weight) * 100); var trueTotalWeight = Imbuing.GetTotalWeight(m_Item, -1, false); double dif; double suc = Imbuing.GetSuccessChance(User, m_Item, trueTotalWeight, truePropWeight, out dif); AddHtmlLocalized(300, 300, 150, 20, 1044057, 0xFFFFFF, false, false); // Success Chance: AddLabel(420, 300, GetSuccessChanceHue(suc), String.Format("{0}%", suc.ToString("0.0"))); // - Attribute Level if (maxInt > 1) { AddHtmlLocalized(235, 350, 100, 17, 1062300, LabelColor, false, false); // New Value: if (m_ID == 41) // - Mage Weapon Value ( i.e [Mage Weapon -25] ) { AddLabel(250, 370, IceHue, String.Format("-{0}", 30 - m_Value)); } else if (maxInt <= 8 || m_ID == 21 || m_ID == 17) // - Show Property Value as just Number ( i.e [Mana Regen 2] ) { AddLabel(256, 370, IceHue, String.Format("{0}", m_Value)); // - Show Property Value as % ( i.e [Hit Fireball 25%] ) } else { int val = m_Value; if (m_ID >= 51 && m_ID <= 55) { var resistances = Imbuing.GetBaseResists(m_Item); switch (m_ID) { case 51: val += resistances[0]; break; case 52: val += resistances[1]; break; case 53: val += resistances[2]; break; case 54: val += resistances[3]; break; case 55: val += resistances[4]; break; } } AddLabel(256, 370, IceHue, String.Format("{0}%", val)); } // Buttons AddButton(179, 372, 0x1464, 0x1464, 10053, GumpButtonType.Reply, 0); AddButton(187, 372, 0x1466, 0x1466, 10053, GumpButtonType.Reply, 0); AddButton(199, 372, 0x1464, 0x1464, 10052, GumpButtonType.Reply, 0); AddButton(207, 372, 0x1466, 0x1466, 10052, GumpButtonType.Reply, 0); AddButton(221, 372, 0x1464, 0x1464, 10051, GumpButtonType.Reply, 0); AddButton(229, 372, 0x1466, 0x1466, 10051, GumpButtonType.Reply, 0); AddButton(280, 372, 0x1464, 0x1464, 10054, GumpButtonType.Reply, 0); AddButton(288, 372, 0x1466, 0x1466, 10054, GumpButtonType.Reply, 0); AddButton(300, 372, 0x1464, 0x1464, 10055, GumpButtonType.Reply, 0); AddButton(308, 372, 0x1466, 0x1466, 10055, GumpButtonType.Reply, 0); AddButton(320, 372, 0x1464, 0x1464, 10056, GumpButtonType.Reply, 0); AddButton(328, 372, 0x1466, 0x1466, 10056, GumpButtonType.Reply, 0); AddLabel(322, 370, 0, ">"); AddLabel(326, 370, 0, ">"); AddLabel(330, 370, 0, ">"); AddLabel(304, 370, 0, ">"); AddLabel(308, 370, 0, ">"); AddLabel(286, 370, 0, ">"); AddLabel(226, 370, 0, "<"); AddLabel(203, 370, 0, "<"); AddLabel(207, 370, 0, "<"); AddLabel(181, 370, 0, "<"); AddLabel(185, 370, 0, "<"); AddLabel(189, 370, 0, "<"); } AddButton(15, 410, 4005, 4007, 10099, GumpButtonType.Reply, 0); AddHtmlLocalized(50, 410, 100, 18, 1114268, LabelColor, false, false); // Back AddButton(390, 410, 4005, 4007, 10100, GumpButtonType.Reply, 0); AddHtmlLocalized(425, 410, 120, 18, 1114267, LabelColor, false, false); // Imbue Item }