Break item on floor change whether its equipped or not
This commit is contained in:
@@ -421,25 +421,14 @@ public partial class Game : Node3D, IGame
|
||||
.Handle((in GameState.Output.LoadNextFloor _) =>
|
||||
{
|
||||
EmitSignal(SignalName.OnLoadLevelRequest);
|
||||
var breakableItems = _player.Inventory.Items.Where(x => x.ItemTag == ItemTag.BreaksOnFloorExit).ToList();
|
||||
foreach (IEquipableItem breakableItem in breakableItems)
|
||||
{
|
||||
if (_player.EquipmentComponent.IsItemEquipped(breakableItem))
|
||||
_player.Unequip(breakableItem);
|
||||
_player.Inventory.Remove(breakableItem);
|
||||
}
|
||||
Task.Run(() => Save());
|
||||
if (_player.EquipmentComponent.EquippedWeapon.Value.ItemTag == ItemTag.BreaksOnFloorExit)
|
||||
{
|
||||
var itemToDestroy = _player.EquipmentComponent.EquippedWeapon.Value;
|
||||
_player.Unequip(itemToDestroy);
|
||||
_player.Inventory.Remove(itemToDestroy);
|
||||
}
|
||||
if (_player.EquipmentComponent.EquippedArmor.Value.ItemTag == ItemTag.BreaksOnFloorExit)
|
||||
{
|
||||
var itemToDestroy = _player.EquipmentComponent.EquippedArmor.Value;
|
||||
_player.Unequip(itemToDestroy);
|
||||
_player.Inventory.Remove(itemToDestroy);
|
||||
}
|
||||
if (_player.EquipmentComponent.EquippedAccessory.Value.ItemTag == ItemTag.BreaksOnFloorExit)
|
||||
{
|
||||
var itemToDestroy = _player.EquipmentComponent.EquippedAccessory.Value;
|
||||
_player.Unequip(itemToDestroy);
|
||||
_player.Inventory.Remove(itemToDestroy);
|
||||
}
|
||||
LoadNextLevel.FadeOut();
|
||||
})
|
||||
.Handle((in GameState.Output.ReturnToOverworld _) =>
|
||||
|
||||
Reference in New Issue
Block a user