fix: Fixes craft menu not showing gfx of entry (#1146)

This commit is contained in:
mark1145 2022-08-26 11:39:33 +10:00 committed by GitHub
parent 6eec72e0ca
commit 76ac5ce3aa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 2 deletions

View file

@ -153,7 +153,7 @@ namespace Server.Engines.Craft
{
var type = m_CraftItem.ItemType;
AddItem(20, 50, m_CraftItem.NameNumber, m_CraftItem.ItemHue);
AddItem(20, 50, m_CraftItem.ItemId, m_CraftItem.ItemHue);
if (m_CraftItem.IsMarkable(type))
{

View file

@ -116,8 +116,13 @@ namespace Server.Engines.Craft
private int m_ResHue;
private CraftSystem m_System;
private int _itemId;
public CraftItem(Type type, TextDefinition groupName, TextDefinition name)
public CraftItem(Type type, TextDefinition groupName, TextDefinition name) : this(type, groupName, name, -1)
{
}
public CraftItem(Type type, TextDefinition groupName, TextDefinition name, int itemId)
{
Resources = new List<CraftRes>();
Skills = new List<CraftSkill>();
@ -131,6 +136,7 @@ namespace Server.Engines.Craft
NameNumber = name;
RequiredBeverage = BeverageType.Water;
_itemId = itemId;
}
public bool ForceNonExceptional { get; set; }
@ -169,6 +175,8 @@ namespace Server.Engines.Craft
public int NameNumber { get; }
public int ItemId => _itemId == -1 ? _itemId = ItemIDOf(ItemType) : _itemId;
public List<CraftRes> Resources { get; }
public List<CraftSkill> Skills { get; }

View file

@ -128,16 +128,31 @@ namespace Server.Engines.Craft
Type typeRes, TextDefinition nameRes, int amount
) => AddCraft(typeItem, group, name, MainSkill, minSkill, maxSkill, typeRes, nameRes, amount, "");
public int AddCraft(
Type typeItem, TextDefinition group, TextDefinition name, int itemId, double minSkill, double maxSkill,
Type typeRes, TextDefinition nameRes, int amount
) => AddCraft(typeItem, group, name, itemId, MainSkill, minSkill, maxSkill, typeRes, nameRes, amount, "");
public int AddCraft(
Type typeItem, TextDefinition group, TextDefinition name, double minSkill, double maxSkill,
Type typeRes, TextDefinition nameRes, int amount, TextDefinition message
) => AddCraft(typeItem, group, name, MainSkill, minSkill, maxSkill, typeRes, nameRes, amount, message);
public int AddCraft(
Type typeItem, TextDefinition group, TextDefinition name, int itemId, double minSkill, double maxSkill,
Type typeRes, TextDefinition nameRes, int amount, TextDefinition message
) => AddCraft(typeItem, group, name, itemId, MainSkill, minSkill, maxSkill, typeRes, nameRes, amount, message);
public int AddCraft(
Type typeItem, TextDefinition group, TextDefinition name, SkillName skillToMake, double minSkill,
double maxSkill, Type typeRes, TextDefinition nameRes, int amount
) => AddCraft(typeItem, group, name, skillToMake, minSkill, maxSkill, typeRes, nameRes, amount, "");
public int AddCraft(
Type typeItem, TextDefinition group, TextDefinition name, int itemId, SkillName skillToMake, double minSkill,
double maxSkill, Type typeRes, TextDefinition nameRes, int amount
) => AddCraft(typeItem, group, name, itemId, skillToMake, minSkill, maxSkill, typeRes, nameRes, amount, "");
public int AddCraft(
Type typeItem, TextDefinition group, TextDefinition name, SkillName skillToMake, double minSkill,
double maxSkill, Type typeRes, TextDefinition nameRes, int amount, TextDefinition message
@ -152,6 +167,20 @@ namespace Server.Engines.Craft
return CraftItems.Count - 1;
}
public int AddCraft(
Type typeItem, TextDefinition group, TextDefinition name, int itemId, SkillName skillToMake, double minSkill,
double maxSkill, Type typeRes, TextDefinition nameRes, int amount, TextDefinition message
)
{
var craftItem = new CraftItem(typeItem, group, name, itemId);
craftItem.AddRes(typeRes, nameRes, amount, message);
craftItem.AddSkill(skillToMake, minSkill, maxSkill);
DoGroup(group, craftItem);
CraftItems.Add(craftItem);
return CraftItems.Count - 1;
}
private void DoGroup(TextDefinition groupName, CraftItem craftItem)
{
var index = CraftGroups.SearchFor(groupName);