From b5e3f49d06a2cfcd68cf30d875c99bd283cd9930 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Mon, 27 Jan 2025 11:29:23 -0800 Subject: [PATCH] fix: Converts MakersMark gump to static & CraftGumpItem to dynamic (#2095) --- .../Engines/Craft/Core/CraftGumpItem.cs | 562 +++++++++--------- .../UOContent/Engines/Craft/Core/CraftItem.cs | 1 - .../Engines/Craft/Core/QueryMakersMarkGump.cs | 93 ++- 3 files changed, 331 insertions(+), 325 deletions(-) diff --git a/Projects/UOContent/Engines/Craft/Core/CraftGumpItem.cs b/Projects/UOContent/Engines/Craft/Core/CraftGumpItem.cs index a8938b511..25cab64b6 100644 --- a/Projects/UOContent/Engines/Craft/Core/CraftGumpItem.cs +++ b/Projects/UOContent/Engines/Craft/Core/CraftGumpItem.cs @@ -4,333 +4,341 @@ using Server.Items; using Server.Mobiles; using Server.Network; -namespace Server.Engines.Craft +namespace Server.Engines.Craft; + +public class CraftGumpItem : DynamicGump { - public class CraftGumpItem : Gump + private const int LabelHue = 0x480; // 0x384 + private const int RedLabelHue = 0x20; + + private const int LabelColor = 0x7FFF; + private const int RedLabelColor = 0x6400; + + private const int GreyLabelColor = 0x3DEF; + + private static readonly Type typeofBlankScroll = typeof(BlankScroll); + private static readonly Type typeofSpellScroll = typeof(SpellScroll); + + private readonly Mobile _from; + private readonly CraftItem _craftItem; + private readonly CraftSystem _craftSystem; + private readonly BaseTool _tool; + + public override bool Singleton => true; + + public CraftGumpItem(Mobile from, CraftSystem craftSystem, CraftItem craftItem, BaseTool tool) : base(40, 40) { - private const int LabelHue = 0x480; // 0x384 - private const int RedLabelHue = 0x20; + _from = from; + _craftSystem = craftSystem; + _craftItem = craftItem; + _tool = tool; + } - private const int LabelColor = 0x7FFF; - private const int RedLabelColor = 0x6400; + protected override void BuildLayout(ref DynamicGumpBuilder builder) + { + builder.AddPage(); + builder.AddBackground(0, 0, 530, 417, 5054); + builder.AddImageTiled(10, 10, 510, 22, 2624); + builder.AddImageTiled(10, 37, 150, 148, 2624); + builder.AddImageTiled(165, 37, 355, 90, 2624); + builder.AddImageTiled(10, 190, 155, 22, 2624); + builder.AddImageTiled(10, 217, 150, 53, 2624); + builder.AddImageTiled(165, 132, 355, 80, 2624); + builder.AddImageTiled(10, 275, 155, 22, 2624); + builder.AddImageTiled(10, 302, 150, 53, 2624); + builder.AddImageTiled(165, 217, 355, 80, 2624); + builder.AddImageTiled(10, 360, 155, 22, 2624); + builder.AddImageTiled(165, 302, 355, 80, 2624); + builder.AddImageTiled(10, 387, 510, 22, 2624); + builder.AddAlphaRegion(10, 10, 510, 399); - private const int GreyLabelColor = 0x3DEF; + builder.AddHtmlLocalized(170, 40, 150, 20, 1044053, LabelColor); // ITEM + builder.AddHtmlLocalized(10, 192, 150, 22, 1044054, LabelColor); //
SKILLS
+ builder.AddHtmlLocalized(10, 277, 150, 22, 1044055, LabelColor); //
MATERIALS
+ builder.AddHtmlLocalized(10, 362, 150, 22, 1044056, LabelColor); //
OTHER
- private static readonly Type typeofBlankScroll = typeof(BlankScroll); - private static readonly Type typeofSpellScroll = typeof(SpellScroll); - private readonly CraftItem m_CraftItem; - private readonly CraftSystem m_CraftSystem; - private readonly Mobile m_From; - private readonly BaseTool m_Tool; - - private int m_OtherCount; - - private bool m_ShowExceptionalChance; - - public override bool Singleton => true; - - public CraftGumpItem(Mobile from, CraftSystem craftSystem, CraftItem craftItem, BaseTool tool) : base(40, 40) + if (_craftSystem.GumpTitle.Number > 0) { - m_From = from; - m_CraftSystem = craftSystem; - m_CraftItem = craftItem; - m_Tool = tool; - - AddPage(0); - AddBackground(0, 0, 530, 417, 5054); - AddImageTiled(10, 10, 510, 22, 2624); - AddImageTiled(10, 37, 150, 148, 2624); - AddImageTiled(165, 37, 355, 90, 2624); - AddImageTiled(10, 190, 155, 22, 2624); - AddImageTiled(10, 217, 150, 53, 2624); - AddImageTiled(165, 132, 355, 80, 2624); - AddImageTiled(10, 275, 155, 22, 2624); - AddImageTiled(10, 302, 150, 53, 2624); - AddImageTiled(165, 217, 355, 80, 2624); - AddImageTiled(10, 360, 155, 22, 2624); - AddImageTiled(165, 302, 355, 80, 2624); - AddImageTiled(10, 387, 510, 22, 2624); - AddAlphaRegion(10, 10, 510, 399); - - AddHtmlLocalized(170, 40, 150, 20, 1044053, LabelColor); // ITEM - AddHtmlLocalized(10, 192, 150, 22, 1044054, LabelColor); //
SKILLS
- AddHtmlLocalized(10, 277, 150, 22, 1044055, LabelColor); //
MATERIALS
- AddHtmlLocalized(10, 362, 150, 22, 1044056, LabelColor); //
OTHER
- - if (craftSystem.GumpTitle.Number > 0) - { - AddHtmlLocalized(10, 12, 510, 20, craftSystem.GumpTitle.Number, LabelColor); - } - else - { - AddHtml(10, 12, 510, 20, craftSystem.GumpTitle.String); - } - - AddButton(15, 387, 4014, 4016, 0); - AddHtmlLocalized(50, 390, 150, 18, 1044150, LabelColor); // BACK - - var needsRecipe = craftItem.Recipe != null && from is PlayerMobile mobile && - !mobile.HasRecipe(craftItem.Recipe); - - if (needsRecipe) - { - AddButton(270, 387, 4005, 4007, 0, GumpButtonType.Page); - AddHtmlLocalized(305, 390, 150, 18, 1044151, GreyLabelColor); // MAKE NOW - } - else - { - AddButton(270, 387, 4005, 4007, 1); - AddHtmlLocalized(305, 390, 150, 18, 1044151, LabelColor); // MAKE NOW - } - - if (craftItem.NameNumber > 0) - { - AddHtmlLocalized(330, 40, 180, 18, craftItem.NameNumber, LabelColor); - } - else - { - AddLabel(330, 40, LabelHue, craftItem.NameString); - } - - if (craftItem.UseAllRes) - { - AddHtmlLocalized( - 170, - 302 + m_OtherCount++ * 20, - 310, - 18, - 1048176, // Makes as many as possible at once - LabelColor - ); - } - - DrawItem(); - DrawSkill(); - DrawResource(); - - if (craftItem.RequiredExpansion != Expansion.None) - { - var supportsEx = from.NetState?.SupportsExpansion(craftItem.RequiredExpansion) == true; - RequiredExpansionMessage(craftItem.RequiredExpansion).AddHtmlText( - this, - 170, - 302 + m_OtherCount++ * 20, - 310, - 18, - false, - false, - supportsEx ? LabelColor : RedLabelColor, - supportsEx ? LabelHue : RedLabelHue - ); - } - - if (needsRecipe) - { - AddHtmlLocalized( - 170, - 302 + m_OtherCount++ * 20, - 310, - 18, - 1073620, // You have not learned this recipe. - RedLabelColor - ); - } + builder.AddHtmlLocalized(10, 12, 510, 20, _craftSystem.GumpTitle.Number, LabelColor); + } + else + { + builder.AddHtml(10, 12, 510, 20, _craftSystem.GumpTitle.String); } - private static TextDefinition RequiredExpansionMessage(Expansion expansion) + builder.AddButton(15, 387, 4014, 4016, 0); + builder.AddHtmlLocalized(50, 390, 150, 18, 1044150, LabelColor); // BACK + + var needsRecipe = _craftItem.Recipe != null && _from is PlayerMobile mobile && + !mobile.HasRecipe(_craftItem.Recipe); + + if (needsRecipe) { - return expansion switch - { - Expansion.SE => 1063363, // * Requires the "Samurai Empire" expansion - Expansion.ML => 1072651, // * Requires the "Mondain's Legacy" expansion - _ => $"* Requires the \"{ExpansionInfo.GetInfo(expansion).Name}\" expansion" - }; + builder.AddButton(270, 387, 4005, 4007, 0, GumpButtonType.Page); + builder.AddHtmlLocalized(305, 390, 150, 18, 1044151, GreyLabelColor); // MAKE NOW + } + else + { + builder.AddButton(270, 387, 4005, 4007, 1); + builder.AddHtmlLocalized(305, 390, 150, 18, 1044151, LabelColor); // MAKE NOW } - public void DrawItem() + if (_craftItem.NameNumber > 0) { - var type = m_CraftItem.ItemType; - - AddItem(20, 50, m_CraftItem.ItemId, m_CraftItem.ItemHue); - - if (m_CraftItem.IsMarkable(type)) - { - AddHtmlLocalized( - 170, - 302 + m_OtherCount++ * 20, - 310, - 18, - 1044059, // This item may hold its maker's mark - LabelColor - ); - m_ShowExceptionalChance = true; - } + builder.AddHtmlLocalized(330, 40, 180, 18, _craftItem.NameNumber, LabelColor); + } + else + { + builder.AddLabel(330, 40, LabelHue, _craftItem.NameString); } - public void DrawSkill() + if (_craftItem.UseAllRes) { - for (var i = 0; i < m_CraftItem.Skills.Count; i++) - { - var skill = m_CraftItem.Skills[i]; - var minSkill = Math.Max(skill.MinSkill, 0); + builder.AddHtmlLocalized( + 170, + 302, + 310, + 18, + 1048176, // Makes as many as possible at once + LabelColor + ); + } - AddHtmlLocalized(170, 132 + i * 20, 200, 18, AosSkillBonuses.GetLabel(skill.SkillToMake), LabelColor); - AddLabel(430, 132 + i * 20, LabelHue, $"{minSkill:F1}"); - } + var otherCount = 1; - var res = m_CraftItem.UseSubRes2 ? m_CraftSystem.CraftSubRes2 : m_CraftSystem.CraftSubRes; - var resIndex = -1; + DrawItem(ref builder, ref otherCount, out var showExceptionalChance); + DrawSkill(ref builder, showExceptionalChance); + DrawResource(ref builder, ref otherCount); - var context = m_CraftSystem.GetContext(m_From); - - if (context != null) - { - resIndex = m_CraftItem.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex; - } - - var chance = m_CraftItem.GetSuccessChance( - m_From, - resIndex > -1 ? res.GetAt(resIndex).ItemType : null, - m_CraftSystem, + if (_craftItem.RequiredExpansion != Expansion.None) + { + var supportsEx = _from.NetState?.SupportsExpansion(_craftItem.RequiredExpansion) == true; + RequiredExpansionMessage(_craftItem.RequiredExpansion).AddHtmlText( + ref builder, + 170, + 302 + otherCount++ * 20, + 310, + 18, false, - out _ + false, + supportsEx ? LabelColor : RedLabelColor, + supportsEx ? LabelHue : RedLabelHue + ); + } + + if (needsRecipe) + { + builder.AddHtmlLocalized( + 170, + 302 + otherCount++ * 20, + 310, + 18, + 1073620, // You have not learned this recipe. + RedLabelColor + ); + } + } + + private static TextDefinition RequiredExpansionMessage(Expansion expansion) + { + return expansion switch + { + Expansion.SE => 1063363, // * Requires the "Samurai Empire" expansion + Expansion.ML => 1072651, // * Requires the "Mondain's Legacy" expansion + _ => $"* Requires the \"{ExpansionInfo.GetInfo(expansion).Name}\" expansion" + }; + } + + public void DrawItem(ref DynamicGumpBuilder builder, ref int otherCount, out bool showExceptionalChance) + { + var type = _craftItem.ItemType; + + builder.AddItem(20, 50, _craftItem.ItemId, _craftItem.ItemHue); + + if (_craftItem.IsMarkable(type)) + { + builder.AddHtmlLocalized( + 170, + 302 + otherCount++ * 20, + 310, + 18, + 1044059, // This item may hold its maker's mark + LabelColor ); - AddHtmlLocalized(170, 80, 250, 18, 1044057, LabelColor); // Success Chance: - AddLabel(430, 80, LabelHue, $"{Math.Clamp(chance, 0, 1) * 100:F1}%"); + showExceptionalChance = true; + } + else + { + showExceptionalChance = false; + } + } - if (m_ShowExceptionalChance) - { - var exceptChance = Math.Clamp(m_CraftItem.GetExceptionalChance(m_CraftSystem, chance, m_From), 0, 1.0); + public void DrawSkill(ref DynamicGumpBuilder builder, bool showExceptionalChance) + { + for (var i = 0; i < _craftItem.Skills.Count; i++) + { + var skill = _craftItem.Skills[i]; + var minSkill = Math.Max(skill.MinSkill, 0); - AddHtmlLocalized(170, 100, 250, 18, 1044058, 32767); // Exceptional Chance: - AddLabel(430, 100, LabelHue, $"{exceptChance * 100:F1}%"); - } + builder.AddHtmlLocalized(170, 132 + i * 20, 200, 18, AosSkillBonuses.GetLabel(skill.SkillToMake), LabelColor); + builder.AddLabel(430, 132 + i * 20, LabelHue, $"{minSkill:F1}"); } - public void DrawResource() + var res = _craftItem.UseSubRes2 ? _craftSystem.CraftSubRes2 : _craftSystem.CraftSubRes; + var resIndex = -1; + + var context = _craftSystem.GetContext(_from); + + if (context != null) { - var retainedColor = false; + resIndex = _craftItem.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex; + } - var context = m_CraftSystem.GetContext(m_From); + var chance = _craftItem.GetSuccessChance( + _from, + resIndex > -1 ? res.GetAt(resIndex).ItemType : null, + _craftSystem, + false, + out _ + ); - var res = m_CraftItem.UseSubRes2 ? m_CraftSystem.CraftSubRes2 : m_CraftSystem.CraftSubRes; - var resIndex = -1; + builder.AddHtmlLocalized(170, 80, 250, 18, 1044057, LabelColor); // Success Chance: + builder.AddLabel(430, 80, LabelHue, $"{Math.Clamp(chance, 0, 1) * 100:F1}%"); - if (context != null) + if (showExceptionalChance) + { + var exceptChance = Math.Clamp(_craftItem.GetExceptionalChance(_craftSystem, chance, _from), 0, 1.0); + + builder.AddHtmlLocalized(170, 100, 250, 18, 1044058, 32767); // Exceptional Chance: + builder.AddLabel(430, 100, LabelHue, $"{exceptChance * 100:F1}%"); + } + } + + public void DrawResource(ref DynamicGumpBuilder builder, ref int otherCount) + { + var retainedColor = false; + + var context = _craftSystem.GetContext(_from); + + var res = _craftItem.UseSubRes2 ? _craftSystem.CraftSubRes2 : _craftSystem.CraftSubRes; + var resIndex = -1; + + if (context != null) + { + resIndex = _craftItem.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex; + } + + var cropScroll = _craftItem.Resources.Count > 1 + && _craftItem.Resources[^1].ItemType == typeofBlankScroll + && typeofSpellScroll.IsAssignableFrom(_craftItem.ItemType); + + for (var i = 0; i < _craftItem.Resources.Count - (cropScroll ? 1 : 0) && i < 4; i++) + { + var craftResource = _craftItem.Resources[i]; + + var type = craftResource.ItemType; + var nameString = craftResource.Name.String; + var nameNumber = craftResource.Name.Number; + + // Resource Mutation + if (type == res.ResType && resIndex > -1) { - resIndex = m_CraftItem.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex; + var subResource = res.GetAt(resIndex); + + type = subResource.ItemType; + + nameString = subResource.Name.String; + nameNumber = subResource.GenericNameNumber; + + if (nameNumber <= 0) + { + nameNumber = subResource.Name.Number; + } } + // ****************** - var cropScroll = m_CraftItem.Resources.Count > 1 - && m_CraftItem.Resources[^1].ItemType == typeofBlankScroll - && typeofSpellScroll.IsAssignableFrom(m_CraftItem.ItemType); - - for (var i = 0; i < m_CraftItem.Resources.Count - (cropScroll ? 1 : 0) && i < 4; i++) + if (!retainedColor && _craftItem.RetainsColorFrom(_craftSystem, type)) { - var craftResource = m_CraftItem.Resources[i]; - - var type = craftResource.ItemType; - var nameString = craftResource.Name.String; - var nameNumber = craftResource.Name.Number; - - // Resource Mutation - if (type == res.ResType && resIndex > -1) - { - var subResource = res.GetAt(resIndex); - - type = subResource.ItemType; - - nameString = subResource.Name.String; - nameNumber = subResource.GenericNameNumber; - - if (nameNumber <= 0) - { - nameNumber = subResource.Name.Number; - } - } - // ****************** - - if (!retainedColor && m_CraftItem.RetainsColorFrom(m_CraftSystem, type)) - { - retainedColor = true; - AddHtmlLocalized( - 170, - 302 + m_OtherCount++ * 20, - 310, - 18, - 1044152, // * The item retains the color of this material - LabelColor - ); - AddLabel(500, 219 + i * 20, LabelHue, "*"); - } - - if (nameNumber > 0) - { - AddHtmlLocalized(170, 219 + i * 20, 310, 18, nameNumber, LabelColor); - } - else - { - AddLabel(170, 219 + i * 20, LabelHue, nameString); - } - - AddLabel(430, 219 + i * 20, LabelHue, craftResource.Amount.ToString()); - } - - if (m_CraftItem.NameNumber == 1041267) // runebook - { - AddHtmlLocalized(170, 219 + m_CraftItem.Resources.Count * 20, 310, 18, 1044447, LabelColor); - AddLabel(430, 219 + m_CraftItem.Resources.Count * 20, LabelHue, "1"); - } - - if (cropScroll) - { - AddHtmlLocalized( + retainedColor = true; + builder.AddHtmlLocalized( 170, - 302 + m_OtherCount++ * 20, - 360, + 302 + otherCount++ * 20, + 310, 18, - 1044379, // Inscribing scrolls also requires a blank scroll and mana. + 1044152, // * The item retains the color of this material LabelColor ); + builder.AddLabel(500, 219 + i * 20, LabelHue, "*"); } + + if (nameNumber > 0) + { + builder.AddHtmlLocalized(170, 219 + i * 20, 310, 18, nameNumber, LabelColor); + } + else + { + builder.AddLabel(170, 219 + i * 20, LabelHue, nameString); + } + + builder.AddLabel(430, 219 + i * 20, LabelHue, craftResource.Amount.ToString()); } - public override void OnResponse(NetState sender, in RelayInfo info) + if (_craftItem.NameNumber == 1041267) // runebook { - // Back Button - if (info.ButtonID == 0) + builder.AddHtmlLocalized(170, 219 + _craftItem.Resources.Count * 20, 310, 18, 1044447, LabelColor); + builder.AddLabel(430, 219 + _craftItem.Resources.Count * 20, LabelHue, "1"); + } + + if (cropScroll) + { + builder.AddHtmlLocalized( + 170, + 302 + otherCount++ * 20, + 360, + 18, + 1044379, // Inscribing scrolls also requires a blank scroll and mana. + LabelColor + ); + } + } + + public override void OnResponse(NetState sender, in RelayInfo info) + { + var from = sender.Mobile; + + // Back Button + if (info.ButtonID == 0) + { + var craftGump = new CraftGump(from, _craftSystem, _tool, null); + from.SendGump(craftGump); + } + else // Make Button + { + var num = _craftSystem.CanCraft(from, _tool, _craftItem.ItemType); + + if (num > 0) { - var craftGump = new CraftGump(m_From, m_CraftSystem, m_Tool, null); - m_From.SendGump(craftGump); + from.SendGump(new CraftGump(from, _craftSystem, _tool, num)); } - else // Make Button + else { - var num = m_CraftSystem.CanCraft(m_From, m_Tool, m_CraftItem.ItemType); + Type type = null; - if (num > 0) + var context = _craftSystem.GetContext(from); + + if (context != null) { - m_From.SendGump(new CraftGump(m_From, m_CraftSystem, m_Tool, num)); - } - else - { - Type type = null; + var res = _craftItem.UseSubRes2 ? _craftSystem.CraftSubRes2 : _craftSystem.CraftSubRes; + var resIndex = _craftItem.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex; - var context = m_CraftSystem.GetContext(m_From); - - if (context != null) + if (resIndex > -1) { - var res = m_CraftItem.UseSubRes2 ? m_CraftSystem.CraftSubRes2 : m_CraftSystem.CraftSubRes; - var resIndex = m_CraftItem.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex; - - if (resIndex > -1) - { - type = res.GetAt(resIndex).ItemType; - } + type = res.GetAt(resIndex).ItemType; } - - m_CraftSystem.CreateItem(m_From, m_CraftItem.ItemType, type, m_Tool, m_CraftItem); } + + _craftSystem.CreateItem(from, _craftItem.ItemType, type, _tool, _craftItem); } } } diff --git a/Projects/UOContent/Engines/Craft/Core/CraftItem.cs b/Projects/UOContent/Engines/Craft/Core/CraftItem.cs index 42e7856f7..3843d07d1 100644 --- a/Projects/UOContent/Engines/Craft/Core/CraftItem.cs +++ b/Projects/UOContent/Engines/Craft/Core/CraftItem.cs @@ -1400,7 +1400,6 @@ namespace Server.Engines.Craft m_From.SendGump( new QueryMakersMarkGump( quality, - m_From, m_CraftItem, m_CraftSystem, m_TypeRes, diff --git a/Projects/UOContent/Engines/Craft/Core/QueryMakersMarkGump.cs b/Projects/UOContent/Engines/Craft/Core/QueryMakersMarkGump.cs index 60f6fec45..e2bbd57ea 100644 --- a/Projects/UOContent/Engines/Craft/Core/QueryMakersMarkGump.cs +++ b/Projects/UOContent/Engines/Craft/Core/QueryMakersMarkGump.cs @@ -3,59 +3,58 @@ using Server.Gumps; using Server.Items; using Server.Network; -namespace Server.Engines.Craft +namespace Server.Engines.Craft; + +public class QueryMakersMarkGump : StaticGump { - public class QueryMakersMarkGump : Gump + private readonly CraftItem _craftItem; + private readonly CraftSystem _craftSystem; + private readonly int _quality; + private readonly BaseTool _tool; + private readonly Type _typeRes; + + public override bool Singleton => true; + + public QueryMakersMarkGump(int quality, CraftItem craftItem, CraftSystem craftSystem, Type typeRes, BaseTool tool) + : base(100, 200) { - private readonly CraftItem m_CraftItem; - private readonly CraftSystem m_CraftSystem; - private readonly Mobile m_From; - private readonly int m_Quality; - private readonly BaseTool m_Tool; - private readonly Type m_TypeRes; + _quality = quality; + _craftItem = craftItem; + _craftSystem = craftSystem; + _typeRes = typeRes; + _tool = tool; + } - public override bool Singleton => true; + protected override void BuildLayout(ref StaticGumpBuilder builder) + { + builder.AddPage(); - public QueryMakersMarkGump( - int quality, Mobile from, CraftItem craftItem, CraftSystem craftSystem, Type typeRes, - BaseTool tool - ) : base(100, 200) + builder.AddBackground(0, 0, 220, 170, 5054); + builder.AddBackground(10, 10, 200, 150, 3000); + + builder.AddHtmlLocalized(20, 20, 180, 80, 1018317); // Do you wish to place your maker's mark on this item? + + builder.AddHtmlLocalized(55, 100, 140, 25, 1011011); // CONTINUE + builder.AddButton(20, 100, 4005, 4007, 1); + + builder.AddHtmlLocalized(55, 125, 140, 25, 1011012); // CANCEL + builder.AddButton(20, 125, 4005, 4007, 0); + } + + public override void OnResponse(NetState sender, in RelayInfo info) + { + var from = sender.Mobile; + var makersMark = info.ButtonID == 1; + + if (makersMark) { - m_Quality = quality; - m_From = from; - m_CraftItem = craftItem; - m_CraftSystem = craftSystem; - m_TypeRes = typeRes; - m_Tool = tool; - - AddPage(0); - - AddBackground(0, 0, 220, 170, 5054); - AddBackground(10, 10, 200, 150, 3000); - - AddHtmlLocalized(20, 20, 180, 80, 1018317); // Do you wish to place your maker's mark on this item? - - AddHtmlLocalized(55, 100, 140, 25, 1011011); // CONTINUE - AddButton(20, 100, 4005, 4007, 1); - - AddHtmlLocalized(55, 125, 140, 25, 1011012); // CANCEL - AddButton(20, 125, 4005, 4007, 0); + from.SendLocalizedMessage(501808); // You mark the item. + } + else + { + from.SendLocalizedMessage(501809); // Cancelled mark. } - public override void OnResponse(NetState sender, in RelayInfo info) - { - var makersMark = info.ButtonID == 1; - - if (makersMark) - { - m_From.SendLocalizedMessage(501808); // You mark the item. - } - else - { - m_From.SendLocalizedMessage(501809); // Cancelled mark. - } - - m_CraftItem.CompleteCraft(m_Quality, makersMark, m_From, m_CraftSystem, m_TypeRes, m_Tool, null); - } + _craftItem.CompleteCraft(_quality, makersMark, from, _craftSystem, _typeRes, _tool, null); } }