feat-rgto: Fix the materials inventory, now the materials items are sent to the correct inventory.

This commit is contained in:
Pablo Rigueto 2025-09-26 22:45:10 -03:00
parent f90cb592bc
commit 6a25a9ffa8
29 changed files with 1801643 additions and 35 deletions

View File

@ -31,7 +31,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
get; get;
private set; //needed in Future, set this to true if Item affixes or item attributes have changed. private set; //needed in Future, set this to true if Item affixes or item attributes have changed.
} }
public override ActorType ActorType => ActorType.Item; public override ActorType ActorType => ActorType.Item;
public Actor Owner { get; set; } // Only set when the _actor_ has the item in its inventory. /fasbat public Actor Owner { get; set; } // Only set when the _actor_ has the item in its inventory. /fasbat
@ -43,10 +43,10 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
public bool Unidentified public bool Unidentified
{ {
get => Attributes[GameAttributes.Unidentified]; get => Attributes[GameAttributes.Unidentified];
set set
{ {
Attributes[GameAttributes.Unidentified] = value; Attributes[GameAttributes.Unidentified] = value;
if (DBInventory is {} dbInventory) dbInventory.Unidentified = value; if (DBInventory is { } dbInventory) dbInventory.Unidentified = value;
} }
} }
@ -832,14 +832,84 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
public override void OnTargeted(Player player, TargetMessage message) public override void OnTargeted(Player player, TargetMessage message)
{ {
player.Inventory.RefreshInventoryToClient(); player.Inventory.RefreshInventoryToClient();
var playerAcc = player.InGameClient.BnetClient.Account.GameAccount; var playerAcc = player.InGameClient.BnetClient.Account.GameAccount;
switch (SNO) switch (SNO)
{ {
case ActorSno._tieredlootrunkey_0: case ActorSno._tieredlootrunkey_0: //Greater Rift Key
playerAcc.BigPortalKey++; playerAcc.BigPortalKey++;
Destroy(); Destroy();
break; break;
case ActorSno._crafting_assortedparts_05: //Reusable Parts
playerAcc.CraftItem1++;
Destroy();
break;
case ActorSno._crafting_magic_05: //Arcanes Dust
playerAcc.CraftItem2++;
Destroy();
break;
case ActorSno._crafting_rare_05: //Veiled Crystal
playerAcc.CraftItem3++;
Destroy();
break;
case ActorSno._crafting_looted_reagent_05: //Death's Breath
playerAcc.CraftItem4++;
Destroy();
break;
case ActorSno._crafting_legendary_05: //Forgotten Soul
playerAcc.CraftItem5++;
Destroy();
break;
case ActorSno._craftingreagent_legendary_set_borns_x1: //Khanduran Rune Bounty itens Act I.
playerAcc.HoradricA1Res++;
Destroy();
break;
case ActorSno._craftingreagent_legendary_set_cains_x1: //Caldeum Nightshade Bounty itens Act II.
playerAcc.HoradricA2Res++;
Destroy();
break;
case ActorSno._craftingreagent_legendary_set_demon_x1: //Arreat War Tapestry Bounty itens Act III.
playerAcc.HoradricA3Res++;
Destroy();
break;
case ActorSno._craftingreagent_legendary_set_hallowed_x1: //Corrupted Angel Flesh Bounty itens Act IV.
playerAcc.HoradricA4Res++;
Destroy();
break;
case ActorSno._craftingreagent_legendary_set_captaincrimsons_x1: //Westmarch Holy Water Bounty itens Act V.
playerAcc.HoradricA5Res++;
Destroy();
break;
case ActorSno._demonorgan_skeletonking_x1: //Leorik Regret.
playerAcc.LeorikKey++;
Destroy();
break;
case ActorSno._demonorgan_ghom_x1: //Vial of Putridness.
playerAcc.VialofPutridness++;
Destroy();
break;
case ActorSno._demonorgan_siegebreaker_x1: //Idol of Terror.
playerAcc.IdolofTerror++;
Destroy();
break;
case ActorSno._demonorgan_diablo_x1: //Heart of Fright.
playerAcc.HeartofFright++;
Destroy();
break;
default: default:
player.Inventory.PickUp(this); player.Inventory.PickUp(this);
break; break;
@ -902,7 +972,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
player.InGameClient.SendMessage( player.InGameClient.SendMessage(
new MessageSystem.Message.Definitions.Base.GenericBlobMessage(Opcodes.CurrencyDataFull) new MessageSystem.Message.Definitions.Base.GenericBlobMessage(Opcodes.CurrencyDataFull)
{ Data = Moneys.Build().ToByteArray() }); { Data = Moneys.Build().ToByteArray() });
} }
public virtual void OnRequestUse(Player player, Item target, int actionId, WorldPlace worldPlace) public virtual void OnRequestUse(Player player, Item target, int actionId, WorldPlace worldPlace)
@ -1195,7 +1265,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
player.InGameClient.SendMessage( player.InGameClient.SendMessage(
new MessageSystem.Message.Definitions.Base.GenericBlobMessage(Opcodes.CurrencyDataFull) new MessageSystem.Message.Definitions.Base.GenericBlobMessage(Opcodes.CurrencyDataFull)
{ Data = moneys.Build().ToByteArray() }); { Data = moneys.Build().ToByteArray() });
player.Inventory.DestroyInventoryItem(this); player.Inventory.DestroyInventoryItem(this);
return; return;

View File

@ -582,7 +582,8 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
ChangeItemLocationDB(old_x, old_y + 1, addedItem); ChangeItemLocationDB(old_x, old_y + 1, addedItem);
destGrid.PlaceItem(addedItem, old_y + 1, old_x); destGrid.PlaceItem(addedItem, old_y + 1, old_x);
} }
}; }
;
} }
else else
{ {
@ -1198,12 +1199,12 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
(a.OverrideLevelReq <= Item.ItemDefinition.RequiredLevel) (a.OverrideLevelReq <= Item.ItemDefinition.RequiredLevel)
); );
if (!ReloadAffix.Definition.Name.Contains("Secondary")) filteredList = filteredList.Where( a => !a.Name.Contains("Secondary") ); if (!ReloadAffix.Definition.Name.Contains("Secondary")) filteredList = filteredList.Where(a => !a.Name.Contains("Secondary"));
if (!ReloadAffix.Definition.Name.Contains("Experience")) filteredList = filteredList.Where(a => !a.Name.Contains("Experience")); if (!ReloadAffix.Definition.Name.Contains("Experience")) filteredList = filteredList.Where(a => !a.Name.Contains("Experience"));
if (!ReloadAffix.Definition.Name.Contains("Archon")) filteredList = filteredList.Where(a => !a.Name.Contains("Archon")); if (!ReloadAffix.Definition.Name.Contains("Archon")) filteredList = filteredList.Where(a => !a.Name.Contains("Archon"));
// FIXME: always true? // FIXME: always true?
if (ReloadAffix.Definition.Hash == ReloadAffix.Definition.Hash) filteredList = filteredList.Where(a => a.Hash != ReloadAffix.Definition.Hash); if (ReloadAffix.Definition.Hash == ReloadAffix.Definition.Hash) filteredList = filteredList.Where(a => a.Hash != ReloadAffix.Definition.Hash);
if (Item.GBHandle.GBID == -4139386) filteredList = filteredList.Where( a => !a.Name.Contains("Str") && !a.Name.Contains("Dex") && !a.Name.Contains("Int") && !a.Name.Contains("Vit" )); if (Item.GBHandle.GBID == -4139386) filteredList = filteredList.Where(a => !a.Name.Contains("Str") && !a.Name.Contains("Dex") && !a.Name.Contains("Int") && !a.Name.Contains("Vit"));
Dictionary<int, AffixTable> bestDefinitions = new Dictionary<int, AffixTable>(); Dictionary<int, AffixTable> bestDefinitions = new Dictionary<int, AffixTable>();
@ -1260,7 +1261,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
if (ReloadAffix.Definition.Name.Contains("Bracer")) if (ReloadAffix.Definition.Name.Contains("Bracer"))
result = (float)FastRandom.Instance.Next(1, 3); result = (float)FastRandom.Instance.Next(1, 3);
} }
if (GameAttributes.Attributes[effect.AttributeId] is GameAttributeF) if (GameAttributes.Attributes[effect.AttributeId] is GameAttributeF)
{ {
var attr = GameAttributes.Attributes[effect.AttributeId] as GameAttributeF; var attr = GameAttributes.Attributes[effect.AttributeId] as GameAttributeF;
@ -1286,7 +1287,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
foreach (var def in selectedGroups) foreach (var def in selectedGroups)
{ {
if (def != null) if (def != null)
{ {
List<float> Scores = new List<float>(); List<float> Scores = new List<float>();
foreach (var effect in def.AttributeSpecifier) foreach (var effect in def.AttributeSpecifier)
@ -1300,7 +1301,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
if (Item.RandomGenerator == null) if (Item.RandomGenerator == null)
Item.RandomGenerator = new ItemRandomHelper(Item.Attributes[GameAttributes.Seed]); Item.RandomGenerator = new ItemRandomHelper(Item.Attributes[GameAttributes.Seed]);
if (FormulaScript.Evaluate(effect.Formula.ToArray(), Item.RandomGenerator, out result, out minValue, out maxValue)) if (FormulaScript.Evaluate(effect.Formula.ToArray(), Item.RandomGenerator, out result, out minValue, out maxValue))
{ {
if (effect.AttributeId == 369) continue; //Durability_Max if (effect.AttributeId == 369) continue; //Durability_Max
@ -1364,13 +1365,13 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
Field1 = (Item.Unidentified ? 0x00000002 : 0x00000001), Field1 = (Item.Unidentified ? 0x00000002 : 0x00000001),
aAffixGBIDs = affixGbis, aAffixGBIDs = affixGbis,
}); });
//*/ //*/
} }
} }
#endregion #endregion
_owner.GrantCriteria(74987255495718); _owner.GrantCriteria(74987255495718);
} }
private void OnTrySalvageAllMessage(TrySalvageAllMessage msg) private void OnTrySalvageAllMessage(TrySalvageAllMessage msg)
{ {
@ -1379,7 +1380,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
int count_reward = 0; int count_reward = 0;
switch (msg.SalvageType) switch (msg.SalvageType)
{ {
// Simple items // Simple items
case 0: case 0:
foreach (var item in GetBackPackItems()) foreach (var item in GetBackPackItems())
@ -1549,7 +1550,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
return; return;
Logger.Warn("Identifying items not implemented yet"); Logger.Warn("Identifying items not implemented yet");
} }
private void OnInventoryUseIdentifyItemMessage(InventoryUseIdentifyItemMessage msg) private void OnInventoryUseIdentifyItemMessage(InventoryUseIdentifyItemMessage msg)
{ {
var item = GetItemByDynId(_owner, msg.ItemID); var item = GetItemByDynId(_owner, msg.ItemID);
@ -1557,14 +1558,15 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
return; return;
int idDuration = 60; int idDuration = 60;
_owner.StartCasting(idDuration, new Action(() => { _owner.StartCasting(idDuration, new Action(() =>
{
item.Identify(); item.Identify();
})); }));
} }
//* //*
private void OnTrySalvageMessage(TrySalvageMessage msg) private void OnTrySalvageMessage(TrySalvageMessage msg)
{ {
var item = GetItemByDynId(_owner, msg.ActorID); var item = GetItemByDynId(_owner, msg.ActorID);
if (item == null) if (item == null)
return; return;
@ -1633,8 +1635,8 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
_inventoryGrid.RemoveItem(item); _inventoryGrid.RemoveItem(item);
item.Unreveal(_owner); item.Unreveal(_owner);
bool haveBrimstone = false; bool haveBrimstone = false;
Item brimstone = null; Item brimstone = null;
if (item.Attributes[GameAttributes.Item_Quality_Level] > 8 || FastRandom.Instance.Next(1, 1000) == 1) if (item.Attributes[GameAttributes.Item_Quality_Level] > 8 || FastRandom.Instance.Next(1, 1000) == 1)
@ -1656,9 +1658,9 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
gbidOriginalItem = item.GBHandle.GBID, gbidOriginalItem = item.GBHandle.GBID,
IQLOriginalItem = Math.Min(item.Attributes[GameAttributes.Item_Quality_Level], 9), IQLOriginalItem = Math.Min(item.Attributes[GameAttributes.Item_Quality_Level], 9),
MaterialsResults = haveBrimstone ? 2 : 1, MaterialsResults = haveBrimstone ? 2 : 1,
gbidNewItems = new int[] { reward.GBHandle.GBID, haveBrimstone ? brimstone.GBHandle.GBID : -1, -1, -1 }, gbidNewItems = new int[] { reward.GBHandle.GBID, haveBrimstone ? brimstone.GBHandle.GBID : -1, -1, -1 },
MaterialsCounts = new int[] { count_reward, haveBrimstone ? 1 : 0, 0, 0 } MaterialsCounts = new int[] { count_reward, haveBrimstone ? 1 : 0, 0, 0 }
}); });
UpdateCurrencies(); UpdateCurrencies();
@ -1707,13 +1709,13 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
if (GetGoldAmount() < recipeDefinition.Gold) return; if (GetGoldAmount() < recipeDefinition.Gold) return;
bool haveEnoughIngredients = true; bool haveEnoughIngredients = true;
foreach (var ingr in recipeDefinition.Ingredients) foreach (var ingr in recipeDefinition.Ingredients)
{ {
if (ingr.ItemsGBID == -1 || ingr.ItemsGBID == 0) continue; if (ingr.ItemsGBID == -1 || ingr.ItemsGBID == 0) continue;
switch (ingr.ItemsGBID) switch (ingr.ItemsGBID)
{ {
case -363607620: // Common parts. case -363607620: // Common parts.
if(_owner.Toon.GameAccount.CraftItem1 < ingr.Count) if (_owner.Toon.GameAccount.CraftItem1 < ingr.Count)
haveEnoughIngredients = false; haveEnoughIngredients = false;
break; break;
case -1585802162: // Wizard Dust. case -1585802162: // Wizard Dust.
@ -1754,7 +1756,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
_stashGrid.RemoveItem(item); _stashGrid.RemoveItem(item);
item.Unreveal(item.Owner as Player); item.Unreveal(item.Owner as Player);
} }
else if(item.Attributes[GameAttributes.ItemStackQuantityLo] > ingr.Count) else if (item.Attributes[GameAttributes.ItemStackQuantityLo] > ingr.Count)
{ {
item.Attributes[GameAttributes.ItemStackQuantityLo] -= ingr.Count; item.Attributes[GameAttributes.ItemStackQuantityLo] -= ingr.Count;
item.Attributes.BroadcastChangedIfRevealed(); item.Attributes.BroadcastChangedIfRevealed();
@ -1773,13 +1775,13 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
switch (ingr.ItemsGBID) switch (ingr.ItemsGBID)
{ {
case -363607620: // Common parts. case -363607620: // Common parts.
_owner.Toon.GameAccount.CraftItem1 -= ingr.Count; _owner.Toon.GameAccount.CraftItem1 -= ingr.Count;
break; break;
case -1585802162: // Wizard Dust. case -1585802162: // Wizard Dust.
_owner.Toon.GameAccount.CraftItem2 -= ingr.Count; _owner.Toon.GameAccount.CraftItem2 -= ingr.Count;
break; break;
case -605947593: // Blurred Crystal. case -605947593: // Blurred Crystal.
_owner.Toon.GameAccount.CraftItem3 -= ingr.Count; _owner.Toon.GameAccount.CraftItem3 -= ingr.Count;
break; break;
} }
} }
@ -1800,7 +1802,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
} }
//else //else
if (!(recipeDefinition.Name.StartsWith("T12_") || recipeDefinition.Name.StartsWith("T11_"))) if (!(recipeDefinition.Name.StartsWith("T12_") || recipeDefinition.Name.StartsWith("T11_")))
reward.Attributes[GameAttributes.Item_Quality_Level] = Math.Min(recipe.ItemSpecifierData.AdditionalRandomAffixes + 2 , 9); reward.Attributes[GameAttributes.Item_Quality_Level] = Math.Min(recipe.ItemSpecifierData.AdditionalRandomAffixes + 2, 9);
if (reward.Attributes[GameAttributes.Item_Quality_Level] < 9) if (reward.Attributes[GameAttributes.Item_Quality_Level] < 9)
{ {
AffixGenerator.Generate(reward, recipe.ItemSpecifierData.AdditionalRandomAffixes, true); AffixGenerator.Generate(reward, recipe.ItemSpecifierData.AdditionalRandomAffixes, true);
@ -1925,7 +1927,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
if (reward.Attributes[GameAttributes.ItemStackQuantityLo] > 0) if (reward.Attributes[GameAttributes.ItemStackQuantityLo] > 0)
_inventoryGrid.AddItem(reward); _inventoryGrid.AddItem(reward);
client.SendMessage(new CraftingResultsMessage { annItem = reward.GlobalID, GBIDItem = recipe.ItemSpecifierData.ItemGBId, IQL = reward.Attributes[GameAttributes.Item_Quality_Level] }); client.SendMessage(new CraftingResultsMessage { annItem = reward.GlobalID, GBIDItem = recipe.ItemSpecifierData.ItemGBId, IQL = reward.Attributes[GameAttributes.Item_Quality_Level] });
UpdateCurrencies(); UpdateCurrencies();
} }
@ -2228,7 +2230,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
return _equipment.GetOffHand(); return _equipment.GetOffHand();
} }
public void AddGoldAmount(int amount, bool immediately = true) public void AddGoldAmount(int amount, bool immediately = true)
{ {
@ -2318,7 +2320,12 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
D3.Items.CurrencyData craft7Data = D3.Items.CurrencyData.CreateBuilder().SetId(20).SetCount(playerAcc.BigPortalKey).Build(); // KeyStone Greater Rift. D3.Items.CurrencyData craft7Data = D3.Items.CurrencyData.CreateBuilder().SetId(20).SetCount(playerAcc.BigPortalKey).Build(); // KeyStone Greater Rift.
D3.Items.CurrencyData[] consumables = {goldData, bloodShardData, platinumData, craft1Data, craft2Data, craft3Data, craft4Data, craft5Data, craft7Data, horadric1Data, horadric2Data, horadric3Data, horadric4Data, horadric5Data, craft8Data, craft9Data, craft10Data, craft11Data}; D3.Items.CurrencyData[] consumables = {
goldData, bloodShardData, platinumData, craft1Data,
craft2Data, craft3Data, craft4Data, craft5Data, craft7Data,
horadric1Data, horadric2Data, horadric3Data, horadric4Data,
horadric5Data, craft8Data, craft9Data, craft10Data, craft11Data
};
foreach (var consumable in consumables) foreach (var consumable in consumables)
{ {
@ -2404,7 +2411,8 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
_owner.SetAttributesByParagon(); _owner.SetAttributesByParagon();
CheckWeapons(); CheckWeapons();
_owner.Attributes.BroadcastChangedIfRevealed(); _owner.Attributes.BroadcastChangedIfRevealed();
Task.Delay(3000).ContinueWith((t) => { Task.Delay(3000).ContinueWith((t) =>
{
try try
{ {
_owner.CheckBonusSets(); _owner.CheckBonusSets();
@ -2421,7 +2429,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
_inventoryGold.Owner = _owner; _inventoryGold.Owner = _owner;
_inventoryGold.SetInventoryLocation((int)EquipmentSlotId.Gold, 0, 0); _inventoryGold.SetInventoryLocation((int)EquipmentSlotId.Gold, 0, 0);
_inventoryGold.Attributes.SendChangedMessage(_owner.InGameClient); _inventoryGold.Attributes.SendChangedMessage(_owner.InGameClient);
//this.inventoryPotion = ItemGenerator.CreateItem(this._owner, ItemGenerator.GetItemDefinition(DiIiS_NA.Core.Helpers.Hash.StringHashHelper.HashItemName("HealthPotionBottomless"))); //this.inventoryPotion = ItemGenerator.CreateItem(this._owner, ItemGenerator.GetItemDefinition(DiIiS_NA.Core.Helpers.Hash.StringHashHelper.HashItemName("HealthPotionBottomless")));
//this.inventoryPotion.Owner = _owner; //this.inventoryPotion.Owner = _owner;
//this.inventoryPotion.SetInventoryLocation((int)EquipmentSlotId.Inventory, 0, 0); //this.inventoryPotion.SetInventoryLocation((int)EquipmentSlotId.Inventory, 0, 0);

BIN
src/GAM/1xx_AffixList.gam Normal file

Binary file not shown.

604
src/GAM/1xx_AffixList.json Normal file
View File

@ -0,0 +1,604 @@
{
"Header": {
"DeadBeef": -559038737,
"SnoType": 2458,
"Unknown1": 0,
"Unknown2": 0,
"Unknown3": 0,
"Unknown4": 0,
"SNOId": 306532,
"BalanceType": 8,
"I0": 1655929658,
"I1": 0
},
"Items": [
{
"Hash": -1292859639,
"Name": "1xx_Damage 0.1 Legendary",
"GBID": 0,
"PAD": 0,
"SNOActor": 3,
"ItemTypesGBID": 100,
"Flags": 1,
"DyeType": 1,
"ItemLevel": 1,
"ItemAct": 1,
"AffixLevel": 1,
"BonusAffixes": 1,
"BonusMajorAffixes": 1,
"BonusMinorAffixes": 0,
"MaxSockets": 1,
"MaxStackSize": 1,
"Cost": 1,
"CostAlt": 5,
"IdentifyCost": 30,
"SellOverrideCost": 1215,
"RemoveGemCost": 9,
"RequiredLevel": 0,
"CrafterRequiredLevel": 0,
"BaseDurability": 0,
"DurabilityVariance": -1,
"EnchantAffixCost": -1,
"EnchantAffixCostX1": -1,
"TransmogUnlockCrafterLevel": 130731,
"TransmogCost": 213613,
"SNOBaseItem": 2044719016,
"SNOSet": -1,
"SNOComponentTreasureClass": -1,
"SNOComponentTreasureClassMagic": -1,
"SNOComponentTreasureClassRare": -1,
"SNOComponentTreasureClassLegend": -1,
"SNORareNamePrefixStringList": -1,
"SNORareNameSuffixStringList": -1,
"StartEffect": -1,
"EndEffect": -1,
"PortraitBkgrnd": -1588776611,
"PortraitHPBar": -1,
"PortraitBanner": -1,
"PortraitFrame": -1,
"Labels": [
-1,
-1,
-1,
-1,
-1
],
"Pad": "NaN",
"WeaponDamageMin": "NaN",
"WeaponDamageDelta": "NaN",
"DamageMinVariance": "NaN",
"DamageDeltaVariance": "NaN",
"AttacksPerSecond": "NaN",
"Armor": "NaN",
"ArmorDelta": "NaN",
"SNOSkill0": -1,
"SkillI0": -1,
"SNOSkill1": -1,
"SkillI1": -1,
"SNOSkill2": -1,
"SkillI2": -1,
"SNOSkill3": -1,
"SkillI3": 485534122,
"Attribute": [
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": 2746136,
"SNOParam": 40,
"Formula": []
},
{
"AttributeId": 2746176,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 2746176,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 2746176,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 807429479,
"SNOParam": 1277178414,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
}
],
"Quality": 0,
"RecipeToGrant": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"TransmogsToGrant": [
0,
0,
0,
0,
0,
0,
0,
0
],
"Massive0": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"LegendaryAffixFamily": [
0,
0,
0,
0,
0,
0
],
"MaxAffixLevel": [
0,
0,
0,
0,
0,
0
],
"I38": [
3,
100,
1,
1,
1,
1
],
"LegendaryFamily": 1,
"GemT": 1,
"CraftingTier": 1,
"CraftingQuality": 0,
"snoActorPageOfFatePortal": 1,
"snoWorldPageOfFate1": 1,
"snoWorldPageOfFate2": 1,
"snoLevelAreaPageOfFatePortal": 25,
"EnchantAffixIngredientsCount": 50,
"EnchantAffixIngredients": [
{
"ItemsGBID": 2835,
"Count": 29
},
{
"ItemsGBID": 22,
"Count": 22
},
{
"ItemsGBID": 0,
"Count": -1
},
{
"ItemsGBID": -1,
"Count": -1
},
{
"ItemsGBID": 130731,
"Count": 213613
},
{
"ItemsGBID": 2044719016,
"Count": -1
}
],
"EnchantAffixIngredientsCountX1": -1,
"EnchantAffixIngredientsX1": [
{
"ItemsGBID": -1,
"Count": -1
},
{
"ItemsGBID": -1,
"Count": -1
},
{
"ItemsGBID": -1,
"Count": -1
},
{
"ItemsGBID": -1,
"Count": -1588776611
},
{
"ItemsGBID": -1,
"Count": -1
},
{
"ItemsGBID": -1,
"Count": -1
}
],
"LegendaryPowerItemReplacement": -1,
"SeasonRequiredToDrop": -1,
"Attribute1": [
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
}
],
"JewelSecondaryEffectUnlockRank": -1,
"JewelMaxRank": -1,
"MainEffect": -1,
"DateReleased": -1,
"VacuumPickup": -1,
"CostAlt2": 485534122,
"DynamicCraftCostMagic": -1,
"DynamicCraftCostRare": -1,
"DynamicCraftAffixCount": -1,
"SeasonCacheTreasureClass": -1
},
{
"Hash": 2019952886,
"Name": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"GBID": 0,
"PAD": 0,
"SNOActor": 1601730609,
"ItemTypesGBID": 1634558276,
"Flags": 807429479,
"DyeType": 1277178670,
"ItemLevel": 1852139365,
"ItemAct": 2037539172,
"AffixLevel": 0,
"BonusAffixes": 0,
"BonusMajorAffixes": 0,
"BonusMinorAffixes": 0,
"MaxSockets": 0,
"MaxStackSize": 0,
"Cost": 0,
"CostAlt": 0,
"IdentifyCost": 0,
"SellOverrideCost": 0,
"RemoveGemCost": 0,
"RequiredLevel": 0,
"CrafterRequiredLevel": 0,
"BaseDurability": 0,
"DurabilityVariance": 0,
"EnchantAffixCost": 0,
"EnchantAffixCostX1": 0,
"TransmogUnlockCrafterLevel": 0,
"TransmogCost": 0,
"SNOBaseItem": 0,
"SNOSet": 0,
"SNOComponentTreasureClass": 0,
"SNOComponentTreasureClassMagic": 0,
"SNOComponentTreasureClassRare": 0,
"SNOComponentTreasureClassLegend": 0,
"SNORareNamePrefixStringList": 0,
"SNORareNameSuffixStringList": 0,
"StartEffect": 0,
"EndEffect": 0,
"PortraitBkgrnd": 0,
"PortraitHPBar": 0,
"PortraitBanner": 0,
"PortraitFrame": 0,
"Labels": [
0,
0,
0,
0,
0
],
"Pad": 0.0,
"WeaponDamageMin": 0.0,
"WeaponDamageDelta": 0.0,
"DamageMinVariance": 0.0,
"DamageDeltaVariance": 0.0,
"AttacksPerSecond": 0.0,
"Armor": 0.0,
"ArmorDelta": 0.0,
"SNOSkill0": 0,
"SkillI0": 0,
"SNOSkill1": 0,
"SkillI1": 0,
"SNOSkill2": 0,
"SkillI2": 0,
"SNOSkill3": 0,
"SkillI3": 0,
"Attribute": [
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 3,
"SNOParam": 100,
"Formula": []
},
{
"AttributeId": 1,
"SNOParam": 1,
"Formula": []
},
{
"AttributeId": 1,
"SNOParam": 40,
"Formula": []
},
{
"AttributeId": 39,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 213613,
"SNOParam": 2044719016,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": -1,
"Formula": []
}
],
"Quality": 2746216,
"RecipeToGrant": [
40,
-1,
-1,
0,
0,
2746256,
0,
-1,
-1,
0
],
"TransmogsToGrant": [
0,
2746256,
0,
-1,
-1,
0,
0,
2746256
],
"Massive0": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"LegendaryAffixFamily": [
0,
0,
0,
0,
0,
0
],
"MaxAffixLevel": [
0,
0,
0,
0,
0,
0
],
"I38": [
1601730609,
1634558276,
1226859879,
0,
0,
0
],
"LegendaryFamily": 0,
"GemT": 0,
"CraftingTier": 0,
"CraftingQuality": 0,
"snoActorPageOfFatePortal": 0,
"snoWorldPageOfFate1": 0,
"snoWorldPageOfFate2": 0,
"snoLevelAreaPageOfFatePortal": 0,
"EnchantAffixIngredientsCount": 0,
"EnchantAffixIngredients": [
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
}
],
"EnchantAffixIngredientsCountX1": 0,
"EnchantAffixIngredientsX1": [
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
}
],
"LegendaryPowerItemReplacement": 0,
"SeasonRequiredToDrop": 0,
"Attribute1": [
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
}
],
"JewelSecondaryEffectUnlockRank": 0,
"JewelMaxRank": 0,
"MainEffect": 0,
"DateReleased": 0,
"VacuumPickup": 0,
"CostAlt2": 0,
"DynamicCraftCostMagic": 0,
"DynamicCraftCostRare": 0,
"DynamicCraftAffixCount": 0,
"SeasonCacheTreasureClass": 0
}
]
}

Binary file not shown.

Binary file not shown.

BIN
src/GAM/ItemTypes.gam Normal file

Binary file not shown.

604
src/GAM/ItemTypes.json Normal file
View File

@ -0,0 +1,604 @@
{
"Header": {
"DeadBeef": -559038737,
"SnoType": 2458,
"Unknown1": 0,
"Unknown2": 0,
"Unknown3": 0,
"Unknown4": 0,
"SNOId": 19755,
"BalanceType": 1,
"I0": 934681424,
"I1": 0
},
"Items": [
{
"Hash": -766798454,
"Name": "Weapon",
"GBID": 0,
"PAD": 0,
"SNOActor": -1,
"ItemTypesGBID": 0,
"Flags": 2,
"DyeType": 0,
"ItemLevel": 0,
"ItemAct": -1,
"AffixLevel": -1,
"BonusAffixes": -1,
"BonusMajorAffixes": -1,
"BonusMinorAffixes": -1,
"MaxSockets": -1,
"MaxStackSize": -1,
"Cost": -1,
"CostAlt": 1,
"IdentifyCost": 0,
"SellOverrideCost": 0,
"RemoveGemCost": 0,
"RequiredLevel": 0,
"CrafterRequiredLevel": 1953724749,
"BaseDurability": 1467576933,
"DurabilityVariance": 1869635941,
"EnchantAffixCost": 4731246,
"EnchantAffixCostX1": 0,
"TransmogUnlockCrafterLevel": 0,
"TransmogCost": 0,
"SNOBaseItem": 0,
"SNOSet": 0,
"SNOComponentTreasureClass": 0,
"SNOComponentTreasureClassMagic": 0,
"SNOComponentTreasureClassRare": 0,
"SNOComponentTreasureClassLegend": 0,
"SNORareNamePrefixStringList": 0,
"SNORareNameSuffixStringList": 0,
"StartEffect": 0,
"EndEffect": 0,
"PortraitBkgrnd": 0,
"PortraitHPBar": 0,
"PortraitBanner": 0,
"PortraitFrame": 0,
"Labels": [
0,
0,
0,
0,
0
],
"Pad": 0.0,
"WeaponDamageMin": 0.0,
"WeaponDamageDelta": 0.0,
"DamageMinVariance": 0.0,
"DamageDeltaVariance": 0.0,
"AttacksPerSecond": 0.0,
"Armor": 0.0,
"ArmorDelta": 0.0,
"SNOSkill0": 0,
"SkillI0": 0,
"SNOSkill1": 0,
"SkillI1": 0,
"SNOSkill2": 0,
"SkillI2": 0,
"SNOSkill3": 0,
"SkillI3": 0,
"Attribute": [
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 485534122,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": 512,
"Formula": []
},
{
"AttributeId": 1953724749,
"SNOParam": 1467576933,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
}
],
"Quality": 0,
"RecipeToGrant": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"TransmogsToGrant": [
0,
485534122,
0,
0,
0,
1191680,
-1,
-1
],
"Massive0": [
-1,
-1,
-1,
-1,
-1,
-1,
1024,
0,
0
],
"LegendaryAffixFamily": [
0,
0,
1701602637,
101,
0,
0
],
"MaxAffixLevel": [
0,
0,
0,
0,
0,
0
],
"I38": [
0,
0,
0,
0,
0,
0
],
"LegendaryFamily": 0,
"GemT": 0,
"CraftingTier": 0,
"CraftingQuality": 0,
"snoActorPageOfFatePortal": 0,
"snoWorldPageOfFate1": 0,
"snoWorldPageOfFate2": 0,
"snoLevelAreaPageOfFatePortal": 0,
"EnchantAffixIngredientsCount": 0,
"EnchantAffixIngredients": [
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
}
],
"EnchantAffixIngredientsCountX1": 0,
"EnchantAffixIngredientsX1": [
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
}
],
"LegendaryPowerItemReplacement": 0,
"SeasonRequiredToDrop": 0,
"Attribute1": [
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
}
],
"JewelSecondaryEffectUnlockRank": 0,
"JewelMaxRank": 0,
"MainEffect": 485534122,
"DateReleased": 0,
"VacuumPickup": 0,
"CostAlt2": 0,
"DynamicCraftCostMagic": 0,
"DynamicCraftCostRare": -1,
"DynamicCraftAffixCount": -1,
"SeasonCacheTreasureClass": -1
},
{
"Hash": -2020353786,
"Name": "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\u0002",
"GBID": 0,
"PAD": 0,
"SNOActor": 0,
"ItemTypesGBID": 0,
"Flags": 0,
"DyeType": 0,
"ItemLevel": 0,
"ItemAct": 0,
"AffixLevel": 0,
"BonusAffixes": 0,
"BonusMajorAffixes": 0,
"BonusMinorAffixes": 0,
"MaxSockets": 133016072,
"MaxStackSize": 0,
"Cost": 0,
"CostAlt": 0,
"IdentifyCost": 0,
"SellOverrideCost": -1,
"RemoveGemCost": -1,
"RequiredLevel": -1,
"CrafterRequiredLevel": -1,
"BaseDurability": -1,
"DurabilityVariance": -1,
"EnchantAffixCost": -1,
"EnchantAffixCostX1": -1,
"TransmogUnlockCrafterLevel": 4,
"TransmogCost": 0,
"SNOBaseItem": 0,
"SNOSet": 0,
"SNOComponentTreasureClass": 0,
"SNOComponentTreasureClassMagic": 1701733703,
"SNOComponentTreasureClassRare": 1399023986,
"SNOComponentTreasureClassLegend": 1735289207,
"SNORareNamePrefixStringList": 1885431127,
"SNORareNameSuffixStringList": 28271,
"StartEffect": 0,
"EndEffect": 0,
"PortraitBkgrnd": 0,
"PortraitHPBar": 0,
"PortraitBanner": 0,
"PortraitFrame": 0,
"Labels": [
0,
0,
0,
0,
0
],
"Pad": 0.0,
"WeaponDamageMin": 0.0,
"WeaponDamageDelta": 0.0,
"DamageMinVariance": 0.0,
"DamageDeltaVariance": 0.0,
"AttacksPerSecond": 0.0,
"Armor": 0.0,
"ArmorDelta": 0.0,
"SNOSkill0": 0,
"SkillI0": 0,
"SNOSkill1": 0,
"SkillI1": 0,
"SNOSkill2": 0,
"SkillI2": 0,
"SNOSkill3": 0,
"SkillI3": 0,
"Attribute": [
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
}
],
"Quality": 0,
"RecipeToGrant": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"TransmogsToGrant": [
0,
0,
0,
0,
0,
0,
0,
0
],
"Massive0": [
0,
0,
0,
1846932879,
0,
0,
1,
1273600,
3
],
"LegendaryAffixFamily": [
4,
21,
22,
-1,
-1,
-1
],
"MaxAffixLevel": [
-1,
520,
0,
0,
0,
0
],
"I38": [
845510721,
72,
0,
0,
0,
0
],
"LegendaryFamily": 0,
"GemT": 0,
"CraftingTier": 0,
"CraftingQuality": 0,
"snoActorPageOfFatePortal": 0,
"snoWorldPageOfFate1": 0,
"snoWorldPageOfFate2": 0,
"snoLevelAreaPageOfFatePortal": 0,
"EnchantAffixIngredientsCount": 0,
"EnchantAffixIngredients": [
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
}
],
"EnchantAffixIngredientsCountX1": 0,
"EnchantAffixIngredientsX1": [
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
}
],
"LegendaryPowerItemReplacement": 0,
"SeasonRequiredToDrop": 0,
"Attribute1": [
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
},
{
"AttributeId": 0,
"SNOParam": 0,
"Formula": []
}
],
"JewelSecondaryEffectUnlockRank": 0,
"JewelMaxRank": 0,
"MainEffect": 0,
"DateReleased": 0,
"VacuumPickup": 0,
"CostAlt2": 0,
"DynamicCraftCostMagic": 0,
"DynamicCraftCostRare": 0,
"DynamicCraftAffixCount": 0,
"SeasonCacheTreasureClass": 0
}
]
}

BIN
src/GAM/Item_ArtTest.gam Normal file

Binary file not shown.

104386
src/GAM/Item_ArtTest.json Normal file

File diff suppressed because it is too large Load Diff

BIN
src/GAM/Items_Armor.gam Normal file

Binary file not shown.

BIN
src/GAM/Items_Legendary.gam Normal file

Binary file not shown.

879370
src/GAM/Items_Legendary.json Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
src/GAM/Items_Other.gam Normal file

Binary file not shown.

456598
src/GAM/Items_Other.json Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,310 @@
{
"Header": {
"DeadBeef": -559038737,
"SnoType": 2458,
"Unknown1": 0,
"Unknown2": 0,
"Unknown3": 0,
"Unknown4": 0,
"SNOId": 245193,
"BalanceType": 2,
"I0": 1708504845,
"I1": 0
},
"Items": [
{
"Hash": -44768141,
"Name": "PageOfFateA",
"GBID": 0,
"PAD": 0,
"SNOActor": 245219,
"ItemTypesGBID": 327230447,
"Flags": 32,
"DyeType": 0,
"ItemLevel": 10,
"ItemAct": 0,
"AffixLevel": 0,
"BonusAffixes": 0,
"BonusMajorAffixes": 0,
"BonusMinorAffixes": 0,
"MaxSockets": 0,
"MaxStackSize": 5,
"Cost": 1200,
"CostAlt": 5,
"IdentifyCost": 0,
"SellOverrideCost": 0,
"RemoveGemCost": 0,
"RequiredLevel": 0,
"CrafterRequiredLevel": 0,
"BaseDurability": 250,
"DurabilityVariance": 200,
"EnchantAffixCost": 500,
"EnchantAffixCostX1": 500,
"TransmogUnlockCrafterLevel": 0,
"TransmogCost": 100,
"SNOBaseItem": -1,
"SNOSet": -1,
"SNOComponentTreasureClass": -1,
"SNOComponentTreasureClassMagic": -1,
"SNOComponentTreasureClassRare": -1,
"SNOComponentTreasureClassLegend": -1,
"SNORareNamePrefixStringList": -1,
"SNORareNameSuffixStringList": -1,
"StartEffect": -1,
"EndEffect": -1,
"PortraitBkgrnd": 0,
"PortraitHPBar": 0,
"PortraitBanner": 0,
"PortraitFrame": 0,
"Labels": [
0,
0,
0,
0,
0
],
"Pad": 0.0,
"WeaponDamageMin": 0.0,
"WeaponDamageDelta": 0.0,
"DamageMinVariance": 0.0,
"DamageDeltaVariance": 0.0,
"AttacksPerSecond": 0.0,
"Armor": 0.0,
"ArmorDelta": 0.0,
"SNOSkill0": -1,
"SkillI0": 0,
"SNOSkill1": -1,
"SkillI1": 0,
"SNOSkill2": -1,
"SkillI2": 0,
"SNOSkill3": -1,
"SkillI3": 0,
"Attribute": [
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
}
],
"Quality": -1,
"RecipeToGrant": [
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1
],
"TransmogsToGrant": [
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1
],
"Massive0": [
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"LegendaryAffixFamily": [
-1,
-1,
-1,
-1,
-1,
-1
],
"MaxAffixLevel": [
0,
0,
0,
0,
0,
0
],
"I38": [
0,
0,
0,
0,
0,
0
],
"LegendaryFamily": -1,
"GemT": 0,
"CraftingTier": 0,
"CraftingQuality": 0,
"snoActorPageOfFatePortal": 245449,
"snoWorldPageOfFate1": 245391,
"snoWorldPageOfFate2": 245402,
"snoLevelAreaPageOfFatePortal": 109526,
"EnchantAffixIngredientsCount": 0,
"EnchantAffixIngredients": [
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
}
],
"EnchantAffixIngredientsCountX1": 0,
"EnchantAffixIngredientsX1": [
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
},
{
"ItemsGBID": 0,
"Count": 0
}
],
"LegendaryPowerItemReplacement": -1,
"SeasonRequiredToDrop": -1,
"Attribute1": [
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
},
{
"AttributeId": -1,
"SNOParam": -1,
"Formula": []
}
],
"JewelSecondaryEffectUnlockRank": -1,
"JewelMaxRank": -1,
"MainEffect": -1,
"DateReleased": 5,
"VacuumPickup": 0,
"CostAlt2": 0,
"DynamicCraftCostMagic": 0,
"DynamicCraftCostRare": 0,
"DynamicCraftAffixCount": 0,
"SeasonCacheTreasureClass": -1
}
]
}

BIN
src/GAM/Items_Quests.gam Normal file

Binary file not shown.

141136
src/GAM/Items_Quests.json Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

38530
src/GAM/Items_Quests_Beta.json Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
src/GAM/Items_Weapons.gam Normal file

Binary file not shown.

142606
src/GAM/Items_Weapons.json Normal file

File diff suppressed because it is too large Load Diff