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:
@@ -273,6 +273,24 @@ public class EffectService
|
||||
}
|
||||
}
|
||||
|
||||
public void GlueAllEquipment(IPlayer player)
|
||||
{
|
||||
var weapon = player.EquipmentComponent.EquippedWeapon.Value;
|
||||
var armor = player.EquipmentComponent.EquippedArmor.Value;
|
||||
var accessory = player.EquipmentComponent.EquippedAccessory.Value;
|
||||
|
||||
if (weapon != null && !string.IsNullOrEmpty(weapon.ItemName))
|
||||
weapon.Glued = true;
|
||||
if (armor != null && !string.IsNullOrEmpty(armor.ItemName))
|
||||
armor.Glued = true;
|
||||
if (accessory != null && !string.IsNullOrEmpty(accessory.ItemName))
|
||||
accessory.Glued = true;
|
||||
|
||||
player.EquipmentComponent.UpdateEquipment(weapon);
|
||||
player.EquipmentComponent.UpdateEquipment(armor);
|
||||
player.EquipmentComponent.UpdateEquipment(accessory);
|
||||
}
|
||||
|
||||
public void TeleportToRandomRoom(IPlayer player)
|
||||
{
|
||||
var currentFloor = _game.CurrentFloor;
|
||||
|
||||
@@ -11,7 +11,7 @@ PermanentRaiseHPAmount = 0
|
||||
PermanentRaiseVTAmount = 8
|
||||
Name = "Stelo Fragment"
|
||||
StatDescription = "Restores 30 VT.
|
||||
If HP is currently full, raises Maximum VT by 8."
|
||||
If VT is currently full, raises Maximum VT by 8."
|
||||
FlavorText = ""
|
||||
SpawnRate = 0.5
|
||||
BonusAttack = 0
|
||||
|
||||
@@ -26,7 +26,7 @@ mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
|
||||
@@ -26,7 +26,7 @@ mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
|
||||
@@ -26,7 +26,7 @@ mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
|
||||
@@ -26,7 +26,7 @@ mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
|
||||
@@ -26,7 +26,7 @@ mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
|
||||
@@ -114,9 +114,32 @@ public partial class ThrownItem : RigidBody3D, IThrownItem
|
||||
{
|
||||
case UsableItemTag.LowerTargetTo1HP:
|
||||
enemy.HealthComponent.SetCurrentHealth(1);
|
||||
SfxDatabase.Instance.Play(SoundEffect.DecreaseStat);
|
||||
break;
|
||||
case UsableItemTag.DecreaseAllStats:
|
||||
enemy.AttackComponent.Reduce(usableItem.Stats.BonusAttack);
|
||||
enemy.DefenseComponent.Reduce(usableItem.Stats.BonusDefense);
|
||||
SfxDatabase.Instance.Play(SoundEffect.DecreaseStat);
|
||||
break;
|
||||
case UsableItemTag.DecreaseAttack:
|
||||
enemy.AttackComponent.LowerMaximumAttack(usableItem.Stats.BonusAttack);
|
||||
SfxDatabase.Instance.Play(SoundEffect.DecreaseStat);
|
||||
break;
|
||||
case UsableItemTag.DecreaseDefense:
|
||||
enemy.DefenseComponent.LowerMaximumDefense(usableItem.Stats.BonusDefense);
|
||||
SfxDatabase.Instance.Play(SoundEffect.DecreaseStat);
|
||||
break;
|
||||
case UsableItemTag.IncreaseAttack:
|
||||
enemy.AttackComponent.RaiseMaximumAttack(usableItem.Stats.BonusAttack);
|
||||
SfxDatabase.Instance.Play(SoundEffect.IncreaseStat);
|
||||
break;
|
||||
case UsableItemTag.IncreaseDefense:
|
||||
enemy.DefenseComponent.RaiseMaximumDefense(usableItem.Stats.BonusDefense);
|
||||
SfxDatabase.Instance.Play(SoundEffect.IncreaseStat);
|
||||
break;
|
||||
case UsableItemTag.TeleportToRandomLocation:
|
||||
_effectService.TeleportToRandomRoom(enemy);
|
||||
SfxDatabase.Instance.Play(SoundEffect.TeleportToRandomRoom);
|
||||
break;
|
||||
case UsableItemTag.Clone:
|
||||
_effectService.CloneEnemy(enemy);
|
||||
|
||||
@@ -13,7 +13,7 @@ viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport")
|
||||
|
||||
[node name="Hitbox" type="RigidBody3D"]
|
||||
process_mode = 1
|
||||
collision_layer = 3072
|
||||
collision_layer = 1024
|
||||
collision_mask = 2049
|
||||
gravity_scale = 0.2
|
||||
contact_monitor = true
|
||||
|
||||
Reference in New Issue
Block a user