diff --git a/sku.0/sys.server/compiled/game/script/library/groundquests.java b/sku.0/sys.server/compiled/game/script/library/groundquests.java index b7455cad1..94cdee5f6 100755 --- a/sku.0/sys.server/compiled/game/script/library/groundquests.java +++ b/sku.0/sys.server/compiled/game/script/library/groundquests.java @@ -1730,4 +1730,23 @@ public class groundquests extends script.base_script } return null; } + + // NOTE this method only works for getting the item count for a selected exclusive reward + // from a questLIST not a questTASK. This was added to accommodate a specific WOD expansion + // quest, but it can be expanded later if needed. + public static int getExclusiveItemRewardCount(String questName, String itemName) { + String datatable = "datatables/questlist/"+questName+".iff"; + dictionary questData = dataTableGetRow(datatable, 0); + String itemColName = "QUEST_REWARD_EXCLUSIVE_LOOT_NAME"; + String countColName = "QUEST_REWARD_EXCLUSIVE_LOOT_COUNT"; + for(int i = 1; i <= 10; i++) { + if(i == 1) { + if(itemName.equals(questData.getString(itemColName))) return questData.getInt(countColName); + } + else { + if(itemName.equals(questData.getString(itemColName + "_" + i))) return questData.getInt(countColName + "_" + i); + } + } + return 1; + } } diff --git a/sku.0/sys.server/compiled/game/script/player/base/base_player.java b/sku.0/sys.server/compiled/game/script/player/base/base_player.java index 9585b829e..e6b83c6c5 100755 --- a/sku.0/sys.server/compiled/game/script/player/base/base_player.java +++ b/sku.0/sys.server/compiled/game/script/player/base/base_player.java @@ -10674,7 +10674,7 @@ public class base_player extends script.base_script exclusiveLootNames[9] = groundquests.getQuestStringDataEntry(questCrc, groundquests.dataTableColumnQuestRewardExclusiveLootName10); exclusiveLootCounts[9] = groundquests.getQuestIntDataEntry(questCrc, groundquests.dataTableColumnQuestRewardExclusiveLootCount10); String badge = groundquests.getQuestStringDataEntry(questCrc, groundquests.dataTableColumnBadge); - int exclusiveLootCountChoice = 1; + int exclusiveLootCountChoice = groundquests.getExclusiveItemRewardCount(questGetQuestName(questCrc), exclusiveItemChoice); groundquests.grantQuestReward(self, questCrc, questLevel, questTier, experienceType, experienceAmount, factionName, factionAmount, grantGcwReward, bankCredits, item, itemCount, weapon, weaponCount, weaponSpeed, weaponDamage, weaponEfficiency, weaponElementalValue, armor, armorCount, armorQuality, inclusiveLootNames, inclusiveLootCounts, exclusiveItemChoice, exclusiveLootCountChoice, badge, (questIsQuestForceAccept(questCrc) || !questDoesUseAcceptanceUI(questCrc)), grantGcwOverwriteAmt, grantGcwSFModifier, grantGcwRebReward, grantGcwRebRewardCount, grantGcwImpReward, grantGcwImpRewardCount, grantGcwSFRewardMultip); experienceAmount = groundquests.getQuestExperienceReward(self, questLevel, questTier, experienceAmount); metrics.doQuestMetrics(self, questCrc, questLevel, questTier, experienceType, experienceAmount);