Throwable item rework, increase health on timer timeout, add boss 1 model

This commit is contained in:
2024-09-22 23:05:33 -07:00
parent f490a390aa
commit 59390c04bf
44 changed files with 3373 additions and 101 deletions

View File

@@ -15,6 +15,12 @@ public interface IGame : IProvide<IGameRepo>, IProvide<IGameEventDepot>, IProvid
public void DropItem(IInventoryItem item);
public void ThrowItem(IInventoryItem item);
public void HealHP(int amountToRaise);
public void RaiseHP(int amountToRaise);
public void HealVT(int amountToRaise);
public void RaiseVT(int amountToRaise);
}
[Meta(typeof(IAutoNode))]
@@ -220,22 +226,26 @@ public partial class Game : Node3D, IGame
private void GameEventDepot_RestorativePickedUp(Restorative obj) => GameRepo.PlayerData.SetCurrentVT(GameRepo.PlayerData.CurrentVT.Value + obj.VTRestoreAmount);
private void Inventory_RaiseStatRequest(ConsumableItemStats consumableItemStats)
private void Inventory_RaiseStatRequest(InventoryItemStats itemStats)
{
if (consumableItemStats.RaiseHPAmount > 0 && GameRepo.PlayerData.CurrentHP.Value.Equals(GameRepo.PlayerData.MaximumHP.Value))
RaiseHP(consumableItemStats.RaiseHPAmount);
else if (consumableItemStats.HealHPAmount > 0)
HealHP(consumableItemStats.HealHPAmount);
//if (itemStats.RaiseHPAmount > 0 && GameRepo.PlayerData.CurrentHP.Value.Equals(GameRepo.PlayerData.MaximumHP.Value))
// RaiseHP(itemStats.RaiseHPAmount);
//else if (itemStats.HealHPAmount > 0)
HealHP(itemStats.HealHPAmount);
HealVT(itemStats.HealVTAmount);
if (consumableItemStats.RaiseVTAmount > 0 && GameRepo.PlayerData.CurrentVT.Value.Equals(GameRepo.PlayerData.MaximumVT.Value))
RaiseVT(consumableItemStats.RaiseVTAmount);
else if (consumableItemStats.HealVTAmount > 0)
HealVT(consumableItemStats.HealVTAmount);
GameEventDepot.OnHealingItemConsumed(consumableItemStats);
//if (itemStats.RaiseVTAmount > 0 && GameRepo.PlayerData.CurrentVT.Value.Equals(GameRepo.PlayerData.MaximumVT.Value))
// RaiseVT(itemStats.RaiseVTAmount);
//else if (itemStats.HealVTAmount > 0)
}
private void RaiseHP(int amountToRaise)
private void SetPauseMode(bool isPaused)
{
if (GetTree() != null)
GetTree().Paused = isPaused;
}
public void RaiseHP(int amountToRaise)
{
if (GameRepo.PlayerData.CurrentHP.Value == GameRepo.PlayerData.MaximumHP.Value)
{
@@ -245,20 +255,14 @@ public partial class Game : Node3D, IGame
}
}
private void SetPauseMode(bool isPaused)
{
if (GetTree() != null)
GetTree().Paused = isPaused;
}
private void HealHP(int amountToRaise)
public void HealHP(int amountToRaise)
{
GameRepo.PlayerData.SetCurrentHP(GameRepo.PlayerData.CurrentHP.Value + amountToRaise);
var raiseString = amountToRaise == 1000 ? "MAX" : $"{amountToRaise}";
EmitSignal(SignalName.StatRaisedAlert, $"{raiseString}HP Restored.");
}
private void RaiseVT(int amountToRaise)
public void RaiseVT(int amountToRaise)
{
if (GameRepo.PlayerData.CurrentVT.Value == GameRepo.PlayerData.MaximumVT.Value)
{
@@ -268,7 +272,7 @@ public partial class Game : Node3D, IGame
}
}
private void HealVT(int amountToRaise)
public void HealVT(int amountToRaise)
{
GameRepo.PlayerData.SetCurrentVT(GameRepo.PlayerData.CurrentVT.Value + amountToRaise);
var raiseString = amountToRaise == 1000 ? "MAX" : $"{amountToRaise}";