public ItemListEntry[] CreateResList() { CraftSubResCol res = CurrentCraftSystem.CraftSubRes; List <ItemListEntry> toReturn = new List <ItemListEntry>(); CraftSubRes subResource; if (CurrentCraftSystem.CraftSubRes.Init && CurrentCraftSystem.CraftSubRes.Count >= 1) { for (int i = 0; i < res.Count; ++i) { subResource = res.GetAt(i); int hue = ResourceInfoList[subResource].Hue; if (hue > 1) { hue--; } if (subResource.NameNumber > 0) { toReturn.Add(new ItemListEntry(CliLoc.LocToString(subResource.NameNumber), ResourceInfoList[subResource].ItemID, hue)); } else { toReturn.Add(new ItemListEntry(subResource.NameString, ResourceInfoList[subResource].ItemID, hue)); } } } if (CurrentCraftSystem.CraftSubRes2.Init) { res = CurrentCraftSystem.CraftSubRes2; for (int i = 0; i < res.Count; ++i) { subResource = res.GetAt(i); if (subResource.NameNumber > 0) { toReturn.Add(new ItemListEntry(CliLoc.LocToString(subResource.NameNumber), ResourceInfoList[subResource].ItemID, ResourceInfoList[subResource].Hue)); } else { toReturn.Add(new ItemListEntry(subResource.NameString, ResourceInfoList[subResource].ItemID, ResourceInfoList[subResource].Hue)); } } } return(toReturn.ToArray()); }
public override void OnResponse(NetState state, int index) { if (IsFrom == "Wood") { Type type = null; CraftContext context = DefTinkering.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefTinkering.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).UseSubRes2 ? DefTinkering.CraftSystem.CraftSubRes2 : DefTinkering.CraftSystem.CraftSubRes); int resIndex = (DefTinkering.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefTinkering.CraftSystem.CreateItem(m_Mobile, DefTinkering.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).ItemType, typeof(Log), m_Tool, DefTinkering.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex))); } else if (IsFrom == "Metal") { Type type = null; CraftContext context = DefTinkering.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefTinkering.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex + 5)).UseSubRes2 ? DefTinkering.CraftSystem.CraftSubRes2 : DefTinkering.CraftSystem.CraftSubRes); int resIndex = (DefTinkering.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex + 5)).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefTinkering.CraftSystem.CreateItem(m_Mobile, DefTinkering.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex + 5)).ItemType, typeof(IronIngot), m_Tool, DefTinkering.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex + 5))); } }
public override void OnResponse(NetState state, int index) { Type type = null; CraftContext context = DefBowFletching.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefBowFletching.CraftSystem.CraftItems.GetAt(m_Entries[index].craftIndex).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBowFletching.CraftSystem.CraftSubRes); int resIndex = (DefBowFletching.CraftSystem.CraftItems.GetAt(m_Entries[index].craftIndex).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefBowFletching.CraftSystem.CreateItem(m_Mobile, DefBowFletching.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).ItemType, type, m_Tool, DefBowFletching.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex))); }
public Type GetResource(int itemID, itemTable[] table) { itemTable temp = itemTable.Find(table, itemID); // recall the selected resource CraftContext context = Craft.CraftSystem.GetContext(Craft.From); Type type = null; if (context != null) { CraftSubResCol res = (temp.CraftItem.UseSubRes2 ? Craft.CraftSystem.CraftSubRes2 : Craft.CraftSystem.CraftSubRes); int resIndex = (temp.CraftItem.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } } return(type); }
/*public static ItemListEntry[] Other(Mobile from) * { * Type type; * int itemid; * string name; * Item item; * CraftRes craftResource; * bool allRequiredSkills = true; * double chance; * * ItemListEntry[] entries = new ItemListEntry[DefCarpentry.CraftSystem.CraftItems.Count]; * * for (int i = 0; i < DefCarpentry.CraftSystem.CraftItems.Count; ++i) * { * chance = DefCarpentry.CraftSystem.CraftItems.GetAt(i).GetSuccessChance(from, typeof(Board), DefCarpentry.CraftSystem, false, ref allRequiredSkills); * * if (chance > 0) * { * type = DefCarpentry.CraftSystem.CraftItems.GetAt(i).ItemType; * craftResource = DefCarpentry.CraftSystem.CraftItems.SearchFor(type).Ressources.GetAt(0); * * item = null; * try { item = Activator.CreateInstance(type) as Item; } * catch { } * name = item.GetType().Name; * name = name.ToLower(); * itemid = item.ItemID; * * entries[i-missing] = new ItemListEntry(String.Format("{0}", name), itemid, 0, i); * * if (item != null) * item.Delete(); * } * else * missing++;//entries[i]= new ItemListEntry("", -1); * } * * return entries; * }*/ public override void OnResponse(NetState state, int index) { if (IsFrom == "Main") { if (m_Entries[index].craftIndex == 0) { IsFrom = "Chairs"; m_Mobile.SendMenu(new CarpentryMenu(m_Mobile, Chairs(m_Mobile), IsFrom, m_Tool)); } if (m_Entries[index].craftIndex == 1) { IsFrom = "Tables"; m_Mobile.SendMenu(new CarpentryMenu(m_Mobile, Tables(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 2) { IsFrom = "Containers"; m_Mobile.SendMenu(new CarpentryMenu(m_Mobile, Containers(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 3) { IsFrom = "Misc"; m_Mobile.SendMenu(new CarpentryMenu(m_Mobile, Misc(m_Mobile), IsFrom, m_Tool)); } } else if (IsFrom == "Chairs") { Type type = null; CraftContext context = DefCarpentry.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 6).UseSubRes2 ? DefCarpentry.CraftSystem.CraftSubRes2 : DefCarpentry.CraftSystem.CraftSubRes); int resIndex = (DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 6).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefCarpentry.CraftSystem.CreateItem(m_Mobile, DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 6).ItemType, type, m_Tool, DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 6)); } else if (IsFrom == "Tables") { Type type = null; CraftContext context = DefCarpentry.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 15).UseSubRes2 ? DefCarpentry.CraftSystem.CraftSubRes2 : DefCarpentry.CraftSystem.CraftSubRes); int resIndex = (DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 15).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefCarpentry.CraftSystem.CreateItem(m_Mobile, DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 15).ItemType, type, m_Tool, DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 15)); } else if (IsFrom == "Containers") { Type type = null; CraftContext context = DefCarpentry.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 19).UseSubRes2 ? DefCarpentry.CraftSystem.CraftSubRes2 : DefCarpentry.CraftSystem.CraftSubRes); int resIndex = (DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 19).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefCarpentry.CraftSystem.CreateItem(m_Mobile, DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 19).ItemType, type, m_Tool, DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 19)); } else if (IsFrom == "Misc") { Type type = null; CraftContext context = DefCarpentry.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 28).UseSubRes2 ? DefCarpentry.CraftSystem.CraftSubRes2 : DefCarpentry.CraftSystem.CraftSubRes); int resIndex = (DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 28).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefCarpentry.CraftSystem.CreateItem(m_Mobile, DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 28).ItemType, type, m_Tool, DefCarpentry.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 28)); } }
public override void OnResponse(NetState state, int index) { if (IsFrom == "Main") { if (Entries[index].craftIndex == 0) { IsFrom = "Shirts"; m_Mobile.SendMenu(new TailoringMenu(m_Mobile, Shirts(m_Mobile), IsFrom, m_Tool)); } else if (Entries[index].craftIndex == 1) { IsFrom = "Pants"; m_Mobile.SendMenu(new TailoringMenu(m_Mobile, Pants(m_Mobile), IsFrom, m_Tool)); } else if (Entries[index].craftIndex == 2) { IsFrom = "Misc"; m_Mobile.SendMenu(new TailoringMenu(m_Mobile, Misc(m_Mobile), IsFrom, m_Tool)); } else if (Entries[index].craftIndex == 3) { IsFrom = "BoltOfCloth"; m_Mobile.SendMenu(new TailoringMenu(m_Mobile, Bolt(m_Mobile), IsFrom, m_Tool)); } } else if (IsFrom == "LeatherMain") { if (Entries[index].craftIndex == 0) { IsFrom = "Footwear"; m_Mobile.SendMenu(new TailoringMenu(m_Mobile, Footwear(m_Mobile), IsFrom, m_Tool)); } else if (Entries[index].craftIndex == 1) { IsFrom = "Leather"; m_Mobile.SendMenu(new TailoringMenu(m_Mobile, Leather(m_Mobile), IsFrom, m_Tool)); } else if (Entries[index].craftIndex == 2) { IsFrom = "Studded"; m_Mobile.SendMenu(new TailoringMenu(m_Mobile, Studded(m_Mobile), IsFrom, m_Tool)); } else if (Entries[index].craftIndex == 3) { IsFrom = "Female"; m_Mobile.SendMenu(new TailoringMenu(m_Mobile, Female(m_Mobile), IsFrom, m_Tool)); } } else if (IsFrom == "Shirts") { Type type = null; CraftContext context = DefTailoring.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).UseSubRes2 ? DefTailoring.CraftSystem.CraftSubRes2 : DefTailoring.CraftSystem.CraftSubRes); int resIndex = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefTailoring.CraftSystem.CreateItem(m_Mobile, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).ItemType, typeof(Cloth), m_Tool, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex))); } else if (IsFrom == "Pants") { Type type = null; CraftContext context = DefTailoring.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 6).UseSubRes2 ? DefTailoring.CraftSystem.CraftSubRes2 : DefTailoring.CraftSystem.CraftSubRes); int resIndex = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 6).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefTailoring.CraftSystem.CreateItem(m_Mobile, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 6).ItemType, typeof(Cloth), m_Tool, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 6)); } else if (IsFrom == "Misc") { Type type = null; CraftContext context = DefTailoring.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 9).UseSubRes2 ? DefTailoring.CraftSystem.CraftSubRes2 : DefTailoring.CraftSystem.CraftSubRes); int resIndex = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 9).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefTailoring.CraftSystem.CreateItem(m_Mobile, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 9).ItemType, typeof(Cloth), m_Tool, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 9)); } else if (IsFrom == "BoltOfCloth") { Type type = null; CraftContext context = DefTailoring.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 14).UseSubRes2 ? DefTailoring.CraftSystem.CraftSubRes2 : DefTailoring.CraftSystem.CraftSubRes); int resIndex = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 14).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefTailoring.CraftSystem.CreateItem(m_Mobile, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 14).ItemType, typeof(Cloth), m_Tool, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 14)); } else if (IsFrom == "Footwear") { Type type = null; CraftContext context = DefTailoring.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 17).UseSubRes2 ? DefTailoring.CraftSystem.CraftSubRes2 : DefTailoring.CraftSystem.CraftSubRes); int resIndex = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 17).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefTailoring.CraftSystem.CreateItem(m_Mobile, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 17).ItemType, typeof(Leather), m_Tool, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 17)); } else if (IsFrom == "Leather") { Type type = null; CraftContext context = DefTailoring.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 21).UseSubRes2 ? DefTailoring.CraftSystem.CraftSubRes2 : DefTailoring.CraftSystem.CraftSubRes); int resIndex = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 21).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefTailoring.CraftSystem.CreateItem(m_Mobile, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 21).ItemType, typeof(Leather), m_Tool, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 21)); } else if (IsFrom == "Studded") { Type type = null; CraftContext context = DefTailoring.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 26).UseSubRes2 ? DefTailoring.CraftSystem.CraftSubRes2 : DefTailoring.CraftSystem.CraftSubRes); int resIndex = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 26).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefTailoring.CraftSystem.CreateItem(m_Mobile, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 26).ItemType, typeof(Leather), m_Tool, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 26)); } else if (IsFrom == "Female") { Type type = null; CraftContext context = DefTailoring.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 31).UseSubRes2 ? DefTailoring.CraftSystem.CraftSubRes2 : DefTailoring.CraftSystem.CraftSubRes); int resIndex = (DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 31).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefTailoring.CraftSystem.CreateItem(m_Mobile, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 31).ItemType, typeof(Leather), m_Tool, DefTailoring.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 31)); } }
public override void OnResponse(NetState state, int index) { if (m_Mobile.Backpack.GetAmount(typeof(BlankScroll)) == 0) { m_Mobile.SendAsciiMessage("You do not have enough blank scrolls to make that."); return; } if (IsFrom == "Main") { if (m_Entries[index].craftIndex == 0) { IsFrom = "First"; m_Mobile.SendMenu(new InscriptionMenu(m_Mobile, First(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 1) { IsFrom = "Second"; m_Mobile.SendMenu(new InscriptionMenu(m_Mobile, Second(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 2) { IsFrom = "Third"; m_Mobile.SendMenu(new InscriptionMenu(m_Mobile, Third(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 3) { IsFrom = "Fourth"; m_Mobile.SendMenu(new InscriptionMenu(m_Mobile, Fourth(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 4) { IsFrom = "Fifth"; m_Mobile.SendMenu(new InscriptionMenu(m_Mobile, Fifth(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 5) { IsFrom = "Sixth"; m_Mobile.SendMenu(new InscriptionMenu(m_Mobile, Sixth(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 6) { IsFrom = "Seventh"; m_Mobile.SendMenu(new InscriptionMenu(m_Mobile, Seventh(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 7) { IsFrom = "Eighth"; m_Mobile.SendMenu(new InscriptionMenu(m_Mobile, Eighth(m_Mobile), IsFrom, m_Tool)); } } else if (IsFrom == "First") { Type type = null; //int num = DefInscription.CraftSystem.CanCraft(m_Mobile, m_Tool, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).ItemType); CraftContext context = DefInscription.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).UseSubRes2 ? DefInscription.CraftSystem.CraftSubRes2 : DefInscription.CraftSystem.CraftSubRes); int resIndex = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefInscription.CraftSystem.CreateItem(m_Mobile, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).ItemType, type, m_Tool, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex))); } else if (IsFrom == "Second") { Type type = null; CraftContext context = DefInscription.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 8).UseSubRes2 ? DefInscription.CraftSystem.CraftSubRes2 : DefInscription.CraftSystem.CraftSubRes); int resIndex = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 8).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefInscription.CraftSystem.CreateItem(m_Mobile, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 8).ItemType, type, m_Tool, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 8)); } else if (IsFrom == "Third") { Type type = null; CraftContext context = DefInscription.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 16).UseSubRes2 ? DefInscription.CraftSystem.CraftSubRes2 : DefInscription.CraftSystem.CraftSubRes); int resIndex = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 16).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefInscription.CraftSystem.CreateItem(m_Mobile, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 16).ItemType, type, m_Tool, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 16)); } else if (IsFrom == "Fourth") { Type type = null; CraftContext context = DefInscription.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 24).UseSubRes2 ? DefInscription.CraftSystem.CraftSubRes2 : DefInscription.CraftSystem.CraftSubRes); int resIndex = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 24).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefInscription.CraftSystem.CreateItem(m_Mobile, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 24).ItemType, type, m_Tool, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 24)); } else if (IsFrom == "Fifth") { Type type = null; CraftContext context = DefInscription.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 32).UseSubRes2 ? DefInscription.CraftSystem.CraftSubRes2 : DefInscription.CraftSystem.CraftSubRes); int resIndex = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 32).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefInscription.CraftSystem.CreateItem(m_Mobile, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 32).ItemType, type, m_Tool, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 32)); } else if (IsFrom == "Sixth") { Type type = null; CraftContext context = DefInscription.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 40).UseSubRes2 ? DefInscription.CraftSystem.CraftSubRes2 : DefInscription.CraftSystem.CraftSubRes); int resIndex = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 40).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefInscription.CraftSystem.CreateItem(m_Mobile, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 40).ItemType, type, m_Tool, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 40)); } else if (IsFrom == "Seventh") { Type type = null; CraftContext context = DefInscription.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 48).UseSubRes2 ? DefInscription.CraftSystem.CraftSubRes2 : DefInscription.CraftSystem.CraftSubRes); int resIndex = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 48).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefInscription.CraftSystem.CreateItem(m_Mobile, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 48).ItemType, type, m_Tool, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 48)); } else if (IsFrom == "Eighth") { Type type = null; CraftContext context = DefInscription.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 56).UseSubRes2 ? DefInscription.CraftSystem.CraftSubRes2 : DefInscription.CraftSystem.CraftSubRes); int resIndex = (DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 56).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefInscription.CraftSystem.CreateItem(m_Mobile, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 56).ItemType, type, m_Tool, DefInscription.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 56)); } }
public override void OnResponse(NetState state, int index) { if (m_Mobile.Backpack.GetAmount(typeof(Bottle)) == 0) { m_Mobile.SendAsciiMessage("You need an empty bottle to make a potion."); return; } if (IsFrom == "Refresh") { Type type = null; CraftContext context = DefAlchemy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).UseSubRes2 ? DefAlchemy.CraftSystem.CraftSubRes2 : DefAlchemy.CraftSystem.CraftSubRes); int resIndex = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefAlchemy.CraftSystem.CreateItem(m_Mobile, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).ItemType, typeof(BlackPearl), m_Tool, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex))); } else if (IsFrom == "Agility") { Type type = null; CraftContext context = DefAlchemy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 2).UseSubRes2 ? DefAlchemy.CraftSystem.CraftSubRes2 : DefAlchemy.CraftSystem.CraftSubRes); int resIndex = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 2).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefAlchemy.CraftSystem.CreateItem(m_Mobile, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 2).ItemType, typeof(Bloodmoss), m_Tool, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 2)); } else if (IsFrom == "NightSight") { Type type = null; CraftContext context = DefAlchemy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 4).UseSubRes2 ? DefAlchemy.CraftSystem.CraftSubRes2 : DefAlchemy.CraftSystem.CraftSubRes); int resIndex = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 4).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } /* int OldHue = m_Mobile.SpeechHue; * m_Mobile.SpeechHue = 0x22; * m_Mobile.SayTo(m_Mobile, true, String.Format("*{0} begins grinding some spiders' silk in a mortar*", m_Mobile.Name)); * m_Mobile.SpeechHue = OldHue;*/ DefAlchemy.CraftSystem.CreateItem(m_Mobile, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 4).ItemType, typeof(SpidersSilk), m_Tool, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 4)); } else if (IsFrom == "Heal") { Type type = null; CraftContext context = DefAlchemy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 5).UseSubRes2 ? DefAlchemy.CraftSystem.CraftSubRes2 : DefAlchemy.CraftSystem.CraftSubRes); int resIndex = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 5).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefAlchemy.CraftSystem.CreateItem(m_Mobile, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 5).ItemType, typeof(Ginseng), m_Tool, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 5)); } else if (IsFrom == "Strength") { Type type = null; CraftContext context = DefAlchemy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 8).UseSubRes2 ? DefAlchemy.CraftSystem.CraftSubRes2 : DefAlchemy.CraftSystem.CraftSubRes); int resIndex = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 8).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefAlchemy.CraftSystem.CreateItem(m_Mobile, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 8).ItemType, typeof(MandrakeRoot), m_Tool, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 8)); } else if (IsFrom == "Poison") { Type type = null; CraftContext context = DefAlchemy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 10).UseSubRes2 ? DefAlchemy.CraftSystem.CraftSubRes2 : DefAlchemy.CraftSystem.CraftSubRes); int resIndex = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 10).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefAlchemy.CraftSystem.CreateItem(m_Mobile, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 10).ItemType, typeof(Nightshade), m_Tool, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 10)); } else if (IsFrom == "Cure") { Type type = null; CraftContext context = DefAlchemy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 14).UseSubRes2 ? DefAlchemy.CraftSystem.CraftSubRes2 : DefAlchemy.CraftSystem.CraftSubRes); int resIndex = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 14).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefAlchemy.CraftSystem.CreateItem(m_Mobile, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 14).ItemType, typeof(Garlic), m_Tool, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 14)); } else if (IsFrom == "Explosion") { Type type = null; CraftContext context = DefAlchemy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 17).UseSubRes2 ? DefAlchemy.CraftSystem.CraftSubRes2 : DefAlchemy.CraftSystem.CraftSubRes); int resIndex = (DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 17).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefAlchemy.CraftSystem.CreateItem(m_Mobile, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 17).ItemType, typeof(SulfurousAsh), m_Tool, DefAlchemy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 17)); } }
/*private static ItemListEntry[] Test() * { * Type type; * int itemid; * string name; * Item item; * * ItemListEntry[] entries = new ItemListEntry[DefBlacksmithy.CraftSystem.CraftItems.Count]; * * for (int i = 0; i < DefBlacksmithy.CraftSystem.CraftItems.Count; ++i) * { * type = DefBlacksmithy.CraftSystem.CraftItems.GetAt(i).ItemType; * * item = null; * try { item = Activator.CreateInstance(type) as Item; } * catch { } * name = item.Name; * itemid = item.ItemID; * * entries[i-missing] = new ItemListEntry(name, itemid, 0, i); * * if (item != null) * item.Delete(); * } * * return entries; * }*/ public override void OnResponse(NetState state, int index) { if (IsFrom == "Main") { if (m_Entries[index].craftIndex == 0) { Repair.Do(m_Mobile, DefBlacksmithy.CraftSystem, m_Tool); } if (m_Entries[index].craftIndex == 1) { IsFrom = "Shields"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Shields(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 2) { IsFrom = "Armor"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Armor(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 3) { IsFrom = "Weapons"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Weapons(m_Mobile), IsFrom, m_Tool)); } } else if (IsFrom == "Shields") { Type type = null; CraftContext context = DefBlacksmithy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 18).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBlacksmithy.CraftSystem.CraftSubRes); int resIndex = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 18).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefBlacksmithy.CraftSystem.CreateItem(m_Mobile, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 18).ItemType, type, m_Tool, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 18)); } else if (IsFrom == "Weapons") { if (m_Entries[index].craftIndex == 0) { IsFrom = "Blades"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Blades(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 1) { IsFrom = "Axes"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Axes(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 2) { IsFrom = "Maces"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Maces(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 3) { IsFrom = "Polearms"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Polearms(m_Mobile), IsFrom, m_Tool)); } } else if (IsFrom == "Blades") { Type type = null; CraftContext context = DefBlacksmithy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 24).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBlacksmithy.CraftSystem.CraftSubRes); int resIndex = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 24).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefBlacksmithy.CraftSystem.CreateItem(m_Mobile, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 24).ItemType, type, m_Tool, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 24)); } else if (IsFrom == "Axes") { Type type = null; CraftContext context = DefBlacksmithy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 32).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBlacksmithy.CraftSystem.CraftSubRes); int resIndex = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 32).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefBlacksmithy.CraftSystem.CreateItem(m_Mobile, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 32).ItemType, type, m_Tool, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 32)); } else if (IsFrom == "Maces") { Type type = null; CraftContext context = DefBlacksmithy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 43).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBlacksmithy.CraftSystem.CraftSubRes); int resIndex = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 43).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefBlacksmithy.CraftSystem.CreateItem(m_Mobile, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 43).ItemType, type, m_Tool, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 43)); } else if (IsFrom == "Polearms") { Type type = null; CraftContext context = DefBlacksmithy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 39).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBlacksmithy.CraftSystem.CraftSubRes); int resIndex = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 39).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefBlacksmithy.CraftSystem.CreateItem(m_Mobile, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 39).ItemType, type, m_Tool, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 39)); } else if (IsFrom == "Armor") { if (m_Entries[index].craftIndex == 0) { IsFrom = "Platemail"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Platemail(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 1) { IsFrom = "Chainmail"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Chainmail(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 2) { IsFrom = "Ringmail"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Ringmail(m_Mobile), IsFrom, m_Tool)); } else if (m_Entries[index].craftIndex == 3) { IsFrom = "Helmets"; m_Mobile.SendMenu(new BlacksmithMenu(m_Mobile, Helmets(m_Mobile), IsFrom, m_Tool)); } } else if (IsFrom == "Platemail") { Type type = null; CraftContext context = DefBlacksmithy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 7).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBlacksmithy.CraftSystem.CraftSubRes); int resIndex = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 7).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefBlacksmithy.CraftSystem.CreateItem(m_Mobile, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 7).ItemType, type, m_Tool, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 7)); } else if (IsFrom == "Chainmail") { Type type = null; CraftContext context = DefBlacksmithy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 5).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBlacksmithy.CraftSystem.CraftSubRes); int resIndex = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 5).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefBlacksmithy.CraftSystem.CreateItem(m_Mobile, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 5).ItemType, type, m_Tool, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 5)); } else if (IsFrom == "Ringmail") { Type type = null; CraftContext context = DefBlacksmithy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBlacksmithy.CraftSystem.CraftSubRes); int resIndex = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } DefBlacksmithy.CraftSystem.CreateItem(m_Mobile, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex)).ItemType, type, m_Tool, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex))); } else if (IsFrom == "Helmets") { Type type = null; CraftContext context = DefBlacksmithy.CraftSystem.GetContext(m_Mobile); CraftSubResCol res = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 12).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBlacksmithy.CraftSystem.CraftSubRes); int resIndex = (DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 12).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); //chainmail coif if (index == 0) { res = (DefBlacksmithy.CraftSystem.CraftItems.GetAt(4).UseSubRes2 ? DefBlacksmithy.CraftSystem.CraftSubRes2 : DefBlacksmithy.CraftSystem.CraftSubRes); resIndex = (DefBlacksmithy.CraftSystem.CraftItems.GetAt(4).UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex); } if (resIndex > -1) { type = res.GetAt(resIndex).ItemType; } //chainmail coif if (index == 0) { DefBlacksmithy.CraftSystem.CreateItem(m_Mobile, DefBlacksmithy.CraftSystem.CraftItems.GetAt(4).ItemType, type, m_Tool, DefBlacksmithy.CraftSystem.CraftItems.GetAt(4)); } //the rest else { DefBlacksmithy.CraftSystem.CreateItem(m_Mobile, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 12).ItemType, type, m_Tool, DefBlacksmithy.CraftSystem.CraftItems.GetAt((m_Entries[index].craftIndex) + 12)); } } }