Skip to content

Commit ea3d189

Browse files
committed
Minor refact
1 parent b7f0070 commit ea3d189

2 files changed

Lines changed: 11 additions & 9 deletions

File tree

src/server/game/Craft/Crafting.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,18 +114,22 @@ SpellCastResult Crafting::DoCraft(uint32 craftingDataId)
114114

115115
uint32 qualityTier = sDB2Manager.GetCraftingQualityTierByDifficultyPercent(_craftingData->CraftingDifficultyID, difficultyPercentMatched);
116116

117-
uint32 newItemId = GetItemIdForQuality(qualityTier);
117+
uint32 craftedItemId = GetCraftedItemIdForQuality(qualityTier);
118+
119+
// If we didn't found anything, we have a problem. Return and don't take reagent from player.
120+
if (!craftedItemId)
121+
return SpellCastResult::SPELL_FAILED_ERROR;
118122

119123
ItemContext context = _spell->GetSpellInfo()->HasAttribute(SPELL_ATTR0_IS_TRADESKILL) ? ItemContext::Trade_Skill : ItemContext::NONE;
120124

121125
std::vector<int32> bonusLists;
122126
for (int32 bonusTreeID : bonusTreeIds)
123127
{
124-
std::vector<int32> treeBonusList = ItemBonusMgr::GetBonusListsForItem(newItemId, { context, {}, {}, bonusTreeID, qualityTier });
128+
std::vector<int32> treeBonusList = ItemBonusMgr::GetBonusListsForItem(craftedItemId, { context, {}, {}, bonusTreeID, qualityTier });
125129
bonusLists.insert(std::end(bonusLists), std::begin(treeBonusList), std::end(treeBonusList));
126130
}
127131

128-
if (Item* createdItem = _spell->DoCreateItem(newItemId, context, &bonusLists, false))
132+
if (Item* createdItem = _spell->DoCreateItem(craftedItemId, context, &bonusLists, false))
129133
{
130134
InitCraftingStatModifier(createdItem);
131135

@@ -219,19 +223,17 @@ void Crafting::InitCraftingStatModifier(Item* item)
219223
}
220224
}
221225

222-
uint32 Crafting::GetItemIdForQuality(uint32 qualityTier)
226+
uint32 Crafting::GetCraftedItemIdForQuality(uint32 qualityTier)
223227
{
224228
// If this is a simple item (no quality), we have the id
225229
uint32 newItemId = _craftingData->CraftedItemID;
226230

227-
// If it's a reagent, get id from CraftingDataItem
231+
// If it's a reagent with quality, get id from CraftingDataItem
228232
if (!newItemId)
229233
{
230234
std::vector<uint32> craftedItemList = sDB2Manager.GetCraftingDataItemIDByCraftingData(_craftingData->ID);
231-
232-
// If we didn't found anything, we have a problem. Return and don't take reagent from player.
233235
if (craftedItemList.size() < qualityTier)
234-
return SpellCastResult::SPELL_FAILED_ERROR;
236+
return 0;
235237

236238
newItemId = craftedItemList[qualityTier - 1];
237239
}

src/server/game/Craft/Crafting.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class TC_GAME_API Crafting
3838
uint32 GetSkillIdForSpell(uint32 spellId);
3939
uint32 CalculateTotalReagentWeights();
4040
void InitCraftingStatModifier(Item* item);
41-
uint32 GetItemIdForQuality(uint32 qualityTier);
41+
uint32 GetCraftedItemIdForQuality(uint32 qualityTier);
4242

4343
Player* _player;
4444
Spell* _spell;

0 commit comments

Comments
 (0)