Merge pull request #154 from AconiteGodOfSWG/master

WOD - Add exclusive loot choice count logic
This commit is contained in:
Cekis
2020-10-24 21:04:41 -07:00
committed by GitHub
2 changed files with 20 additions and 1 deletions

View File

@@ -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;
}
}

View File

@@ -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);