Fixed currencies (bugfix: they weren't being updated due to an empty stub on consumables);

Logging changed on MonsterBrain.cs
This commit is contained in:
Lucca Faria Ferri 2023-01-27 13:11:46 -08:00
parent 8c63392ca5
commit 18b99cd67c
4 changed files with 19 additions and 9 deletions

View File

@ -454,7 +454,7 @@ namespace DiIiS_NA.GameServer.GSSystem.AISystem.Brains
{
if (PresetPowers.ContainsKey(powerSNO))
{
Logger.Warn($"Monster $[red]$\"{Body.Name}\"$[/]$ already has power {powerSNO}.");
Logger.Trace($"Monster $[red]$\"{Body.Name}\"$[/]$ already has power {powerSNO}.");
// Logger.Debug("AddPresetPower(): power sno {0} already defined for monster \"{1}\"",
//powerSNO, this.Body.ActorSNO.Name);
return;

View File

@ -894,7 +894,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
var Craft7Data = D3.Items.CurrencyData.CreateBuilder().SetId(20)
.SetCount(playerAcc.BigPortalKey).Build(); // KeyStone Greater Rift.
object[] consumables =
D3.Items.CurrencyData[] consumables =
{
GoldData, BloodShardData, PlatinumData, Craft1Data, Craft2Data, Craft3Data, Craft4Data, Craft5Data,
Craft7Data, Horadric1Data, Horadric2Data, Horadric3Data, Horadric4Data, Horadric5Data, Craft8Data,
@ -1039,7 +1039,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
var craft7Data = D3.Items.CurrencyData.CreateBuilder().SetId(20)
.SetCount(playerAcc.BigPortalKey).Build(); // KeyStone Greater Rift.
object[] consumables =
D3.Items.CurrencyData[] consumables =
{
goldData, bloodShardData, platinumData, craft1Data, craft2Data, craft3Data, craft4Data, craft5Data,
craft7Data, horadric1Data, horadric2Data, horadric3Data, horadric4Data, horadric5Data, craft8Data,
@ -1193,7 +1193,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
craft4Data = D3.Items.CurrencyData.CreateBuilder().SetId(6).SetCount(playerAcc.CraftItem4).Build();
object[] horadricBoxes = { horadric1Data, horadric2Data, horadric3Data, horadric4Data, horadric5Data };
D3.Items.CurrencyData[] horadricBoxes = { horadric1Data, horadric2Data, horadric3Data, horadric4Data, horadric5Data };
foreach (var horadricBoxe in horadricBoxes) moneys.AddCurrency(horadricBoxe);
player.InGameClient.SendMessage(

View File

@ -2251,11 +2251,19 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
public int GetGoldAmount()
{
if (_inventoryGold != null)
{
Logger.Warn($"InventoryGold is $[bold red]$NOT$[/]$ null: {_inventoryGold.Attributes[GameAttribute.Gold]}");
return _inventoryGold.Attributes[GameAttribute.Gold];
}
else
{
Logger.Warn($"InventoryGold is $[bold red]$NULL$[/]$");
return -1;
}
}
public void AddBloodShardsAmount(int amount, bool immediately = true)
{
@ -2306,9 +2314,9 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
D3.Items.CurrencyData Craft7Data = D3.Items.CurrencyData.CreateBuilder().SetId(20).SetCount(playerAcc.BigPortalKey).Build(); // KeyStone Greater Rift.
object[] 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 (object consumable in consumables)
foreach (var consumable in consumables)
{
Moneys.AddCurrency(consumable);
}
@ -2340,6 +2348,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
Item item = null;
int goldAmount = (int)_owner.World.Game.GameDBSession.SessionGet<DBGameAccount>(_owner.Toon.GameAccount.PersistentID).Gold;
Logger.Warn($"User {this._owner.Toon.PersistentID} has {goldAmount} gold.");
this.BloodShards = (int)_owner.World.Game.GameDBSession.SessionGet<DBGameAccount>(_owner.Toon.GameAccount.PersistentID).BloodShards;
// Clear already present items
// LoadFromDB is called every time World is changed, even entering a dungeon
@ -2402,9 +2411,12 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
//}).ContinueWith((a) =>{
_inventoryGold = ItemGenerator.CreateGold(_owner, goldAmount);
_inventoryGold.Attributes[GameAttribute.Gold] = goldAmount;
Logger.Warn($"User {this._owner.Toon.PersistentID} - inventory gold has {_inventoryGold.Attributes[GameAttribute.Gold]} gold.");
_inventoryGold.Attributes[GameAttribute.ItemStackQuantityLo] = goldAmount; // This is the attribute that makes the gold visible in gamethe gold visible in game
_inventoryGold.Owner = _owner;
_inventoryGold.SetInventoryLocation((int)EquipmentSlotId.Gold, 0, 0);
_inventoryGold.Attributes.SendChangedMessage(_owner.InGameClient);
//this.inventoryPotion = ItemGenerator.CreateItem(this._owner, ItemGenerator.GetItemDefinition(DiIiS_NA.Core.Helpers.Hash.StringHashHelper.HashItemName("HealthPotionBottomless")));
//this.inventoryPotion.Owner = _owner;

View File

@ -6579,9 +6579,7 @@ namespace D3.Items {
return this;
}
public void AddCurrency(object consumable)
{
}
}
static CurrencySavedData() {
object.ReferenceEquals(global::D3.Items.Items.Descriptor, null);