Add item spawn menu

Fix game over bug
Start adding more implementation for jewels
This commit is contained in:
2026-02-11 15:25:20 -08:00
parent 8ce38c3c13
commit 230b47061d
32 changed files with 1215 additions and 358 deletions

View File

@@ -158,9 +158,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
{
PlayerFXAnimations.Play("RESET");
foreach (var item in Inventory.Items)
Inventory.Remove(item);
Inventory.Items.Clear();
HealthComponent.Reset();
VTComponent.Reset();
AttackComponent.Reset();
@@ -281,6 +279,8 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
HealthComponent.RaiseMaximumHP(equipable.BonusHP, false);
VTComponent.RaiseMaximumVT(equipable.BonusVT, false);
//if (equipable.Augment != null)
// Augment(equipable.Augment, equipable);
EquipmentComponent.Equip(equipable);
SfxDatabase.Instance.Play(SoundEffect.Equip);
@@ -293,6 +293,9 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
HealthComponent.SetMaximumHealth(HealthComponent.MaximumHP.Value - equipable.BonusHP);
VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT);
//if (equipable.Augment != null)
// Deaugment(equipable.Augment);
EquipmentComponent.Unequip(equipable);
SfxDatabase.Instance.Play(SoundEffect.Unequip);
@@ -300,6 +303,39 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
PersuaderCrosshair.Hide();
}
//public void ApplyNewAugment(Jewel jewel, EquipableItem equipableItem)
//{
// _player.Inventory.Remove(jewel);
// jewel.ApplyAugment((dynamic)equipableItem);
// if (!_player.EquipmentComponent.IsItemEquipped(equipableItem))
// return;
// if (jewel.Stats.JewelTag == JewelTags.IncreaseEXPGain)
// _player.ExperiencePointsComponent.ModifyExpGainRate(_player.ExperiencePointsComponent.ExpGainRate.Value + 0.25f);
//}
private void Augment(IAugmentItem augment, EquipableItem equipable)
{
var jewel = augment as Jewel;
switch (augment.Augment)
{
case JewelTags.IncreaseEXPGain:
ExperiencePointsComponent.ModifyExpGainRate(ExperiencePointsComponent.ExpGainRate.Value + 0.25f);
break;
}
}
private void Deaugment(Augment augment)
{
switch (augment.AugmentTag)
{
case JewelTags.IncreaseEXPGain:
ExperiencePointsComponent.ModifyExpGainRate(ExperiencePointsComponent.ExpGainRate.Value - 0.25f);
break;
}
}
private static Vector3 GlobalInputVector
{
get
@@ -440,7 +476,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
PlayerBinding.Dispose();
Hitbox.AreaEntered -= Hitbox_AreaEntered;
CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered;
HealthComponent.HealthReachedZero -= Die;
HealthTimer.Timeout -= OnHealthTimerTimeout;
HealthComponent.CurrentHP.Changed -= InverseHPToAttackPowerSync;
HealthComponent.HealthReachedZero -= Die;