Switch navigation mesh to be based on collision only, not collision and texture meshes

Will need to finetune enemy navigation agent placement depending on if they're now too high/low to sit in the navigation region
This commit is contained in:
2026-02-25 22:33:38 -08:00
parent 9d18bbb349
commit a686ce2fbc
59 changed files with 442 additions and 457 deletions

View File

@@ -482,9 +482,27 @@ public partial class Game : Node3D, IGame
_effectService.GetBasicItem<IBaseInventoryItem>();
break;
case ItemTag.UnequipAllItems:
_player.EquipmentComponent.Unequip(_player.EquipmentComponent.EquippedWeapon.Value);
_player.EquipmentComponent.Unequip(_player.EquipmentComponent.EquippedArmor.Value);
_player.EquipmentComponent.Unequip(_player.EquipmentComponent.EquippedAccessory.Value);
_player.Unequip(_player.EquipmentComponent.EquippedWeapon.Value);
_player.Unequip(_player.EquipmentComponent.EquippedArmor.Value);
_player.Unequip(_player.EquipmentComponent.EquippedAccessory.Value);
break;
case ItemTag.RestrictUnequip:
_effectService.GlueAllEquipment(_player);
break;
case ItemTag.EjectAllItems:
_player.EquipmentComponent.EquippedWeapon.Value.Glued = false;
_player.EquipmentComponent.EquippedArmor.Value.Glued = false;
_player.EquipmentComponent.EquippedAccessory.Value.Glued = false;
_player.Unequip(_player.EquipmentComponent.EquippedWeapon.Value);
_player.Unequip(_player.EquipmentComponent.EquippedArmor.Value);
_player.Unequip(_player.EquipmentComponent.EquippedAccessory.Value);
_player.Inventory.Items.Remove(boxItem);
foreach (var item in _player.Inventory.Items.ToList())
ThrowItem(item);
_player.Inventory.Items.Clear();
GameRepo.CloseInventory();
break;
}
}
@@ -611,10 +629,18 @@ public partial class Game : Node3D, IGame
_effectService.MeltAllEquipment(_player);
SfxDatabase.Instance.Play(SoundEffect.DecreaseStat);
break;
case UsableItemTag.GlueAllEquipment:
_effectService.GlueAllEquipment(_player);
SfxDatabase.Instance.Play(SoundEffect.DecreaseStat);
break;
case UsableItemTag.RestoreStats:
_effectService.RestoreParameters(_player);
SfxDatabase.Instance.Play(SoundEffect.IncreaseStat);
break;
case UsableItemTag.LowerTargetTo1HP:
_player.HealthComponent.SetCurrentHealth(1);
SfxDatabase.Instance.Play(SoundEffect.DecreaseStat);
break;
}
}
@@ -633,6 +659,7 @@ public partial class Game : Node3D, IGame
GameRepo.AnnounceMessageOnMainScreen("Experience points effect wore off.");
SfxDatabase.Instance.Play(SoundEffect.MoveUI);
_player.ExperiencePointsComponent.ModifyExpGainRate(_player.ExperiencePointsComponent.ExpGainRate.Value / 2);
_doubleExpTimer.Stop();
}
private void GameRepo_EnemyDied(IEnemy obj)