diff --git a/Zennysoft.Game.Abstractions/Audio/SoundEffect.cs b/Zennysoft.Game.Abstractions/Audio/SoundEffect.cs new file mode 100644 index 00000000..ef7438be --- /dev/null +++ b/Zennysoft.Game.Abstractions/Audio/SoundEffect.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Zennysoft.Game.Abstractions.Audio +{ + public enum SoundEffect + { + HealHP, + TakeDamage, + HealVT, + IncreaseStat, + DecreaseStat, + Crit, + PickupItem, + PickupFailure, + OpenInventory, + MoveUI, + Equip, + Unequip, + SortInventory, + SelectUI, + CancelUI, + LevelUp, + Transfer, + RecallEnemies, + KillHalfEnemies, + TeleportToRandomRoom, + TeleportToExit, + AbsorbHPFromAllEnemies, + SwapHPAndVT, + TurnAllEnemiesIntoHealingItems, + WeaponQuickSlash, + WeaponSlowSlash, + WeaponPlasmaSword, + Eucharistia, + Buff, + Debuff, + Death, + Glue, + Identify, + IdentifyAll, + Rust, + FireDamage, + WaterDamage, + AirDamage, + EarthDamage, + HolyDamage, + CurseDamage, + AbsorbHP, + } +} diff --git a/Zennysoft.Game.Ma.Implementation/Player/GroundType.cs b/Zennysoft.Game.Ma.Implementation/Player/GroundType.cs new file mode 100644 index 00000000..dc9d37fc --- /dev/null +++ b/Zennysoft.Game.Ma.Implementation/Player/GroundType.cs @@ -0,0 +1,9 @@ +namespace Zennysoft.Ma.Adapter; + +public enum GroundType +{ + Dirt, + Concrete, + Metal, + Marble +} diff --git a/Zennysoft.Game.Ma.Implementation/Player/IPlayer.cs b/Zennysoft.Game.Ma.Implementation/Player/IPlayer.cs index 0894b04e..6c55e3dd 100644 --- a/Zennysoft.Game.Ma.Implementation/Player/IPlayer.cs +++ b/Zennysoft.Game.Ma.Implementation/Player/IPlayer.cs @@ -1,6 +1,7 @@ using Chickensoft.GodotNodeInterfaces; using Godot; using Zennysoft.Game.Abstractions; +using Zennysoft.Game.Abstractions.Audio; namespace Zennysoft.Ma.Adapter; @@ -64,6 +65,9 @@ public interface IPlayer : IKillable, ICharacterBody3D public void PlaySpellFX(SpellFXEnum spellEnum); + + public void SetPlayerWalkSFX(GroundType groundType); + public bool AutoRevive { get; set; } public int TotalAttack { get; } @@ -82,4 +86,4 @@ public interface IPlayer : IKillable, ICharacterBody3D public event Action PlayerDied; public delegate IBaseInventoryItem RerollItem(IBaseInventoryItem item); -} +} \ No newline at end of file diff --git a/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs b/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs index e972e321..60bbeacf 100644 --- a/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs +++ b/Zennysoft.Game.Ma/src/Components/ExperiencePointsComponent.cs @@ -1,6 +1,7 @@ using Chickensoft.Collections; using Godot; using System; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; diff --git a/Zennysoft.Game.Ma/src/audio/SfxDatabase.cs b/Zennysoft.Game.Ma/src/audio/SfxDatabase.cs index d35637ce..34add189 100644 --- a/Zennysoft.Game.Ma/src/audio/SfxDatabase.cs +++ b/Zennysoft.Game.Ma/src/audio/SfxDatabase.cs @@ -2,6 +2,7 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; using Godot; using System.Collections.Generic; +using Zennysoft.Game.Abstractions.Audio; [Meta(typeof(IAutoNode)), Id("sfx_database")] public partial class SfxDatabase : Node @@ -111,49 +112,3 @@ public partial class SfxDatabase : Node } } -public enum SoundEffect -{ - HealHP, - TakeDamage, - HealVT, - IncreaseStat, - DecreaseStat, - Crit, - PickupItem, - PickupFailure, - OpenInventory, - MoveUI, - Equip, - Unequip, - SortInventory, - SelectUI, - CancelUI, - LevelUp, - Transfer, - RecallEnemies, - KillHalfEnemies, - TeleportToRandomRoom, - TeleportToExit, - AbsorbHPFromAllEnemies, - SwapHPAndVT, - TurnAllEnemiesIntoHealingItems, - WeaponQuickSlash, - WeaponSlowSlash, - WeaponPlasmaSword, - Eucharistia, - Buff, - Debuff, - Death, - Glue, - Identify, - IdentifyAll, - Rust, - FireDamage, - WaterDamage, - AirDamage, - EarthDamage, - HolyDamage, - CurseDamage, - AbsorbHP, -} - diff --git a/Zennysoft.Game.Ma/src/enemy/Enemy.cs b/Zennysoft.Game.Ma/src/enemy/Enemy.cs index 332c5c1b..6ce4f2ac 100644 --- a/Zennysoft.Game.Ma/src/enemy/Enemy.cs +++ b/Zennysoft.Game.Ma/src/enemy/Enemy.cs @@ -4,6 +4,7 @@ using Godot; using System; using System.Collections.Immutable; using System.Linq; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Ma.Adapter; using Zennysoft.Ma.Adapter.Entity; diff --git a/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs b/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs index 6dd5b617..ff470215 100644 --- a/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs +++ b/Zennysoft.Game.Ma/src/enemy/EnemyModelView2D.cs @@ -2,6 +2,7 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; using Godot; using System.Linq; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; diff --git a/Zennysoft.Game.Ma/src/game/Game.cs b/Zennysoft.Game.Ma/src/game/Game.cs index d23641b5..346ba5c2 100644 --- a/Zennysoft.Game.Ma/src/game/Game.cs +++ b/Zennysoft.Game.Ma/src/game/Game.cs @@ -13,6 +13,7 @@ using System.Threading.Tasks; using Zennysoft.Game.Implementation; using Zennysoft.Ma.Adapter.Entity; using System.Linq; +using Zennysoft.Game.Abstractions.Audio; [Meta(typeof(IAutoNode))] public partial class Game : Node3D, IGame diff --git a/Zennysoft.Game.Ma/src/items/EffectService.cs b/Zennysoft.Game.Ma/src/items/EffectService.cs index a4c1bc2a..dbca452d 100644 --- a/Zennysoft.Game.Ma/src/items/EffectService.cs +++ b/Zennysoft.Game.Ma/src/items/EffectService.cs @@ -4,6 +4,7 @@ using System; using Zennysoft.Ma.Adapter; using Zennysoft.Ma.Adapter.Entity; using System.Collections.Generic; +using Zennysoft.Game.Abstractions.Audio; namespace Zennysoft.Game.Ma; diff --git a/Zennysoft.Game.Ma/src/items/Inventory.cs b/Zennysoft.Game.Ma/src/items/Inventory.cs index a5307ec2..071b4dce 100644 --- a/Zennysoft.Game.Ma/src/items/Inventory.cs +++ b/Zennysoft.Game.Ma/src/items/Inventory.cs @@ -5,6 +5,7 @@ using Godot; using System; using System.Collections.Generic; using System.Linq; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Game.Implementation; using Zennysoft.Ma.Adapter; diff --git a/Zennysoft.Game.Ma/src/items/dropped/DroppedItem.cs b/Zennysoft.Game.Ma/src/items/dropped/DroppedItem.cs index 86ddfdda..c98b072f 100644 --- a/Zennysoft.Game.Ma/src/items/dropped/DroppedItem.cs +++ b/Zennysoft.Game.Ma/src/items/dropped/DroppedItem.cs @@ -1,6 +1,7 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; using Godot; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; diff --git a/Zennysoft.Game.Ma/src/items/thrown/ThrownItem.cs b/Zennysoft.Game.Ma/src/items/thrown/ThrownItem.cs index 6be28cfb..4976221d 100644 --- a/Zennysoft.Game.Ma/src/items/thrown/ThrownItem.cs +++ b/Zennysoft.Game.Ma/src/items/thrown/ThrownItem.cs @@ -1,6 +1,7 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; using Godot; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Ma.Adapter; using Zennysoft.Ma.Adapter.Entity; diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/DungeonFloor.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/DungeonFloor.cs index 5dece833..5e33c7f6 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/DungeonFloor.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/DungeonFloor.cs @@ -4,6 +4,7 @@ using Godot; using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; +using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; @@ -12,10 +13,16 @@ public partial class DungeonFloor : Node3D, IDungeonFloor { public override void _Notification(int what) => this.Notify(what); + [Dependency] private IPlayer _player => this.DependOn(); + private Marker3D _playerSpawnPoint; public ImmutableList Rooms { get; private set; } + [Node] public Area3D DirtWalkZone { get; set; } = default!; + [Node] public Area3D MarbleWalkZone { get; set; } = default!; + [Node] public Area3D MetalWalkZone { get; set; } = default!; + public bool FloorIsLoaded { get; set; } public void InitializeDungeon() @@ -23,8 +30,19 @@ public partial class DungeonFloor : Node3D, IDungeonFloor Rooms = []; Rooms = FindAllDungeonRooms([.. GetChildren()], Rooms); _playerSpawnPoint = RandomizePlayerSpawnPoint(); + DirtWalkZone.AreaEntered += DirtWalkZone_AreaEntered; + MarbleWalkZone.AreaEntered += MarbleWalkZone_AreaEntered; + MetalWalkZone.AreaEntered += MetalWalkZone_AreaEntered; + DirtWalkZone.AreaExited += WalkZone_AreaExited; + MarbleWalkZone.AreaExited += WalkZone_AreaExited; + MetalWalkZone.AreaExited += WalkZone_AreaExited; } + private void MetalWalkZone_AreaEntered(Area3D area) => _player.SetPlayerWalkSFX(GroundType.Metal); + private void MarbleWalkZone_AreaEntered(Area3D area) => _player.SetPlayerWalkSFX(GroundType.Marble); + private void DirtWalkZone_AreaEntered(Area3D area) => _player.SetPlayerWalkSFX(GroundType.Dirt); + private void WalkZone_AreaExited(Area3D area) => _player.SetPlayerWalkSFX(GroundType.Concrete); + public void FadeOutAudio() { diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs index cdf3f8bb..e9e54c55 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs @@ -13,8 +13,6 @@ public partial class Overworld : SpecialFloor, IDungeonFloor [Dependency] protected IGame Game => this.DependOn(); - [Dependency] protected IPlayer Player => this.DependOn(); - [Dependency] protected IGameRepo GameRepo => this.DependOn(); [Node] public Marker3D PlayerSpawnPoint { get; set; } = default!; @@ -56,6 +54,7 @@ public partial class Overworld : SpecialFloor, IDungeonFloor var dimmableAudio = DimmableAudio.GetChildren().OfType(); foreach (var dimmable in dimmableAudio) dimmable.FadeIn(); + base.InitializeDungeon(); } public override void _Input(InputEvent @event) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialFloor.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialFloor.cs index f5e52176..0cbc9d12 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialFloor.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialFloor.cs @@ -2,6 +2,7 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; using Godot; using System.Collections.Immutable; +using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; @@ -10,14 +11,32 @@ public partial class SpecialFloor : Node3D, IDungeonFloor { public override void _Notification(int what) => this.Notify(what); + [Dependency] protected IPlayer Player => this.DependOn(); + [Node] private Marker3D PlayerSpawnPoint { get; set; } = default!; public ImmutableList Rooms => []; + [Node] public Area3D DirtWalkZone { get; set; } = default!; + [Node] public Area3D MarbleWalkZone { get; set; } = default!; + [Node] public Area3D MetalWalkZone { get; set; } = default!; + public virtual void InitializeDungeon() { + DirtWalkZone.AreaEntered += DirtWalkZone_AreaEntered; + MarbleWalkZone.AreaEntered += MarbleWalkZone_AreaEntered; + MetalWalkZone.AreaEntered += MetalWalkZone_AreaEntered; + DirtWalkZone.AreaExited += WalkZone_AreaExited; + MarbleWalkZone.AreaExited += WalkZone_AreaExited; + MetalWalkZone.AreaExited += WalkZone_AreaExited; FloorIsLoaded = true; } + + private void MetalWalkZone_AreaEntered(Area3D area) => Player.SetPlayerWalkSFX(GroundType.Metal); + private void MarbleWalkZone_AreaEntered(Area3D area) => Player.SetPlayerWalkSFX(GroundType.Marble); + private void DirtWalkZone_AreaEntered(Area3D area) => Player.SetPlayerWalkSFX(GroundType.Dirt); + private void WalkZone_AreaExited(Area3D area) => Player.SetPlayerWalkSFX(GroundType.Concrete); + public bool FloorIsLoaded { get; set; } public virtual (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() => (PlayerSpawnPoint.Rotation, new Vector3(PlayerSpawnPoint.Position.X, 0, PlayerSpawnPoint.Position.Z)); diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1A.tscn index aae4f3f2..29b9f649 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1A.tscn @@ -240,3 +240,20 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25.1542, -0.230058, 47.087) [node name="PlanterFlowerBed" parent="." instance=ExtResource("17_xrwy3")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25.1787, -0.028303, 47.36) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1B.tscn index 81609089..526dcb7b 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1B.tscn @@ -176,3 +176,20 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -2.027 transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00890732, 0.209896, 3.96271) mesh = SubResource("BoxMesh_m8d7w") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1C.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1C.tscn index 3fb2930c..4cafa1d4 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1C.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1C.tscn @@ -144,3 +144,20 @@ transform = Transform3D(0.652575, 0, 0.757724, 0, 1, 0, -0.757724, 0, 0.652575, [node name="SteleA2" parent="." instance=ExtResource("13_a5tiv")] transform = Transform3D(0.0236121, 0, 0.999721, 0, 1, 0, -0.999721, 0, 0.0236121, -33.9417, 0.00592422, 38.1059) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2A.tscn index 445530b3..1f39569a 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2A.tscn @@ -227,3 +227,20 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 34.966 transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00890732, 0.259439, 3.96271) mesh = SubResource("BoxMesh_q8r1b") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2B.tscn index 6107ea49..fcdcce15 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2B.tscn @@ -171,3 +171,20 @@ transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, 99.9669, transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00890732, 0.259439, 3.96271) mesh = SubResource("BoxMesh_krnnn") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2C.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2C.tscn index efb456cf..3016f46f 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2C.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor02/Floor 2C.tscn @@ -180,3 +180,20 @@ libraries = { &"": SubResource("AnimationLibrary_gya62") } autoplay = "Pulse" + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3A.tscn index 667f0f40..51680a69 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3A.tscn @@ -225,3 +225,20 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 16.71, transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00890732, 0.303155, 3.96271) mesh = SubResource("BoxMesh_6eais") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3B.tscn index 4eec0e47..ad2aef29 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3B.tscn @@ -201,3 +201,20 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 28.945 transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00890732, 0.303155, 3.96271) mesh = SubResource("BoxMesh_vi3ch") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3C.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3C.tscn index a9e53754..3b3868b0 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3C.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor03/Floor 3C.tscn @@ -216,3 +216,20 @@ transform = Transform3D(8.9407e-08, 0, -1, 0, 1, 0, 1, 0, 8.9407e-08, -40.8515, transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00890732, 0.303155, 3.96271) mesh = SubResource("BoxMesh_3jr52") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4A.tscn index 553c9743..b7627354 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4A.tscn @@ -200,3 +200,20 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 43.312 transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00890732, 0.361176, 3.96271) mesh = SubResource("BoxMesh_wgfie") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4B.tscn index 1ca9b182..fd7827ba 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4B.tscn @@ -187,3 +187,20 @@ skeleton = NodePath("../../FLOORMAP1") [node name="LittleBasin" parent="." instance=ExtResource("19_hvujx")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40.8858, -0.0186471, 25.8357) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4C.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4C.tscn index 855a1b73..dc77d9ae 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4C.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor04/Floor 4C.tscn @@ -207,3 +207,20 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -28.68 [node name="SteleC" parent="." instance=ExtResource("18_laphl")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31.3792, 0, 15) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5B.tscn index b66a489f..2c43ab3a 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5B.tscn @@ -206,3 +206,20 @@ transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, -19.8245 transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00891113, 0.399256, 3.96271) mesh = SubResource("BoxMesh_w4a21") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5Z.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5Z.tscn index 4bbac92b..912c6189 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5Z.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5Z.tscn @@ -231,3 +231,20 @@ skeleton = NodePath("../../FLOORMAP1") [node name="LittleBasin" parent="." instance=ExtResource("22_k4e6c")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -95.7369, -0.00278181, -29.079) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6A.tscn index 3d033cc9..cb163c5a 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6A.tscn @@ -260,3 +260,20 @@ transform = Transform3D(-0.619861, 0, -0.784711, 0, 1, 0, 0.784711, 0, -0.619861 [node name="Planter23" parent="." instance=ExtResource("23_3bnrp")] transform = Transform3D(-0.619861, 0, -0.784711, 0, 1, 0, 0.784711, 0, -0.619861, 86.3218, -0.230058, -12.291) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6B.tscn index f3fbff30..8261d414 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6B.tscn @@ -248,3 +248,20 @@ transform = Transform3D(0.922133, 0, -0.386872, 0, 1, 0, 0.386872, 0, 0.922133, [node name="Planter23" parent="." instance=ExtResource("26_lkd11")] transform = Transform3D(0.922134, 0, -0.386872, 0, 1, 0, 0.386872, 0, 0.922134, 40.9517, -0.230058, 35.2016) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6C.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6C.tscn index 487f99f4..237831f6 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6C.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6C.tscn @@ -243,3 +243,20 @@ transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, 40.8887, transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00891113, 0.442583, 3.96271) mesh = SubResource("BoxMesh_irxvk") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6Z - Maze.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6Z - Maze.tscn index 41b84ca9..abe1cb54 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6Z - Maze.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor06/Floor 6Z - Maze.tscn @@ -1776,3 +1776,20 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 32, 0, [node name="SteleB" parent="NPC" instance=ExtResource("8_vj1d1")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 36, 0, 46.3844) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7A.tscn index 61e61532..cef86718 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7A.tscn @@ -296,3 +296,20 @@ transform = Transform3D(-0.999861, 0, -0.0166671, 0, 1, 0, 0.0166671, 0, -0.9998 [node name="Planter18" parent="." instance=ExtResource("23_sh2y0")] transform = Transform3D(-0.999861, 0, -0.0166673, 0, 1, 0, 0.0166673, 0, -0.999861, 10.9845, -0.230058, 46.6229) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7B.tscn index ebf43bc4..05bc5e4d 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7B.tscn @@ -269,3 +269,20 @@ transform = Transform3D(-0.0110825, 0, 0.999939, 0, 1, 0, -0.999939, 0, -0.01108 [node name="PlanterFlowerBed" parent="." instance=ExtResource("24_c8hkm")] transform = Transform3D(0.954978, 0, -0.296675, 0, 1, 0, 0.296675, 0, 0.954978, -15.1308, -0.00475079, -64.09) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7C.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7C.tscn index 47a73a5f..089b1457 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7C.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor07/Floor 7C.tscn @@ -222,3 +222,20 @@ libraries = { &"": SubResource("AnimationLibrary_gya62") } autoplay = "Pulse" + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor09/Floor 9A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor09/Floor 9A.tscn index 15e5598a..4c1c5143 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor09/Floor 9A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor09/Floor 9A.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=30 format=3 uid="uid://cm31ttcvs26pi"] +[gd_scene load_steps=31 format=3 uid="uid://cm31ttcvs26pi"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_rk8c7"] [ext_resource type="PackedScene" uid="uid://dadl2rua1ovhq" path="res://src/map/dungeon/rooms/Set B/20. Antechamber 3.tscn" id="2_xq7ii"] @@ -85,6 +85,9 @@ albedo_texture = ExtResource("18_rnk4p") [sub_resource type="BoxMesh" id="BoxMesh_rbemv"] material = SubResource("StandardMaterial3D_6h7gn") +[sub_resource type="BoxShape3D" id="BoxShape3D_6h7gn"] +size = Vector3(300, 20, 300) + [node name="Floor11a" type="Node3D"] script = ExtResource("1_rk8c7") @@ -215,3 +218,23 @@ transform = Transform3D(-0.773564, 0, -0.633718, 0, 1, 0, 0.633718, 0, -0.773564 [node name="Planter20" parent="." instance=ExtResource("20_rbemv")] transform = Transform3D(-0.773564, 0, -0.633719, 0, 1, 0, 0.633719, 0, -0.773564, -7.29034, -0.230058, 5.62704) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +shape = SubResource("BoxShape3D_6h7gn") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor09/Floor 9B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor09/Floor 9B.tscn index 0eac010f..f1089040 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor09/Floor 9B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor09/Floor 9B.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=32 format=3 uid="uid://do1g02ntendw2"] +[gd_scene load_steps=33 format=3 uid="uid://do1g02ntendw2"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_pkey0"] [ext_resource type="PackedScene" uid="uid://dadl2rua1ovhq" path="res://src/map/dungeon/rooms/Set B/20. Antechamber 3.tscn" id="2_gh218"] @@ -87,6 +87,9 @@ albedo_texture = ExtResource("20_o30ug") [sub_resource type="BoxMesh" id="BoxMesh_2c4ye"] material = SubResource("StandardMaterial3D_6h7gn") +[sub_resource type="BoxShape3D" id="BoxShape3D_2c4ye"] +size = Vector3(200, 20, 150) + [node name="Floor11a" type="Node3D"] script = ExtResource("1_pkey0") @@ -214,3 +217,24 @@ transform = Transform3D(-0.805628, 0, -0.592421, 0, 1, 0, 0.592421, 0, -0.805628 [node name="Planter21" parent="." instance=ExtResource("22_xfjxy")] transform = Transform3D(-0.805628, 0, -0.592421, 0, 1, 0, 0.592421, 0, -0.805628, 3.44001, -0.230058, 25.4219) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 15.794) +shape = SubResource("BoxShape3D_2c4ye") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor10/Floor 10A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor10/Floor 10A.tscn index 863e34c0..80e22175 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor10/Floor 10A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor10/Floor 10A.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=23 format=3 uid="uid://byto3yc8agaa8"] +[gd_scene load_steps=24 format=3 uid="uid://byto3yc8agaa8"] [ext_resource type="PackedScene" uid="uid://cuau7xgx3rkxu" path="res://src/map/dungeon/rooms/Set B/32. Proscenium's Room.tscn" id="1_4gn32"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_n2a4w"] @@ -34,6 +34,9 @@ albedo_texture = ExtResource("18_sg8ew") [sub_resource type="BoxMesh" id="BoxMesh_wq654"] material = SubResource("StandardMaterial3D_gbtw7") +[sub_resource type="BoxShape3D" id="BoxShape3D_r3bqw"] +size = Vector3(186.832, 20, 189.699) + [node name="Floor13a" type="Node3D"] script = ExtResource("1_n2a4w") @@ -135,3 +138,24 @@ transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, -77.0279 transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00891113, 0.654839, 3.96271) mesh = SubResource("BoxMesh_wq654") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -56.5842, 0, -10.2499) +shape = SubResource("BoxShape3D_r3bqw") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor10/Floor 10B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor10/Floor 10B.tscn index 157ad468..d7efcaad 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor10/Floor 10B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor10/Floor 10B.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=28 format=3 uid="uid://dbxx1crrfekkq"] +[gd_scene load_steps=29 format=3 uid="uid://dbxx1crrfekkq"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_7cums"] [ext_resource type="PackedScene" uid="uid://boonyo0b1q1ad" path="res://src/map/dungeon/rooms/Set B/40. Donut Gallery.tscn" id="1_wwgdf"] @@ -47,6 +47,9 @@ albedo_texture = ExtResource("21_lsscn") [sub_resource type="BoxMesh" id="BoxMesh_ptghi"] material = SubResource("StandardMaterial3D_gbtw7") +[sub_resource type="BoxShape3D" id="BoxShape3D_yq6g7"] +size = Vector3(174.791, 20, 208.077) + [node name="10b" type="Node3D"] script = ExtResource("1_7cums") @@ -188,3 +191,24 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -4.806 transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00891113, 0.654839, 3.96271) mesh = SubResource("BoxMesh_ptghi") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.858, 0, -12.5438) +shape = SubResource("BoxShape3D_yq6g7") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor11/Floor 11A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor11/Floor 11A.tscn index 50667bb1..189092ca 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor11/Floor 11A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor11/Floor 11A.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=3 uid="uid://cny46rgfqjg8v"] +[gd_scene load_steps=30 format=3 uid="uid://cny46rgfqjg8v"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_6h8wr"] [ext_resource type="PackedScene" uid="uid://b8tiuu3l181ke" path="res://src/map/dungeon/rooms/Set B/28. Long Room B.tscn" id="1_33c2s"] @@ -83,6 +83,9 @@ albedo_texture = ExtResource("20_5gtpp") [sub_resource type="BoxMesh" id="BoxMesh_uwa0p"] material = SubResource("StandardMaterial3D_gbtw7") +[sub_resource type="BoxShape3D" id="BoxShape3D_es3ou"] +size = Vector3(300, 20, 300) + [node name="Floor11a" type="Node3D"] script = ExtResource("1_6h8wr") @@ -228,3 +231,23 @@ transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, 8.96932, transform = Transform3D(0.055, 0, 0, 0, -0.01, 0, 0, 0, -0.035, -0.00890827, 0.701972, 3.96271) mesh = SubResource("BoxMesh_uwa0p") skeleton = NodePath("../../FLOORMAP1") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +shape = SubResource("BoxShape3D_es3ou") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor11/Floor 11B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor11/Floor 11B.tscn index d2f3277c..c749a0b6 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor11/Floor 11B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor11/Floor 11B.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=28 format=3 uid="uid://dcysod8qsq045"] +[gd_scene load_steps=29 format=3 uid="uid://dcysod8qsq045"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_o812o"] [ext_resource type="PackedScene" uid="uid://cypdcaqeylnwl" path="res://src/map/dungeon/rooms/Set B/27. Water Room B.tscn" id="1_rf24f"] @@ -83,6 +83,9 @@ albedo_texture = ExtResource("18_25p72") [sub_resource type="BoxMesh" id="BoxMesh_1pfg1"] material = SubResource("StandardMaterial3D_gbtw7") +[sub_resource type="BoxShape3D" id="BoxShape3D_i2itk"] +size = Vector3(300, 20, 300) + [node name="Floor11b" type="Node3D"] script = ExtResource("1_o812o") @@ -216,3 +219,23 @@ skeleton = NodePath("../../FLOORMAP1") [node name="SteleA" parent="." instance=ExtResource("15_qvftd")] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 78.7399, 0.0231242, 89.8244) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +shape = SubResource("BoxShape3D_i2itk") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor12/Floor 12A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor12/Floor 12A.tscn index 82147036..2e93af4e 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor12/Floor 12A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor12/Floor 12A.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=37 format=4 uid="uid://5esput2b876e"] +[gd_scene load_steps=38 format=4 uid="uid://5esput2b876e"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_x14ew"] [ext_resource type="PackedScene" uid="uid://d1uldtsv8u8vw" path="res://src/map/dungeon/rooms/Set B/23. Fountain Antechamber.tscn" id="2_lnhtf"] @@ -124,6 +124,9 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_awdgx") +[sub_resource type="BoxShape3D" id="BoxShape3D_egh6m"] +size = Vector3(300, 20, 300) + [node name="Floor12a" type="Node3D"] script = ExtResource("1_x14ew") @@ -316,3 +319,23 @@ transform = Transform3D(0.365, 0, 0, 0, 0.365, 0, 0, 0, 0.365, -22.272, -0.48682 [node name="Cylinder_001" type="MeshInstance3D" parent="Eden Pillar Rest4"] mesh = SubResource("ArrayMesh_nuaag") skeleton = NodePath("") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +shape = SubResource("BoxShape3D_egh6m") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor12/Floor 12B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor12/Floor 12B.tscn index eca79eea..e607103b 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor12/Floor 12B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor12/Floor 12B.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=39 format=4 uid="uid://bgtrwrpmlnlc3"] +[gd_scene load_steps=40 format=4 uid="uid://bgtrwrpmlnlc3"] [ext_resource type="PackedScene" uid="uid://02v033xrh6xi" path="res://src/map/dungeon/rooms/Set B/38. Floor Exit B.tscn" id="1_ac666"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_ifhq2"] @@ -126,6 +126,9 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_awdgx") +[sub_resource type="BoxShape3D" id="BoxShape3D_g8jo1"] +size = Vector3(300, 20, 300) + [node name="Floor12B" type="Node3D"] script = ExtResource("1_ifhq2") @@ -321,3 +324,23 @@ transform = Transform3D(0.365, 0, 0, 0, 0.365, 0, 0, 0, 0.365, 20.6757, -0.35790 [node name="Cylinder_001" type="MeshInstance3D" parent="Eden Pillar Rest8"] mesh = SubResource("ArrayMesh_x7t15") skeleton = NodePath("") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +shape = SubResource("BoxShape3D_g8jo1") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor13/Floor 13A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor13/Floor 13A.tscn index 0e7a69f3..fb2498e6 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor13/Floor 13A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor13/Floor 13A.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=34 format=4 uid="uid://bvo7yqej1g7sx"] +[gd_scene load_steps=35 format=4 uid="uid://bvo7yqej1g7sx"] [ext_resource type="PackedScene" uid="uid://cq82tqhlshn1k" path="res://src/map/dungeon/rooms/Set B/22. Pit Room B.tscn" id="1_s11q7"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_wklws"] @@ -121,6 +121,9 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_i8ph0") +[sub_resource type="BoxShape3D" id="BoxShape3D_8ow5j"] +size = Vector3(300, 20, 300) + [node name="Floor13" type="Node3D"] script = ExtResource("1_wklws") @@ -275,3 +278,23 @@ transform = Transform3D(0.365, 0, 0, 0, 0.365, 0, 0, 0, 0.365, 1.47315, -0.08536 [node name="Cylinder_001" type="MeshInstance3D" parent="Eden Pillar Rest5"] mesh = SubResource("ArrayMesh_cru4u") skeleton = NodePath("") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +shape = SubResource("BoxShape3D_8ow5j") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor13/Floor 13B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor13/Floor 13B.tscn index e33f633a..5e0f37fc 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor13/Floor 13B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor13/Floor 13B.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=27 format=4 uid="uid://by7jjot3awbxl"] +[gd_scene load_steps=28 format=4 uid="uid://by7jjot3awbxl"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_hwbpr"] [ext_resource type="PackedScene" uid="uid://bbyjnuf1p6w3r" path="res://src/map/dungeon/rooms/Set B/43. Large Block Room A2.tscn" id="1_q2en1"] @@ -110,6 +110,9 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_vfpes") +[sub_resource type="BoxShape3D" id="BoxShape3D_vk64w"] +size = Vector3(300, 20, 300) + [node name="Floor13b" type="Node3D"] script = ExtResource("1_hwbpr") @@ -365,3 +368,23 @@ skeleton = NodePath("") transform = Transform3D(-1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 0, 0, 1, 0, 40.405, 0) mesh = SubResource("ArrayMesh_8t8c7") skeleton = NodePath("") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +shape = SubResource("BoxShape3D_vk64w") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor14/Floor 14A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor14/Floor 14A.tscn index e066f890..d2c265f1 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor14/Floor 14A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor14/Floor 14A.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=38 format=4 uid="uid://cb4oxe2luyn64"] +[gd_scene load_steps=39 format=4 uid="uid://cb4oxe2luyn64"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_2tuyg"] [ext_resource type="PackedScene" uid="uid://b6akxaacr8jd2" path="res://src/map/dungeon/rooms/Set B/33. Puer's Room.tscn" id="2_abunl"] @@ -125,6 +125,9 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_vfpes") +[sub_resource type="BoxShape3D" id="BoxShape3D_f3bpy"] +size = Vector3(300, 20, 300) + [node name="Floor17a" type="Node3D"] script = ExtResource("1_2tuyg") @@ -326,3 +329,23 @@ skeleton = NodePath("") [node name="Node3D" parent="." instance=ExtResource("18_r0keh")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 12.385, 0, 2) + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +shape = SubResource("BoxShape3D_f3bpy") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor14/Floor 14B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor14/Floor 14B.tscn index 3314d4c0..63045d56 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor14/Floor 14B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor14/Floor 14B.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=39 format=4 uid="uid://djqrniwn44lgj"] +[gd_scene load_steps=40 format=4 uid="uid://djqrniwn44lgj"] [ext_resource type="PackedScene" uid="uid://b6akxaacr8jd2" path="res://src/map/dungeon/rooms/Set B/33. Puer's Room.tscn" id="1_5yts4"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_x4fnm"] @@ -126,6 +126,9 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_ku5hr") +[sub_resource type="BoxShape3D" id="BoxShape3D_oapja"] +size = Vector3(300, 20, 300) + [node name="Floor14b" type="Node3D"] script = ExtResource("1_x4fnm") @@ -318,3 +321,23 @@ skeleton = NodePath("") transform = Transform3D(-1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 0, 0, 1, 0, 40.405, 0) mesh = SubResource("ArrayMesh_0jf3o") skeleton = NodePath("") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +shape = SubResource("BoxShape3D_oapja") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor15/Floor 15B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor15/Floor 15B.tscn index ba332fc0..c79e7040 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor15/Floor 15B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor15/Floor 15B.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=35 format=4 uid="uid://cidl1mnmrg2xe"] +[gd_scene load_steps=36 format=4 uid="uid://cidl1mnmrg2xe"] [ext_resource type="PackedScene" uid="uid://dttk7gis5ibge" path="res://src/map/dungeon/rooms/Set B/30. Void Room.tscn" id="1_0ns77"] [ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_j4xyb"] @@ -122,6 +122,9 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_rhkk0") +[sub_resource type="BoxShape3D" id="BoxShape3D_silkp"] +size = Vector3(300, 20, 300) + [node name="Floor18a" type="Node3D"] script = ExtResource("1_j4xyb") @@ -500,3 +503,23 @@ skeleton = NodePath("") transform = Transform3D(-1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 0, 0, 1, 0, 40.405, 0) mesh = SubResource("ArrayMesh_gvxug") skeleton = NodePath("") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +shape = SubResource("BoxShape3D_silkp") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/00. Altar.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/00. Altar.tscn index f62d0e63..40a173d2 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/00. Altar.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/00. Altar.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=82 format=4 uid="uid://dl6h1djc27ddl"] +[gd_scene load_steps=83 format=4 uid="uid://dl6h1djc27ddl"] [ext_resource type="Script" uid="uid://c1nhqlem1ew3m" path="res://src/map/dungeon/code/Altar.cs" id="1_5jip8"] [ext_resource type="Resource" uid="uid://bqnfw6r4085yv" path="res://src/dialog/Altar.dialogue" id="2_7xfp0"] @@ -985,6 +985,9 @@ dof_blur_far_enabled = true dof_blur_far_distance = 29.84 dof_blur_amount = 0.02 +[sub_resource type="BoxShape3D" id="BoxShape3D_t5dsv"] +size = Vector3(470.846, 200, 162.878) + [node name="Floor0" type="Node3D"] script = ExtResource("1_5jip8") Dialogue = ExtResource("2_7xfp0") @@ -1208,3 +1211,25 @@ autoplay = true bus = &"AMBIENT" parameters/looping = true script = ExtResource("5_7xfp0") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/DirtWalkZone"] +transform = Transform3D(0.99978, 0, 0.0209773, 0, 1, 0, -0.0209773, 0, 0.99978, 182.221, 0, -4.61623) +shape = SubResource("BoxShape3D_t5dsv") +debug_color = Color(0.918544, 6.38214e-05, 0.700878, 1) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/35. Goddess of Guidance's Room.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/35. Goddess of Guidance's Room.tscn index 88a88004..cd8d7c3f 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/35. Goddess of Guidance's Room.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/35. Goddess of Guidance's Room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=30 format=3 uid="uid://bo20ffw2ygbks"] +[gd_scene load_steps=31 format=3 uid="uid://bo20ffw2ygbks"] [ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_j4ho3"] [ext_resource type="PackedScene" uid="uid://bodjd0em1q8s1" path="res://src/map/dungeon/models/Special Floors & Rooms/35. Goddess of Guidance's Floor/35_A2_GUIDANCE_FLOOR.glb" id="3_1ee1y"] @@ -6,7 +6,7 @@ [ext_resource type="PackedScene" uid="uid://dye6ov6jfygke" path="res://src/map/Placeables/FloorMapPlaceable.tscn" id="5_7jpl7"] [ext_resource type="Texture2D" uid="uid://byd2a2hshj5s4" path="res://src/map/dungeon/models/Special Floors & Rooms/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_wood_final_tree.jpg" id="6_vrdbg"] [ext_resource type="PackedScene" uid="uid://5nje7dl3hxld" path="res://src/map/dungeon/models/Special Floors & Rooms/35. Goddess of Guidance's Floor/GOGROOM EXTENSION.glb" id="7_vrdbg"] -[ext_resource type="AudioStream" uid="uid://d3uj87dsngy22" path="res://src/audio/amb/amb_water_lapping2.ogg" id="8_ltkmj"] +[ext_resource type="AudioStream" uid="uid://d3uj87dsngy22" path="res://src/audio/AMB/amb_water_lapping2.ogg" id="8_ltkmj"] [ext_resource type="Shader" uid="uid://beg8sp6kw66w8" path="res://src/map/map shaders/GOGROOM Water.gdshader" id="16_q4do2"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_iajdo"] @@ -123,6 +123,9 @@ material = SubResource("StandardMaterial3D_ltkmj") [sub_resource type="BoxShape3D" id="BoxShape3D_32hxa"] size = Vector3(53.9355, 47.5181, 65.8796) +[sub_resource type="BoxShape3D" id="BoxShape3D_ltkmj"] +size = Vector3(456.5, 300, 367.667) + [node name="Goddess of Guidance\'s Floor" type="Node3D"] script = ExtResource("1_j4ho3") @@ -258,4 +261,25 @@ parameters/looping = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.82333, 1.62671, -61.6317) shape = SubResource("BoxShape3D_32hxa") +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.4999, 0, 33.8336) +shape = SubResource("BoxShape3D_ltkmj") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + [editable path="35_A2_GUIDANCE_FLOOR"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/36. Final Floor.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/36. Final Floor.tscn index bb3dd3ae..513d3955 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/36. Final Floor.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/36. Final Floor.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=17 format=3 uid="uid://cyrrhoarhxlhg"] +[gd_scene load_steps=18 format=3 uid="uid://cyrrhoarhxlhg"] [ext_resource type="Script" uid="uid://r8mpxyum31ds" path="res://src/map/dungeon/code/FinalFloor.cs" id="1_b2jrf"] [ext_resource type="PackedScene" uid="uid://dpd2y8evtea1t" path="res://src/map/dungeon/models/Special Floors & Rooms/36. Final Floor/36_A2_FINAL_FLOOR_VER.0.1.glb" id="2_b2jrf"] @@ -52,6 +52,9 @@ albedo_texture = ExtResource("4_yc5yf") [sub_resource type="BoxMesh" id="BoxMesh_rdpd5"] material = SubResource("StandardMaterial3D_ltkmj") +[sub_resource type="BoxShape3D" id="BoxShape3D_far32"] +size = Vector3(949.726, 20, 323.071) + [node name="Final Floor" type="Node3D"] script = ExtResource("1_b2jrf") @@ -143,4 +146,25 @@ transform = Transform3D(-2.09159e-07, 0, 4.785, 0, 4.785, 0, -4.785, 0, -2.09159 transform = Transform3D(0.055, 0, 1.11022e-16, 0, -0.01, 0, 0, 0, -0.035, -0.0089035, 1.40911, -0.0210085) mesh = SubResource("BoxMesh_rdpd5") +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.3461, 0, 11.5356) +shape = SubResource("BoxShape3D_far32") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + [editable path="Model/36_A2_FINAL_FLOOR_VER_0_2"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/40. Goddess of Guidance's Room - True Form.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/40. Goddess of Guidance's Room - True Form.tscn index ff0083c6..1fbe865b 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/40. Goddess of Guidance's Room - True Form.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/40. Goddess of Guidance's Room - True Form.tscn @@ -4,7 +4,7 @@ [ext_resource type="Shader" uid="uid://b6edye87srp8w" path="res://src/map/map shaders/40. Goddess of Guidance's Room - True Form.gdshader" id="2_tof4l"] [ext_resource type="Shader" uid="uid://yagva4an6w2" path="res://src/map/map shaders/Overworld Water.gdshader" id="3_i62g0"] [ext_resource type="PackedScene" uid="uid://c7g2ami5064v0" path="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/Wings.glb" id="4_ua5b4"] -[ext_resource type="AudioStream" uid="uid://cgk17d8erskht" path="res://src/audio/amb/amb_ocean.ogg" id="5_i62g0"] +[ext_resource type="AudioStream" uid="uid://cgk17d8erskht" path="res://src/audio/AMB/amb_ocean.ogg" id="5_i62g0"] [ext_resource type="PackedScene" uid="uid://lbs7wrwf4aft" path="res://src/map/assets/Posed GOG/Blocks Scene.glb" id="6_i62g0"] [ext_resource type="Texture2D" uid="uid://dxu7v6hvfdrxb" path="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/swirled cossslumn_concrete_0017_color_1k.jpg" id="6_nbur2"] [ext_resource type="Texture2D" uid="uid://0i3xehgtd8ol" path="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/swirled cossslumn_concrete_0003_roughness_1k.png" id="7_idb3h"] @@ -401,4 +401,21 @@ volume_db = -8.541 autoplay = true parameters/looping = true +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + [editable path="Blocks Scene"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/BAD END.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/BAD END.tscn index dd860ead..0363a3fe 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/BAD END.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/BAD END.tscn @@ -1697,4 +1697,21 @@ _noise = SubResource("FastNoiseLite_2vj7l") [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + [editable path="NavigationRegion3D/Overworld Re-Scaled (Missing Distance Objects)"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/BadEnd.cs b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/BadEnd.cs index d4592a6c..0633353d 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/BadEnd.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/BadEnd.cs @@ -2,6 +2,7 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; using Godot; using System.Linq; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Game.Ma; using Zennysoft.Ma.Adapter; diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Cellular.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Cellular.tscn index c8395c9e..9b4d0a44 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Cellular.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Cellular.tscn @@ -10,7 +10,7 @@ [ext_resource type="Shader" uid="uid://ucyntjbf812l" path="res://src/map/map shaders/VOIDSHADE.gdshader" id="7_d1qtu"] [ext_resource type="Texture2D" uid="uid://tgce7l7svu6d" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Cell/1.png" id="8_vpnob"] [ext_resource type="Shader" uid="uid://bpkmgenx50vof" path="res://src/map/map shaders/VOID PORTAL.gdshader" id="10_45x2d"] -[ext_resource type="AudioStream" uid="uid://btkbelic75ecn" path="res://src/audio/amb/amb_cellular.ogg" id="11_o8hbn"] +[ext_resource type="AudioStream" uid="uid://btkbelic75ecn" path="res://src/audio/AMB/amb_cellular.ogg" id="11_o8hbn"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_fnq6d"] render_priority = 0 @@ -635,3 +635,20 @@ stream = ExtResource("11_o8hbn") volume_db = 2.009 autoplay = true parameters/looping = true + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 08 Boss Floor A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 08 Boss Floor A.tscn index 8007d7f0..7c08f15d 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 08 Boss Floor A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 08 Boss Floor A.tscn @@ -16,7 +16,7 @@ [ext_resource type="PackedScene" uid="uid://cn13lho2so7sr" path="res://src/map/Placeables/Stele E.tscn" id="19_g5dtd"] [ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="21_uhy5k"] [ext_resource type="Texture2D" uid="uid://b7kj1pxt7wx1g" path="res://src/vfx/World/BLUE_FLAME.png" id="22_khpud"] -[ext_resource type="AudioStream" uid="uid://b306wov6yfaan" path="res://src/audio/amb/amb_flame_burning.ogg" id="23_fbuno"] +[ext_resource type="AudioStream" uid="uid://b306wov6yfaan" path="res://src/audio/AMB/amb_flame_burning.ogg" id="23_fbuno"] [ext_resource type="PackedScene" uid="uid://0aqllfpimgq" path="res://src/map/Placeables/Stele D.tscn" id="23_uhy5k"] [ext_resource type="PackedScene" uid="uid://dye6ov6jfygke" path="res://src/map/Placeables/FloorMapPlaceable.tscn" id="24_fbuno"] [ext_resource type="Texture2D" uid="uid://byd2a2hshj5s4" path="res://src/map/dungeon/models/Special Floors & Rooms/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_wood_final_tree.jpg" id="25_3rjuj"] @@ -1619,5 +1619,22 @@ transform = Transform3D(1.57413e-07, 0, -2.085, 0, 2.085, 0, 2.085, 0, 1.57413e- transform = Transform3D(0.055, 0, -1.11022e-15, 0, -0.01, 0, -2.22045e-15, 0, -0.035, -0.221185, 0.85992, -0.00735092) mesh = SubResource("BoxMesh_i6yjj") +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + [editable path="Model/15_A1_BOSS FLOOR A_VER_3"] [editable path="Collision/NavigationRegion3D/BOSS LEVEL 1 Collision"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 16 Boss Floor B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 16 Boss Floor B.tscn index e49305d5..ed41ed56 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 16 Boss Floor B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 16 Boss Floor B.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=43 format=3 uid="uid://ceo7ph483io44"] +[gd_scene load_steps=44 format=3 uid="uid://ceo7ph483io44"] [ext_resource type="Script" uid="uid://cvj30id0i8ska" path="res://src/map/dungeon/code/BossRoomB.cs" id="1_bxvob"] [ext_resource type="PackedScene" uid="uid://bv6j6lai6461" path="res://src/enemy/enemy_types/17. computer_terminal/ComputerTerminalA.tscn" id="2_3yokf"] @@ -211,6 +211,9 @@ material = SubResource("StandardMaterial3D_7ihe3") [sub_resource type="FogMaterial" id="FogMaterial_lkd2b"] emission = Color(0.381703, 0.381703, 0.381703, 1) +[sub_resource type="BoxShape3D" id="BoxShape3D_0nsl5"] +size = Vector3(300, 20, 314.795) + [node name="Boss Floor B" type="Node3D"] script = ExtResource("1_bxvob") @@ -342,35 +345,35 @@ unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.48964, 0.102548, 55.334) [node name="Skeleton3D" parent="DemonWall/EnemyModelView/RightArms/Arm7/Pivot/ARM7/7_ L AGNI CONE ARM" index="0"] -bones/0/position = Vector3(2.28722, -0.56138, -1.47817) -bones/0/rotation = Quaternion(0.38811, 0.0775269, 0.703043, 0.590839) -bones/1/rotation = Quaternion(0.233437, 0.632316, 0.0630212, 0.736011) -bones/2/rotation = Quaternion(-0.0376454, 0.232235, -0.595645, 0.768021) -bones/3/rotation = Quaternion(-0.0383216, -0.0960443, 0.3053, 0.946625) -bones/4/rotation = Quaternion(0.0439907, 0.00229385, 0.0762642, 0.996114) -bones/5/rotation = Quaternion(-0.0363805, 0.0152895, -0.23288, 0.971705) -bones/6/rotation = Quaternion(-0.0901047, -0.0304692, 0.162934, 0.982042) +bones/0/position = Vector3(2.24597, -0.604504, -1.50432) +bones/0/rotation = Quaternion(0.19434, 0.343893, 0.593095, 0.701575) +bones/1/rotation = Quaternion(0.0381974, 0.558422, 0.185151, 0.807728) +bones/2/rotation = Quaternion(-0.0504619, 0.15819, -0.617824, 0.768585) +bones/3/rotation = Quaternion(-0.148299, -0.133323, 0.316869, 0.927268) +bones/4/rotation = Quaternion(0.00977725, 0.0381968, 0.239519, 0.970091) +bones/5/rotation = Quaternion(-0.0185495, 0.0242627, -0.235702, 0.971345) +bones/6/rotation = Quaternion(-0.170993, -0.0329525, 0.191833, 0.965855) bones/6/scale = Vector3(1, 1, 0.999999) -bones/7/rotation = Quaternion(-0.121517, 0.000914199, 0.00522197, 0.992575) -bones/8/rotation = Quaternion(-0.0828311, -0.0401376, 0.0206843, 0.99554) -bones/9/rotation = Quaternion(-0.0296818, 0.00166733, -0.0232501, 0.999288) -bones/10/rotation = Quaternion(-0.114183, -0.00469173, 0.015081, 0.993334) -bones/11/rotation = Quaternion(-0.125474, -0.00492657, 0.002869, 0.992081) -bones/12/rotation = Quaternion(-0.0691886, -0.0311654, -0.0088305, 0.997078) -bones/13/rotation = Quaternion(-0.126033, -0.0568394, 0.175949, 0.974642) -bones/14/rotation = Quaternion(-0.104615, 0.0156596, -0.138892, 0.984642) +bones/7/rotation = Quaternion(0.000200224, 0.0590246, 0.0169687, 0.998112) +bones/8/rotation = Quaternion(-0.206676, -0.0916639, 0.00183007, 0.974104) +bones/9/rotation = Quaternion(-0.0216023, 0.0264278, -0.0131663, 0.999331) +bones/10/rotation = Quaternion(-0.0472634, -0.00199948, -0.00603102, 0.998862) +bones/11/rotation = Quaternion(-0.120657, 0.00948891, 0.0132477, 0.992561) +bones/12/rotation = Quaternion(-0.117125, -0.0468548, -0.0060843, 0.991993) +bones/13/rotation = Quaternion(-0.0802696, -0.0314929, 0.184965, 0.978955) +bones/14/rotation = Quaternion(-0.0102928, 0.0945137, -0.169334, 0.980962) bones/14/scale = Vector3(1, 1, 0.999999) -bones/15/rotation = Quaternion(-0.218828, -0.00305675, 0.0630554, 0.973719) -bones/16/rotation = Quaternion(0.0926523, 0.045193, -0.0717381, 0.992082) -bones/17/rotation = Quaternion(-0.0243253, -0.00347037, 0.366504, 0.930092) -bones/18/rotation = Quaternion(-0.0923762, 0.0325958, -0.264284, 0.959457) -bones/19/rotation = Quaternion(-0.0201007, -0.0189147, -0.020028, 0.999418) -bones/20/rotation = Quaternion(-0.144534, 0.00086764, 0.0805197, 0.986218) -bones/21/position = Vector3(2.69927, 0.0229838, -3.42106) -bones/21/rotation = Quaternion(0.748919, 0.0911011, 0.283424, 0.592024) +bones/15/rotation = Quaternion(-0.250681, -0.0966005, 0.0401321, 0.962402) +bones/16/rotation = Quaternion(-0.0993953, -0.00395198, -0.0712234, 0.992488) +bones/17/rotation = Quaternion(-0.032426, -0.0909646, 0.360003, 0.92794) +bones/18/rotation = Quaternion(-0.06452, 0.165797, -0.237233, 0.955023) +bones/19/rotation = Quaternion(-0.0157164, -0.067953, -0.035203, 0.996943) +bones/20/rotation = Quaternion(-0.184347, -0.0382386, 0.0740418, 0.979322) +bones/21/position = Vector3(2.74051, 0.0661084, -3.39491) +bones/21/rotation = Quaternion(0.758932, 0.0662693, 0.294037, 0.577211) [node name="BoneAttachment3D" parent="DemonWall/EnemyModelView/RightArms/Arm7/Pivot/ARM7/7_ L AGNI CONE ARM/Skeleton3D" index="1"] -transform = Transform3D(-0.873544, -0.410806, 0.261074, 0.374118, -0.223543, 0.900036, -0.311379, 0.883893, 0.348965, 0.854307, -1.10025, -0.422661) +transform = Transform3D(-0.853453, -0.47253, 0.219851, 0.252689, -0.0062339, 0.967528, -0.455815, 0.881293, 0.124723, 0.947048, -0.193669, -0.238735) [node name="CollisionShape3D" parent="DemonWall/EnemyModelView/RightArms/Arm7/Pivot/ARM7/7_ L AGNI CONE ARM/Skeleton3D/BoneAttachment3D/Projectile/Hitbox" index="0"] transform = Transform3D(0.635844, 0.528577, -0.562441, 0.375355, 0.425019, 0.823709, 0.674439, -0.734846, 0.0718229, -1.8153, 4.65171, 12.6822) @@ -559,6 +562,27 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.47675, 1.83414, 101.776) size = Vector3(6.14075, 6.11859, 2) material = SubResource("FogMaterial_lkd2b") +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MarbleWalkZone"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7.39752) +shape = SubResource("BoxShape3D_0nsl5") + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + [editable path="Model/34_A2_BOSS FLOOR B_VER_1"] [editable path="Collision/Boss Floor 2 Collision"] [editable path="DemonWall"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Grassland.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Grassland.tscn index 79791cb8..8a9106c1 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Grassland.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Grassland.tscn @@ -18,7 +18,7 @@ [ext_resource type="PackedScene" uid="uid://cn13lho2so7sr" path="res://src/map/Placeables/Stele E.tscn" id="16_8notg"] [ext_resource type="Shader" uid="uid://bpkmgenx50vof" path="res://src/map/map shaders/VOID PORTAL.gdshader" id="17_euw1a"] [ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="18_lx6bc"] -[ext_resource type="AudioStream" uid="uid://b5vhghigr263m" path="res://src/audio/amb/amb_ATMOSTPHERE.ogg" id="19_hta4f"] +[ext_resource type="AudioStream" uid="uid://b5vhghigr263m" path="res://src/audio/AMB/amb_ATMOSTPHERE.ogg" id="19_hta4f"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_267ev"] resource_name = "Material.002" @@ -2472,4 +2472,21 @@ autoplay = true bus = &"AMBIENT" parameters/looping = true +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + [editable path="NPCs/GoddessOfSecrets"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn index 8bd3bd0e..f2cc9072 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=227 format=4 uid="uid://dvnc26rebk6o0"] +[gd_scene load_steps=228 format=4 uid="uid://dvnc26rebk6o0"] [ext_resource type="Script" uid="uid://cuhfkyh3d7noa" path="res://src/map/dungeon/code/Overworld.cs" id="1_5hmt3"] [ext_resource type="Texture2D" uid="uid://co6h8vyi11sl2" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_63.png" id="2_g6b7b"] @@ -1991,6 +1991,9 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_i08j7") +[sub_resource type="BoxShape3D" id="BoxShape3D_kmsma"] +size = Vector3(187.116, 200, 279.792) + [node name="Overworld" type="Node3D"] script = ExtResource("1_5hmt3") @@ -2441,6 +2444,7 @@ Affinity = 6 [node name="VFX" type="Node3D" parent="."] transform = Transform3D(0.66, 0, 0, 0, 0.66, 0, 0, 0, 0.66, -293.644, -2.57557, 69.8565) +visible = false [node name="AnimationPlayer" type="AnimationPlayer" parent="VFX"] root_node = NodePath("Overworld_CLOUD_RINGS_INNER") @@ -2829,6 +2833,28 @@ transform = Transform3D(0.921192, 0.0644309, 0.329915, -0.635509, 0.0745904, 0.4 mesh = SubResource("ArrayMesh_pxsmp") skeleton = NodePath("") +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/DirtWalkZone"] +transform = Transform3D(0.99978, 0, 0.0209773, 0, 1, 0, -0.0209773, 0, 0.99978, -420.716, 0, -19.5981) +shape = SubResource("BoxShape3D_kmsma") +debug_color = Color(0.918544, 6.38214e-05, 0.700878, 1) + [editable path="Node3D/Overworld Re-Scaled (Missing Distance Objects)"] [editable path="UnlockableDoor1"] [editable path="Actors/Rat"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Platform.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Platform.tscn index 91d3f3a2..67105dbd 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Platform.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Platform.tscn @@ -709,6 +709,81 @@ size = Vector2(3.785, 6.145) subdivide_width = 2 subdivide_depth = 2 +[sub_resource type="Animation" id="Animation_x55gx"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Model/space platform/WALKWAY:mesh:surface_0/material:emission_energy_multiplier") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [3.3] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Model/space platform/WALKWAY:mesh:surface_0/material:albedo_color") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(0.177556, 1, 0, 1)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Model/space platform/WALKWAY:mesh:surface_1/material:emission_energy_multiplier") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [3.3] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Model/space platform/WALKWAY:mesh:surface_1/material:albedo_color") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(0.177556, 1, 0, 1)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Model/space platform/WALKWAY:mesh:surface_2/material:albedo_color") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(0.177556, 1, 0, 1)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Model/space platform/WALKWAY:mesh:surface_2/material:emission_energy_multiplier") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [3.3] +} + [sub_resource type="Animation" id="Animation_tstta"] resource_name = "material animation" length = 4.0 @@ -786,81 +861,6 @@ tracks/5/keys = { "values": [3.3, 1.96, 3.3] } -[sub_resource type="Animation" id="Animation_x55gx"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Model/space platform/WALKWAY:mesh:surface_0/material:emission_energy_multiplier") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [3.3] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Model/space platform/WALKWAY:mesh:surface_0/material:albedo_color") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(0.177556, 1, 0, 1)] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Model/space platform/WALKWAY:mesh:surface_1/material:emission_energy_multiplier") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [3.3] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Model/space platform/WALKWAY:mesh:surface_1/material:albedo_color") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(0.177556, 1, 0, 1)] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Model/space platform/WALKWAY:mesh:surface_2/material:albedo_color") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(0.177556, 1, 0, 1)] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Model/space platform/WALKWAY:mesh:surface_2/material:emission_energy_multiplier") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [3.3] -} - [sub_resource type="AnimationLibrary" id="AnimationLibrary_voxte"] _data = { &"RESET": SubResource("Animation_x55gx"), @@ -1041,3 +1041,20 @@ skeleton = NodePath("../..") libraries = { &"": SubResource("AnimationLibrary_voxte") } + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/River.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/River.tscn index 13bf403d..197b0a8e 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/River.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/River.tscn @@ -20,9 +20,9 @@ [ext_resource type="Texture2D" uid="uid://4acpnr07pmlg" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-River/impalers_impalers.png" id="18_bnmex"] [ext_resource type="Shader" uid="uid://bpkmgenx50vof" path="res://src/map/map shaders/VOID PORTAL.gdshader" id="18_poprr"] [ext_resource type="Texture2D" uid="uid://byd2a2hshj5s4" path="res://src/map/dungeon/models/Special Floors & Rooms/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_wood_final_tree.jpg" id="19_bnmex"] -[ext_resource type="AudioStream" uid="uid://b5vhghigr263m" path="res://src/audio/amb/amb_ATMOSTPHERE.ogg" id="21_bk4cs"] -[ext_resource type="AudioStream" uid="uid://cstt5t4tspgll" path="res://src/audio/amb/amb_RIVER.ogg" id="22_wboc7"] -[ext_resource type="AudioStream" uid="uid://dun1mdjlmv2iy" path="res://src/audio/amb/amb_CRICKETS.ogg" id="23_p5cam"] +[ext_resource type="AudioStream" uid="uid://b5vhghigr263m" path="res://src/audio/AMB/amb_ATMOSTPHERE.ogg" id="21_bk4cs"] +[ext_resource type="AudioStream" uid="uid://cstt5t4tspgll" path="res://src/audio/AMB/amb_RIVER.ogg" id="22_wboc7"] +[ext_resource type="AudioStream" uid="uid://dun1mdjlmv2iy" path="res://src/audio/AMB/amb_CRICKETS.ogg" id="23_p5cam"] [sub_resource type="CompressedTexture2D" id="CompressedTexture2D_fsavp"] @@ -1046,3 +1046,20 @@ stream = ExtResource("23_p5cam") autoplay = true bus = &"AMBIENT" parameters/looping = true + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Server.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Server.tscn index 298437e0..755a5768 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Server.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Server.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=93 format=4 uid="uid://cnlw4fistem53"] +[gd_scene load_steps=94 format=4 uid="uid://cnlw4fistem53"] [ext_resource type="Script" uid="uid://bc56uwauby3eh" path="res://src/map/dungeon/floors/Special Floors/Server.cs" id="1_138ti"] [ext_resource type="Texture2D" uid="uid://dlku6x3aq0pns" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Server/EXserver_WIRE.jpg" id="2_pw0lq"] @@ -1170,6 +1170,10 @@ shader_parameter/uv1_offset = Vector3(0, 0, 0) shader_parameter/color1 = Color(1, 1, 1, 1) shader_parameter/color2 = Color(1, 1, 1, 1) +[sub_resource type="CylinderShape3D" id="CylinderShape3D_hnuw6"] +height = 100.0 +radius = 42.5127 + [node name="EX-SERVER" type="Node3D"] script = ExtResource("1_138ti") @@ -1399,3 +1403,23 @@ visible = false mesh = SubResource("BoxMesh_hnuw6") skeleton = NodePath("../../Lights/Boss Floor Environment") surface_material_override/0 = SubResource("ShaderMaterial_tfsio") + +[node name="WalkZones" type="Node3D" parent="."] + +[node name="MarbleWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="MetalWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="WalkZones/MetalWalkZone"] +shape = SubResource("CylinderShape3D_hnuw6") + +[node name="DirtWalkZone" type="Area3D" parent="WalkZones"] +unique_name_in_owner = true +collision_layer = 0 +collision_mask = 64 diff --git a/Zennysoft.Game.Ma/src/player/DummyPlayer.cs b/Zennysoft.Game.Ma/src/player/DummyPlayer.cs index 7562a7ca..dbc07607 100644 --- a/Zennysoft.Game.Ma/src/player/DummyPlayer.cs +++ b/Zennysoft.Game.Ma/src/player/DummyPlayer.cs @@ -53,4 +53,5 @@ public partial class DummyPlayer : CharacterBody3D, IPlayer public void SetSigil(ISigil sigil) => throw new NotImplementedException(); public void ShakePlayerCamera(float shakeIntensity, float shakeAmount) => throw new NotImplementedException(); public void ShowCamera(bool showCamera) => throw new NotImplementedException(); + public void SetPlayerWalkSFX(GroundType groundType) => throw new NotImplementedException(); } diff --git a/Zennysoft.Game.Ma/src/player/Player.cs b/Zennysoft.Game.Ma/src/player/Player.cs index c3fe036d..222251fd 100644 --- a/Zennysoft.Game.Ma/src/player/Player.cs +++ b/Zennysoft.Game.Ma/src/player/Player.cs @@ -5,6 +5,7 @@ using Godot; using SimpleInjector; using System; using System.Linq; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Ma; using Zennysoft.Ma.Adapter; using Zennysoft.Ma.Adapter.Entity; @@ -361,6 +362,28 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide Deactivate(); } + public void SetPlayerWalkSFX(GroundType groundType) + { + switch (groundType) + { + case GroundType.Dirt: + WalkSFX.Stream = GD.Load("res://src/audio/sfx/player_steps_dirt.ogg"); + break; + case GroundType.Concrete: + WalkSFX.Stream = GD.Load("res://src/audio/sfx/player_steps_concrete.ogg"); + break; + case GroundType.Metal: + WalkSFX.Stream = GD.Load("res://src/audio/sfx/player_steps_metal.ogg"); + break; + case GroundType.Marble: + WalkSFX.Stream = GD.Load("res://src/audio/sfx/player_steps_marble.ogg"); + break; + default: + WalkSFX.Stream = GD.Load("res://src/audio/sfx/player_steps_dirt.ogg"); + break; + } + } + public override void _Input(InputEvent @event) { if (GetTree().Paused) diff --git a/Zennysoft.Game.Ma/src/player/Player.tscn b/Zennysoft.Game.Ma/src/player/Player.tscn index 870b41dc..6572b4a6 100644 --- a/Zennysoft.Game.Ma/src/player/Player.tscn +++ b/Zennysoft.Game.Ma/src/player/Player.tscn @@ -13825,6 +13825,9 @@ bus = &"SFX" [node name="WalkSFX" type="AudioStreamPlayer3D" parent="."] unique_name_in_owner = true stream = ExtResource("6_v7rlw") +volume_db = -2.0 +max_db = 0.0 +bus = &"SFX" [node name="Projectiles" type="Node3D" parent="."] diff --git a/Zennysoft.Game.Ma/src/ui/in_game_ui/UseTeleportPrompt.cs b/Zennysoft.Game.Ma/src/ui/in_game_ui/UseTeleportPrompt.cs index 450f1b06..7c16d335 100644 --- a/Zennysoft.Game.Ma/src/ui/in_game_ui/UseTeleportPrompt.cs +++ b/Zennysoft.Game.Ma/src/ui/in_game_ui/UseTeleportPrompt.cs @@ -2,6 +2,7 @@ using Chickensoft.AutoInject; using Chickensoft.GodotNodeInterfaces; using Chickensoft.Introspection; using Godot; +using Zennysoft.Game.Abstractions.Audio; namespace Zennysoft.Game.Ma; diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs index 0af378e1..685f3b60 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs @@ -2,6 +2,7 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; using Godot; using System; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Game.Ma; using Zennysoft.Ma.Adapter; diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.cs index d2519fe8..a5c069a5 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.cs @@ -4,6 +4,7 @@ using Godot; using System; using System.Collections.Generic; using System.Linq; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Game.Ma; using Zennysoft.Ma.Adapter; diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs index 69851149..42a264aa 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs @@ -3,6 +3,7 @@ using Chickensoft.Introspection; using Godot; using System.Collections.Generic; using System.Linq; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Game.Ma; using Zennysoft.Ma.Adapter; diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemRescueMenu.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemRescueMenu.cs index c4a2021d..9229a4b6 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemRescueMenu.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemRescueMenu.cs @@ -4,6 +4,7 @@ using Godot; using System; using System.Collections.Generic; using System.Linq; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Game.Ma; using Zennysoft.Ma.Adapter; diff --git a/Zennysoft.Game.Ma/src/ui/load_next_level/LoadNextLevel.cs b/Zennysoft.Game.Ma/src/ui/load_next_level/LoadNextLevel.cs index 5f80c922..eb4ce84d 100644 --- a/Zennysoft.Game.Ma/src/ui/load_next_level/LoadNextLevel.cs +++ b/Zennysoft.Game.Ma/src/ui/load_next_level/LoadNextLevel.cs @@ -5,6 +5,7 @@ using Chickensoft.Introspection; using Godot; using System; using System.Linq; +using Zennysoft.Game.Abstractions.Audio; using Zennysoft.Game.Ma; using Zennysoft.Ma.Adapter;