protected virtual int GetProgress( ConquestState state, Item item, int quality, bool slayer, CraftResource res, CraftSystem craft) { if (state.User == null) return 0; if (item == null || craft == null) { return 0; } if (ItemType.IsNotNull && !item.TypeEquals(ItemType, ItemChildren)) { if (ItemChangeReset) { return -state.Progress; } return 0; } if (IsExceptional && quality == 0) { return 0; } if (IsSlayer && !slayer) { return 0; } if (IsCloth && !(item is BaseClothing)) { return 0; } if (Resource != CraftResource.None && res != Resource) { return 0; } if (CraftSystem.IsNotNull && !craft.TypeEquals(CraftSystem, false)) { return 0; } // This function is only called after a successful completion so amount will // not be zero except for the case of a potion that was created and auto-consolidated // into a keg by the oncraft handler in BasePotion if(item.Amount <= 0) { return 1; } return item.Amount; }