Merge pull request #97 from rgto/fromCommunity

Consumables final adjusments before the split seasonal and offseason.
This commit is contained in:
Lucca Faria Ferri 2023-01-26 15:02:07 -03:00 committed by GitHub
commit c97bbfce3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 66 additions and 94 deletions

View File

@ -872,12 +872,12 @@ 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 (this.SNO) switch (SNO)
{ {
case ActorSno._tieredlootrunkey_0: case ActorSno._tieredlootrunkey_0:
player.Toon.GameAccount.BigPortalKey++; playerAcc.BigPortalKey++;
this.Destroy(); Destroy();
break; break;
default: default:
player.Inventory.PickUp(this); player.Inventory.PickUp(this);
@ -885,7 +885,6 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
} }
var Moneys = D3.Items.CurrencySavedData.CreateBuilder(); var Moneys = D3.Items.CurrencySavedData.CreateBuilder();
var playerAcc = player.InGameClient.BnetClient.Account.GameAccount;
D3.Items.CurrencyData GoldData = D3.Items.CurrencyData.CreateBuilder().SetId(0).SetCount((long)player.Inventory.GetGoldAmount()).Build(); D3.Items.CurrencyData GoldData = D3.Items.CurrencyData.CreateBuilder().SetId(0).SetCount((long)player.Inventory.GetGoldAmount()).Build();
D3.Items.CurrencyData BloodShardData = D3.Items.CurrencyData.CreateBuilder().SetId(1).SetCount(playerAcc.BloodShards).Build(); D3.Items.CurrencyData BloodShardData = D3.Items.CurrencyData.CreateBuilder().SetId(1).SetCount(playerAcc.BloodShards).Build();
D3.Items.CurrencyData PlatinumData = D3.Items.CurrencyData.CreateBuilder().SetId(2).SetCount(playerAcc.Platinum).Build(); D3.Items.CurrencyData PlatinumData = D3.Items.CurrencyData.CreateBuilder().SetId(2).SetCount(playerAcc.Platinum).Build();
@ -909,24 +908,12 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
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.
Moneys.AddCurrency(GoldData); object[] consumables = {GoldData, BloodShardData, PlatinumData, Craft1Data, Craft2Data, Craft3Data, Craft4Data, Craft5Data, Craft7Data, Horadric1Data, Horadric2Data, Horadric3Data, Horadric4Data, Horadric5Data, Craft8Data, Craft9Data, Craft10Data, Craft11Data};
Moneys.AddCurrency(BloodShardData);
Moneys.AddCurrency(PlatinumData); foreach (object consumable in consumables)
Moneys.AddCurrency(Craft1Data); {
Moneys.AddCurrency(Craft2Data); Moneys.AddCurrency(consumable);
Moneys.AddCurrency(Craft3Data); }
Moneys.AddCurrency(Craft4Data);
Moneys.AddCurrency(Craft5Data);
Moneys.AddCurrency(Craft7Data);
Moneys.AddCurrency(Horadric1Data);
Moneys.AddCurrency(Horadric2Data);
Moneys.AddCurrency(Horadric3Data);
Moneys.AddCurrency(Horadric4Data);
Moneys.AddCurrency(Horadric5Data);
Moneys.AddCurrency(Craft8Data);
Moneys.AddCurrency(Craft9Data);
Moneys.AddCurrency(Craft10Data);
Moneys.AddCurrency(Craft11Data);
player.InGameClient.SendMessage(new MessageSystem.Message.Definitions.Base.GenericBlobMessage(Opcodes.CurrencyDataFull) { Data = Moneys.Build().ToByteArray() }); player.InGameClient.SendMessage(new MessageSystem.Message.Definitions.Base.GenericBlobMessage(Opcodes.CurrencyDataFull) { Data = Moneys.Build().ToByteArray() });
@ -1029,24 +1016,13 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
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.
Moneys.AddCurrency(GoldData); object[] consumables = {GoldData, BloodShardData, PlatinumData, Craft1Data, Craft2Data, Craft3Data, Craft4Data, Craft5Data, Craft7Data, Horadric1Data, Horadric2Data, Horadric3Data, Horadric4Data, Horadric5Data, Craft8Data, Craft9Data, Craft10Data, Craft11Data};
Moneys.AddCurrency(BloodShardData);
Moneys.AddCurrency(PlatinumData); foreach (object consumable in consumables)
Moneys.AddCurrency(Craft1Data); {
Moneys.AddCurrency(Craft2Data); Moneys.AddCurrency(consumable);
Moneys.AddCurrency(Craft3Data); }
Moneys.AddCurrency(Craft4Data);
Moneys.AddCurrency(Craft5Data);
Moneys.AddCurrency(Craft7Data);
Moneys.AddCurrency(Horadric1Data);
Moneys.AddCurrency(Horadric2Data);
Moneys.AddCurrency(Horadric3Data);
Moneys.AddCurrency(Horadric4Data);
Moneys.AddCurrency(Horadric5Data);
Moneys.AddCurrency(Craft8Data);
Moneys.AddCurrency(Craft9Data);
Moneys.AddCurrency(Craft10Data);
Moneys.AddCurrency(Craft11Data);
#endregion #endregion
switch (GBHandle.GBID) switch (GBHandle.GBID)
{ {
@ -1152,11 +1128,13 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
Logger.Warn("This treasure bag - not implemented"); break; Logger.Warn("This treasure bag - not implemented"); break;
} }
Craft4Data = D3.Items.CurrencyData.CreateBuilder().SetId(6).SetCount(playerAcc.CraftItem4).Build(); Craft4Data = D3.Items.CurrencyData.CreateBuilder().SetId(6).SetCount(playerAcc.CraftItem4).Build();
Moneys.AddCurrency(Horadric1Data);
Moneys.AddCurrency(Horadric2Data); object[] HoradricBoxes = {Horadric1Data, Horadric2Data, Horadric3Data, Horadric4Data, Horadric5Data};
Moneys.AddCurrency(Horadric3Data); foreach (object HoradricBoxe in HoradricBoxes)
Moneys.AddCurrency(Horadric4Data); {
Moneys.AddCurrency(Horadric5Data); Moneys.AddCurrency(HoradricBoxe);
}
player.InGameClient.SendMessage(new MessageSystem.Message.Definitions.Base.GenericBlobMessage(Opcodes.CurrencyDataFull) { Data = Moneys.Build().ToByteArray() }); player.InGameClient.SendMessage(new MessageSystem.Message.Definitions.Base.GenericBlobMessage(Opcodes.CurrencyDataFull) { Data = Moneys.Build().ToByteArray() });
player.Inventory.DestroyInventoryItem(this); player.Inventory.DestroyInventoryItem(this);

View File

@ -2332,24 +2332,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.
Moneys.AddCurrency(GoldData); object[] consumables = {GoldData, BloodShardData, PlatinumData, Craft1Data, Craft2Data, Craft3Data, Craft4Data, Craft5Data, Craft7Data, Horadric1Data, Horadric2Data, Horadric3Data, Horadric4Data, Horadric5Data, Craft8Data, Craft9Data, Craft10Data, Craft11Data};
Moneys.AddCurrency(BloodShardData);
Moneys.AddCurrency(PlatinumData); foreach (object consumable in consumables)
Moneys.AddCurrency(Craft1Data); {
Moneys.AddCurrency(Craft2Data); Moneys.AddCurrency(consumable);
Moneys.AddCurrency(Craft3Data); }
Moneys.AddCurrency(Craft4Data);
Moneys.AddCurrency(Craft5Data);
Moneys.AddCurrency(Craft7Data);
Moneys.AddCurrency(Horadric1Data);
Moneys.AddCurrency(Horadric2Data);
Moneys.AddCurrency(Horadric3Data);
Moneys.AddCurrency(Horadric4Data);
Moneys.AddCurrency(Horadric5Data);
Moneys.AddCurrency(Craft8Data);
Moneys.AddCurrency(Craft9Data);
Moneys.AddCurrency(Craft10Data);
Moneys.AddCurrency(Craft11Data);
_owner.InGameClient.SendMessage(new GenericBlobMessage(Opcodes.CurrencyDataFull) { Data = Moneys.Build().ToByteArray() }); _owner.InGameClient.SendMessage(new GenericBlobMessage(Opcodes.CurrencyDataFull) { Data = Moneys.Build().ToByteArray() });
} }

View File

@ -2487,7 +2487,7 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
Attributes[GameAttribute.Corpse_Resurrection_Charges] = 3; // Reset resurrection charges on zone change (TODO: do not reset charges on reentering the same zone) Attributes[GameAttribute.Corpse_Resurrection_Charges] = 3; // Reset resurrection charges on zone change (TODO: do not reset charges on reentering the same zone)
#if DEBUG #if DEBUG
Logger.Warn("Player Location {0}, Scene: {1} SNO: {2} LevelArea: {3}", this.Toon.Name, this.CurrentScene.SceneSNO.Name, this.CurrentScene.SceneSNO.Id, this.CurrentScene.Specification.SNOLevelAreas[0]); Logger.Warn("Player Location {0}, Scene: {1} SNO: {2} LevelArea: {3}", Toon.Name, CurrentScene.SceneSNO.Name, CurrentScene.SceneSNO.Id, CurrentScene.Specification.SNOLevelAreas[0]);
#else #else
#endif #endif
@ -2964,8 +2964,8 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
// Check the gold // Check the gold
if (InGameClient.Game.TickCounter % 120 == 0 && World != null && GoldCollectedTempCount > 0) if (InGameClient.Game.TickCounter % 120 == 0 && World != null && GoldCollectedTempCount > 0)
{ {
this.Toon.GameAccount.Gold += (ulong)this.GoldCollectedTempCount; Toon.GameAccount.Gold += (ulong)GoldCollectedTempCount;
this.Toon.CollectedGold += (ulong)this.GoldCollectedTempCount; Toon.CollectedGold += (ulong)GoldCollectedTempCount;
if (World.Game.IsHardcore) if (World.Game.IsHardcore)
Toon.CollectedGoldSeasonal += GoldCollectedTempCount; Toon.CollectedGoldSeasonal += GoldCollectedTempCount;
@ -2978,9 +2978,9 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
// Check the blood shards // Check the blood shards
if (InGameClient.Game.TickCounter % 120 == 0 && World != null && BloodShardsCollectedTempCount > 0) if (InGameClient.Game.TickCounter % 120 == 0 && World != null && BloodShardsCollectedTempCount > 0)
{ {
this.Toon.GameAccount.BloodShards += this.BloodShardsCollectedTempCount; Toon.GameAccount.BloodShards += BloodShardsCollectedTempCount;
this.Toon.GameAccount.TotalBloodShards += this.BloodShardsCollectedTempCount; Toon.GameAccount.TotalBloodShards += BloodShardsCollectedTempCount;
this.BloodShardsCollectedTempCount = 0; BloodShardsCollectedTempCount = 0;
} }
if (World != null && SkillSet.HasPassive(298038) && (InGameClient.Game.TickCounter - LastMovementTick) > 90) if (World != null && SkillSet.HasPassive(298038) && (InGameClient.Game.TickCounter - LastMovementTick) > 90)
@ -3098,19 +3098,19 @@ namespace DiIiS_NA.GameServer.GSSystem.PlayerSystem
{ {
if (KilledMonstersTempCount != 0) if (KilledMonstersTempCount != 0)
{ {
this.Toon.TotalKilled += (ulong)this.KilledMonstersTempCount; Toon.TotalKilled += (ulong)KilledMonstersTempCount;
this.KilledMonstersTempCount = 0; KilledMonstersTempCount = 0;
if (KilledElitesTempCount != 0) if (KilledElitesTempCount != 0)
{ {
this.Toon.ElitesKilled += (ulong)this.KilledElitesTempCount; Toon.ElitesKilled += (ulong)KilledElitesTempCount;
this.KilledElitesTempCount = 0; KilledElitesTempCount = 0;
} }
if (KilledSeasonalTempCount != 0) if (KilledSeasonalTempCount != 0)
{ {
this.Toon.SeasonalKills += this.KilledSeasonalTempCount; Toon.SeasonalKills += KilledSeasonalTempCount;
this.KilledSeasonalTempCount = 0; KilledSeasonalTempCount = 0;
} }
} }

View File

@ -805,22 +805,22 @@ namespace DiIiS_NA.GameServer.GSSystem.PowerSystem.Payloads
} }
}); });
//StartConversation(this.Target.World, 340878); //StartConversation(this.Target.World, 340878);
var HubWorld = this.Target.World.Game.GetWorld(WorldSno.x1_tristram_adventure_mode_hub); var hubWorld = this.Target.World.Game.GetWorld(WorldSno.x1_tristram_adventure_mode_hub);
var Orek = (HubWorld.GetActorBySNO(ActorSno._x1_lr_nephalem) as InteractiveNPC); var orek = (hubWorld.GetActorBySNO(ActorSno._x1_lr_nephalem) as InteractiveNPC);
Orek.Conversations.Add(new ActorSystem.Interactions.ConversationInteraction(340878)); orek.Conversations.Add(new ActorSystem.Interactions.ConversationInteraction(340878));
Orek.ForceConversationSNO = 340878; orek.ForceConversationSNO = 340878;
Orek.Attributes[GameAttribute.Conversation_Icon, 0] = 2; orek.Attributes[GameAttribute.Conversation_Icon, 0] = 2;
Orek.Attributes[GameAttribute.Conversation_Icon, 1] = 2; orek.Attributes[GameAttribute.Conversation_Icon, 1] = 2;
Orek.Attributes[GameAttribute.Conversation_Icon, 2] = 2; orek.Attributes[GameAttribute.Conversation_Icon, 2] = 2;
Orek.Attributes[GameAttribute.Conversation_Icon, 3] = 2; orek.Attributes[GameAttribute.Conversation_Icon, 3] = 2;
Orek.Attributes.BroadcastChangedIfRevealed(); orek.Attributes.BroadcastChangedIfRevealed();
//Уникальный спавн // Unique spawn
this.Target.World.SpawnBloodShards(this.Target, plr, RandomHelper.Next(10, 30)); Target.World.SpawnBloodShards(Target, plr, RandomHelper.Next(10, 30));
this.Target.World.SpawnGold(this.Target, plr); Target.World.SpawnGold(Target, plr);
this.Target.World.SpawnGold(this.Target, plr); Target.World.SpawnGold(Target, plr);
this.Target.World.SpawnGold(this.Target, plr); Target.World.SpawnGold(Target, plr);
plr.Toon.GameAccount.BigPortalKey++; plr.Toon.GameAccount.BigPortalKey++;
this.Target.World.Game.ActiveNephalemProgress = 0f; Target.World.Game.ActiveNephalemProgress = 0f;
} }
} }

View File

@ -2,6 +2,7 @@
#pragma warning disable 1591, 0612 #pragma warning disable 1591, 0612
#region Designer generated code #region Designer generated code
using System;
using pb = global::Google.ProtocolBuffers; using pb = global::Google.ProtocolBuffers;
using pbc = global::Google.ProtocolBuffers.Collections; using pbc = global::Google.ProtocolBuffers.Collections;
using pbd = global::Google.ProtocolBuffers.Descriptors; using pbd = global::Google.ProtocolBuffers.Descriptors;
@ -6576,6 +6577,11 @@ namespace D3.Items {
PrepareBuilder(); PrepareBuilder();
result.currency_.Clear(); result.currency_.Clear();
return this; return this;
}
public void AddCurrency(object consumable)
{
throw new NotImplementedException();
} }
} }
static CurrencySavedData() { static CurrencySavedData() {