Core/DataStores: Implemented RewardPackXCurrencyType.db2

This commit is contained in:
hondacrx
2018-04-16 14:14:37 -04:00
parent 77f981d868
commit ba4a509758
5 changed files with 34 additions and 5 deletions
@@ -736,6 +736,10 @@ namespace Framework.Database
PrepareStatement(HotfixStatements.SEL_REWARD_PACK, "SELECT ID, Money, ArtifactXPMultiplier, ArtifactXPDifficulty, ArtifactXPCategoryID, CharTitleID, " +
"TreasurePickerID FROM reward_pack ORDER BY ID DESC");
// RewardPackXCurrencyType.db2
PrepareStatement(HotfixStatements.SEL_REWARD_PACK_X_CURRENCY_TYPE, "SELECT ID, CurrencyTypeID, Quantity, RewardPackID FROM reward_pack_x_currency_type" +
" ORDER BY ID DESC");
// RewardPackXItem.db2
PrepareStatement(HotfixStatements.SEL_REWARD_PACK_X_ITEM, "SELECT ID, ItemID, ItemQuantity, RewardPackID FROM reward_pack_x_item ORDER BY ID DESC");
@@ -1415,6 +1419,8 @@ namespace Framework.Database
SEL_REWARD_PACK,
SEL_REWARD_PACK_X_CURRENCY_TYPE,
SEL_REWARD_PACK_X_ITEM,
SEL_RULESET_ITEM_UPGRADE,
+2
View File
@@ -194,6 +194,7 @@ namespace Game.DataStorage
QuestXPStorage = DBReader.Read<QuestXPRecord>("QuestXP.db2", HotfixStatements.SEL_QUEST_XP);
RandPropPointsStorage = DBReader.Read<RandPropPointsRecord>("RandPropPoints.db2", HotfixStatements.SEL_RAND_PROP_POINTS);
RewardPackStorage = DBReader.Read<RewardPackRecord>("RewardPack.db2", HotfixStatements.SEL_REWARD_PACK);
RewardPackXCurrencyTypeStorage = DBReader.Read<RewardPackXCurrencyTypeRecord>("RewardPackXCurrencyType.db2", HotfixStatements.SEL_REWARD_PACK_X_CURRENCY_TYPE);
RewardPackXItemStorage = DBReader.Read<RewardPackXItemRecord>("RewardPackXItem.db2", HotfixStatements.SEL_REWARD_PACK_X_ITEM);
RulesetItemUpgradeStorage = DBReader.Read<RulesetItemUpgradeRecord>("RulesetItemUpgrade.db2", HotfixStatements.SEL_RULESET_ITEM_UPGRADE);
SandboxScalingStorage = DBReader.Read<SandboxScalingRecord>("SandboxScaling.db2", HotfixStatements.SEL_SANDBOX_SCALING);
@@ -525,6 +526,7 @@ namespace Game.DataStorage
public static DB6Storage<QuestXPRecord> QuestXPStorage;
public static DB6Storage<RandPropPointsRecord> RandPropPointsStorage;
public static DB6Storage<RewardPackRecord> RewardPackStorage;
public static DB6Storage<RewardPackXCurrencyTypeRecord> RewardPackXCurrencyTypeStorage;
public static DB6Storage<RewardPackXItemRecord> RewardPackXItemStorage;
public static DB6Storage<RulesetItemUpgradeRecord> RulesetItemUpgradeStorage;
public static DB6Storage<SandboxScalingRecord> SandboxScalingStorage;
+11
View File
@@ -401,6 +401,11 @@ namespace Game.DataStorage
CliDB.QuestPackageItemStorage.Clear();
foreach (RewardPackXCurrencyTypeRecord rewardPackXCurrencyType in CliDB.RewardPackXCurrencyTypeStorage.Values)
_rewardPackCurrencyTypes.Add(rewardPackXCurrencyType.RewardPackID, rewardPackXCurrencyType);
CliDB.RewardPackXCurrencyTypeStorage.Clear();
foreach (RewardPackXItemRecord rewardPackXItem in CliDB.RewardPackXItemStorage.Values)
_rewardPackItems.Add(rewardPackXItem.RewardPackID, rewardPackXItem);
@@ -1244,6 +1249,11 @@ namespace Game.DataStorage
return _pvpItemBonus.LookupByKey(itemId);
}
public List<RewardPackXCurrencyTypeRecord> GetRewardPackCurrencyTypesByRewardID(uint rewardPackID)
{
return _rewardPackCurrencyTypes.LookupByKey(rewardPackID);
}
public List<RewardPackXItemRecord> GetRewardPackItemsByRewardID(uint rewardPackID)
{
return _rewardPackItems.LookupByKey(rewardPackID);
@@ -1519,6 +1529,7 @@ namespace Game.DataStorage
List<PvpTalentRecord>[][][] _pvpTalentsByPosition = new List<PvpTalentRecord>[(int)Class.Max][][];
uint[][] _pvpTalentUnlock = new uint[PlayerConst.MaxPvpTalentTiers][];
Dictionary<uint, Tuple<List<QuestPackageItemRecord>, List<QuestPackageItemRecord>>> _questPackages = new Dictionary<uint, Tuple<List<QuestPackageItemRecord>, List<QuestPackageItemRecord>>>();
MultiMap<uint, RewardPackXCurrencyTypeRecord> _rewardPackCurrencyTypes = new MultiMap<uint, RewardPackXCurrencyTypeRecord>();
MultiMap<uint, RewardPackXItemRecord> _rewardPackItems = new MultiMap<uint, RewardPackXItemRecord>();
Dictionary<uint, uint> _rulesetItemUpgrade = new Dictionary<uint, uint>();
MultiMap<uint, SkillRaceClassInfoRecord> _skillRaceClassInfoBySkill = new MultiMap<uint, SkillRaceClassInfoRecord>();
@@ -36,6 +36,14 @@ namespace Game.DataStorage
public ushort TreasurePickerID;
}
public sealed class RewardPackXCurrencyTypeRecord
{
public uint Id;
public uint CurrencyTypeID;
public int Quantity;
public uint RewardPackID;
}
public sealed class RewardPackXItemRecord
{
public uint Id;
+7 -5
View File
@@ -241,12 +241,14 @@ namespace Game.Entities
SetTitle(charTitlesEntry);
ModifyMoney(rewardPackEntry.Money);
var rewardCurrencyTypes = Global.DB2Mgr.GetRewardPackCurrencyTypesByRewardID(rewardPackEntry.Id);
foreach (RewardPackXCurrencyTypeRecord currency in rewardCurrencyTypes)
ModifyCurrency((CurrencyTypes)currency.CurrencyTypeID, currency.Quantity);
var rewardPackXItems = Global.DB2Mgr.GetRewardPackItemsByRewardID(rewardPackEntry.Id);
if (rewardPackXItems != null)
{
foreach (RewardPackXItemRecord rewardPackXItem in rewardPackXItems)
AddItem(rewardPackXItem.ItemID, rewardPackXItem.ItemQuantity);
}
foreach (RewardPackXItemRecord rewardPackXItem in rewardPackXItems)
AddItem(rewardPackXItem.ItemID, rewardPackXItem.ItemQuantity);
}
public void AddHonorXP(uint xp)