Add hitboxes to other enemies, move enemy database to floor level, normalize strafing input to avoid extra speed gained by moving and strafing

This commit is contained in:
2025-02-07 03:11:32 -08:00
parent b8e5794d48
commit 1f9c05c0a7
26 changed files with 97 additions and 106 deletions

View File

@@ -56,6 +56,7 @@ public partial class Boss : CharacterBody3D, IBoss, IProvide<IBossLogic>
{
BossLogic = new BossLogic();
BossLogic.Set(this as IBoss);
BossLogic.Set(Player);
SetPhysicsProcess(false);
Hide();

View File

@@ -1,10 +1,10 @@
[gd_scene load_steps=4 format=3 uid="uid://dbvr8ewajja6a"]
[ext_resource type="Script" path="res://src/enemy/EnemyDatabase.cs" id="1_ywy58"]
[ext_resource type="Script" uid="uid://cp02ufnj6c7kg" path="res://src/enemy/EnemyDatabase.cs" id="1_ywy58"]
[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/michael/Michael.tscn" id="2_tja3j"]
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/sproingy/Sproingy.tscn" id="3_cpupr"]
[node name="EnemyDatabase" type="Node"]
script = ExtResource("1_ywy58")
EnemyList = Array[PackedScene]([ExtResource("2_tja3j"), ExtResource("3_cpupr")])
SpawnRate = PackedFloat32Array(0.5, 0.5)
SpawnRate = PackedFloat32Array(1, 1)

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=127 format=3 uid="uid://cvk007twac22c"]
[gd_scene load_steps=128 format=3 uid="uid://cvk007twac22c"]
[ext_resource type="Script" path="res://src/enemy/enemy_types/filth_eater/FilthEater.cs" id="1_fyc13"]
[ext_resource type="Script" uid="uid://cohal8w5ceneg" path="res://src/enemy/enemy_types/filth_eater/FilthEater.cs" id="1_fyc13"]
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="2_mqiog"]
[ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="3_ipypc"]
[ext_resource type="Texture2D" uid="uid://cx1wk7n77hdpu" path="res://src/enemy/enemy_types/filth_eater/animations/WALK BACK/Layer 1.png" id="4_ag3g0"]
@@ -104,8 +104,6 @@ AeolicResistance = 0.0
HydricResistance = 0.0
IgneousResistance = 0.0
FerrumResistance = 0.0
SecondaryAttackElementalType = 2
SecondaryAttackElementalDamageBonus = 1.15
DropsSoulGemChance = 0.75
metadata/_custom_type_script = ExtResource("2_mqiog")
@@ -603,6 +601,9 @@ states/secondary_attack/position = Vector2(1057, 151.947)
transitions = ["Start", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_vljb2"), "idle_front_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_3xv6a"), "idle_left_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_0h1op"), "idle_front_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_361b7"), "idle_back_walk", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_wftla"), "idle_back_walk", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_gqqkl"), "idle_left_walk", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_5cj36"), "idle_front_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_4t05h"), "primary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_8hgxu"), "primary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_fq2yw"), "primary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_yqm0k"), "idle_back_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_bmy1k"), "idle_left_walk", "primary_attack", SubResource("AnimationNodeStateMachineTransition_mxl7w"), "idle_back_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_0y048"), "idle_left_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_uhpql"), "idle_front_walk", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_l7m4y"), "secondary_attack", "idle_back_walk", SubResource("AnimationNodeStateMachineTransition_464kr"), "secondary_attack", "idle_front_walk", SubResource("AnimationNodeStateMachineTransition_45of7"), "secondary_attack", "idle_left_walk", SubResource("AnimationNodeStateMachineTransition_c482n")]
graph_offset = Vector2(-121, -17.0526)
[sub_resource type="SphereShape3D" id="SphereShape3D_0y048"]
radius = 1.0
[node name="FilthEater" type="RigidBody3D"]
process_mode = 1
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
@@ -694,3 +695,11 @@ unique_name_in_owner = true
root_node = NodePath("%AnimationTree/..")
tree_root = SubResource("AnimationNodeStateMachine_acrfn")
anim_player = NodePath("../AnimationPlayer")
[node name="Collision" type="Area3D" parent="."]
collision_layer = 2048
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.120117, 0.221246, 0)
shape = SubResource("SphereShape3D_0y048")

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=7 format=3 uid="uid://b0gwivt7cw7nd"]
[gd_scene load_steps=8 format=3 uid="uid://b0gwivt7cw7nd"]
[ext_resource type="Script" uid="uid://c4pdledq3bll3" path="res://src/enemy/enemy_types/michael/Michael.cs" id="1_wfjxm"]
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="2_wrps7"]
@@ -29,6 +29,9 @@ radius = 1.0
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_0h5s2"]
radius = 0.193181
[sub_resource type="SphereShape3D" id="SphereShape3D_wrps7"]
radius = 1.0
[node name="Michael" type="RigidBody3D"]
process_mode = 1
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
@@ -76,3 +79,11 @@ debug_path_custom_color = Color(1, 0, 0, 1)
[node name="EnemyModelView" parent="." instance=ExtResource("3_wrps7")]
unique_name_in_owner = true
[node name="Collision" type="Area3D" parent="."]
collision_layer = 2048
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.120117, 0.221246, 0)
shape = SubResource("SphereShape3D_wrps7")

View File

@@ -86,9 +86,9 @@ collision_mask = 3
unique_name_in_owner = true
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.0862446, 0)
[node name="Area3D" type="Area3D" parent="."]
[node name="Collision" type="Area3D" parent="."]
collision_layer = 2048
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision"]
shape = SubResource("SphereShape3D_8vcnq")

View File

@@ -4,7 +4,7 @@
[ext_resource type="PackedScene" uid="uid://dl6h1djc27ddl" path="res://src/map/overworld/Floor0.tscn" id="2_0m8h8"]
[ext_resource type="PackedScene" uid="uid://bc1sp6xwe0j65" path="res://src/map/dungeon/floors/Floor01.tscn" id="2_merfv"]
[ext_resource type="Script" uid="uid://c1nhqlem1ew3m" path="res://src/map/dungeon/code/Floor0.cs" id="3_n0f1p"]
[ext_resource type="PackedScene" uid="uid://g28xmp6cn16h" path="res://src/map/dungeon/floors/Floor11.tscn" id="3_niasb"]
[ext_resource type="PackedScene" uid="uid://g28xmp6cn16h" path="res://src/map/dungeon/floors/Floor10.tscn" id="3_niasb"]
[ext_resource type="PackedScene" uid="uid://dmiqwmivkjgmq" path="res://src/map/dungeon/floors/Floor02.tscn" id="4_8y0oy"]
[ext_resource type="PackedScene" uid="uid://bjqgl5u05ia04" path="res://src/map/dungeon/Teleport.tscn" id="5_jiohg"]
[ext_resource type="PackedScene" uid="uid://dl1scvkp8r5sw" path="res://src/map/dungeon/floors/Floor03.tscn" id="5_uag72"]
@@ -25,21 +25,7 @@ unique_name_in_owner = true
[node name="Floor3" parent="." instance=ExtResource("5_uag72")]
[node name="Floor4" parent="." instance=ExtResource("5_uag72")]
[node name="Floor5" parent="." instance=ExtResource("5_uag72")]
[node name="Floor6" parent="." instance=ExtResource("5_uag72")]
[node name="Floor7" parent="." instance=ExtResource("5_uag72")]
[node name="Floor8" parent="." instance=ExtResource("5_uag72")]
[node name="Floor9" parent="." instance=ExtResource("5_uag72")]
[node name="Floor10" parent="." instance=ExtResource("5_uag72")]
[node name="Floor11" parent="." instance=ExtResource("3_niasb")]
[node name="Floor10" parent="." instance=ExtResource("3_niasb")]
[node name="Teleport" parent="." instance=ExtResource("5_jiohg")]
unique_name_in_owner = true

View File

@@ -38,6 +38,11 @@ public partial class BossRoom : Node3D, IDungeonRoom
HorseFace.CurrentHP.Sync += BossHPUpdate;
}
public void SpawnEnemies(EnemyDatabase enemyDatabase)
{
}
private void BossHPUpdate(double obj)
{
if (OxFace.CurrentHP.Value <= 0 && HorseFace.CurrentHP.Value <= 0)

View File

@@ -15,6 +15,8 @@ namespace GameJamDungeon
[Node] public NavigationRegion3D NavigationRegion3D { get; set; } = default!;
[Node] public EnemyDatabase EnemyDatabase { get; set; } = default!;
private Transform3D _playerSpawnPoint;
private Vector3 _teleportSpawnPoint;
@@ -29,6 +31,8 @@ namespace GameJamDungeon
Rooms = FindAllDungeonRooms([.. GetChildren()], Rooms);
_playerSpawnPoint = RandomizePlayerSpawnPoint();
_teleportSpawnPoint = RandomizeTeleportSpawnPointAwayFromPosition(_playerSpawnPoint.Origin);
foreach (var room in Rooms)
room.SpawnEnemies(EnemyDatabase);
}
public Transform3D GetPlayerSpawnPoint() => _playerSpawnPoint;

View File

@@ -1,7 +1,6 @@
using Chickensoft.AutoInject;
using Chickensoft.GodotNodeInterfaces;
using Chickensoft.Introspection;
using GameJamDungeon;
using Godot;
using System.Linq;
@@ -9,7 +8,10 @@ namespace GameJamDungeon;
public interface IDungeonRoom : INode3D
{
public Marker3D PlayerSpawn { get; set; }
public Marker3D TeleportSpawn { get; set; }
public void SpawnEnemies(EnemyDatabase enemyDatabase);
}
[Meta(typeof(IAutoNode))]
@@ -27,12 +29,9 @@ public partial class DungeonRoom : Node3D, IDungeonRoom
[Node] public ItemDatabase ItemDatabase { get; set; } = default!;
[Node] public EnemyDatabase EnemyDatabase { get; set; } = default!;
public void Setup()
{
SpawnItems();
SpawnEnemies();
}
private void SpawnItems()
@@ -57,7 +56,7 @@ public partial class DungeonRoom : Node3D, IDungeonRoom
}
}
private void SpawnEnemies()
public void SpawnEnemies(EnemyDatabase enemyDatabase)
{
var rng = new RandomNumberGenerator();
rng.Randomize();
@@ -70,7 +69,7 @@ public partial class DungeonRoom : Node3D, IDungeonRoom
break;
numberOfEnemiesToSpawn--;
var enemy = EnemyDatabase.EnemyList[rng.RandWeighted(EnemyDatabase.SpawnRate)];
var enemy = enemyDatabase.EnemyList[rng.RandWeighted(enemyDatabase.SpawnRate)];
var instantiatedEnemy = enemy.Instantiate<Enemy>();
instantiatedEnemy.Position = new Vector3(spawnPoint.Position.X, -1, spawnPoint.Position.Z);
AddChild(instantiatedEnemy);

View File

@@ -0,0 +1 @@
uid://sd454fpp0bl5

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=13 format=3 uid="uid://bc1sp6xwe0j65"]
[gd_scene load_steps=16 format=3 uid="uid://bc1sp6xwe0j65"]
[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_0ecnn"]
[ext_resource type="Script" uid="uid://b1x125h0tya2w" path="res://addons/SimpleDungeons/DungeonGenerator3D.gd" id="2_cxmwa"]
@@ -11,6 +11,9 @@
[ext_resource type="PackedScene" uid="uid://vdhl32je6hq2" path="res://src/map/dungeon/scenes/Antechamber_2.tscn" id="9_icfo6"]
[ext_resource type="PackedScene" uid="uid://cam640h4euewx" path="res://src/map/dungeon/scenes/PitRoom2.tscn" id="10_4qi15"]
[ext_resource type="PackedScene" uid="uid://i781lbf2wb22" path="res://src/map/dungeon/scenes/TreeRoom.tscn" id="10_kwn4p"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="12_aw26s"]
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/sproingy/Sproingy.tscn" id="13_kwaga"]
[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/michael/Michael.tscn" id="14_gkkr3"]
[sub_resource type="NavigationMesh" id="NavigationMesh_4d8mx"]
sample_partition_type = 2
@@ -34,3 +37,7 @@ generate_on_ready = false
heuristic_scale = 3.0
corridor_cost_multiplier = 0.1
hide_debug_visuals_for_all_generated_rooms = false
[node name="EnemyDatabase" parent="." instance=ExtResource("12_aw26s")]
unique_name_in_owner = true
EnemyList = Array[PackedScene]([ExtResource("13_kwaga"), ExtResource("14_gkkr3")])

View File

@@ -1,15 +1,18 @@
[gd_scene load_steps=12 format=3 uid="uid://dmiqwmivkjgmq"]
[gd_scene load_steps=15 format=3 uid="uid://dmiqwmivkjgmq"]
[ext_resource type="Script" path="res://addons/SimpleDungeons/DungeonGenerator3D.gd" id="1_afeds"]
[ext_resource type="Script" uid="uid://b1x125h0tya2w" path="res://addons/SimpleDungeons/DungeonGenerator3D.gd" id="1_afeds"]
[ext_resource type="PackedScene" uid="uid://dpec2lbt83dhe" path="res://src/map/dungeon/scenes/Antechamber.tscn" id="3_7txs6"]
[ext_resource type="PackedScene" uid="uid://b82dx66mgs2d7" path="res://src/map/dungeon/scenes/BasinRoom.tscn" id="4_r7shj"]
[ext_resource type="PackedScene" uid="uid://b7111krf365x0" path="res://src/map/dungeon/scenes/InnerBalcony.tscn" id="5_geyju"]
[ext_resource type="Script" path="res://src/map/dungeon/code/DungeonFloor.cs" id="5_ld0kt"]
[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="5_ld0kt"]
[ext_resource type="PackedScene" uid="uid://c1qicmrcg6q6x" path="res://src/map/dungeon/scenes/ColumnRoom.tscn" id="6_jgovx"]
[ext_resource type="PackedScene" uid="uid://bn4gslp2gk8ds" path="res://src/map/dungeon/corridor/Corridor.tscn" id="7_86if8"]
[ext_resource type="PackedScene" uid="uid://dfpyfpnya0f4u" path="res://src/map/dungeon/scenes/WaterRoom.tscn" id="8_lpc1g"]
[ext_resource type="PackedScene" uid="uid://vdhl32je6hq2" path="res://src/map/dungeon/scenes/Antechamber_2.tscn" id="9_4i2f8"]
[ext_resource type="PackedScene" uid="uid://cam640h4euewx" path="res://src/map/dungeon/scenes/PitRoom2.tscn" id="9_lpelw"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="11_yvj8v"]
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/sproingy/Sproingy.tscn" id="12_pmbic"]
[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/michael/Michael.tscn" id="13_eyrkc"]
[sub_resource type="NavigationMesh" id="NavigationMesh_gqi8w"]
border_size = 1.0
@@ -31,3 +34,7 @@ corridor_room_scene = ExtResource("7_86if8")
dungeon_size = Vector3i(30, 1, 30)
voxel_scale = Vector3(4, 4, 4)
generate_on_ready = false
[node name="EnemyDatabase" parent="." instance=ExtResource("11_yvj8v")]
unique_name_in_owner = true
EnemyList = Array[PackedScene]([ExtResource("12_pmbic"), ExtResource("13_eyrkc")])

View File

@@ -1,15 +1,19 @@
[gd_scene load_steps=12 format=3 uid="uid://dl1scvkp8r5sw"]
[gd_scene load_steps=16 format=3 uid="uid://dl1scvkp8r5sw"]
[ext_resource type="Script" path="res://addons/SimpleDungeons/DungeonGenerator3D.gd" id="1_ou8lo"]
[ext_resource type="Script" uid="uid://b1x125h0tya2w" path="res://addons/SimpleDungeons/DungeonGenerator3D.gd" id="1_ou8lo"]
[ext_resource type="PackedScene" uid="uid://dpec2lbt83dhe" path="res://src/map/dungeon/scenes/Antechamber.tscn" id="3_yeqmp"]
[ext_resource type="PackedScene" uid="uid://b82dx66mgs2d7" path="res://src/map/dungeon/scenes/BasinRoom.tscn" id="4_2o7kq"]
[ext_resource type="Script" path="res://src/map/dungeon/code/DungeonFloor.cs" id="5_mo2td"]
[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="5_mo2td"]
[ext_resource type="PackedScene" uid="uid://b7111krf365x0" path="res://src/map/dungeon/scenes/InnerBalcony.tscn" id="5_wo0bu"]
[ext_resource type="PackedScene" uid="uid://c1qicmrcg6q6x" path="res://src/map/dungeon/scenes/ColumnRoom.tscn" id="6_o010k"]
[ext_resource type="PackedScene" uid="uid://bn4gslp2gk8ds" path="res://src/map/dungeon/corridor/Corridor.tscn" id="7_qjouh"]
[ext_resource type="PackedScene" uid="uid://dfpyfpnya0f4u" path="res://src/map/dungeon/scenes/WaterRoom.tscn" id="8_06hbf"]
[ext_resource type="PackedScene" uid="uid://cam640h4euewx" path="res://src/map/dungeon/scenes/PitRoom2.tscn" id="9_imrv0"]
[ext_resource type="PackedScene" uid="uid://vdhl32je6hq2" path="res://src/map/dungeon/scenes/Antechamber_2.tscn" id="9_ym1ny"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="11_kyvxc"]
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/sproingy/Sproingy.tscn" id="12_1j6d5"]
[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/michael/Michael.tscn" id="13_q8fb5"]
[ext_resource type="PackedScene" uid="uid://cvk007twac22c" path="res://src/enemy/enemy_types/filth_eater/FilthEater.tscn" id="14_g81xt"]
[sub_resource type="NavigationMesh" id="NavigationMesh_gqi8w"]
border_size = 1.0
@@ -31,3 +35,8 @@ corridor_room_scene = ExtResource("7_qjouh")
dungeon_size = Vector3i(60, 1, 60)
voxel_scale = Vector3(4, 4, 4)
generate_on_ready = false
[node name="EnemyDatabase" parent="." instance=ExtResource("11_kyvxc")]
unique_name_in_owner = true
EnemyList = Array[PackedScene]([ExtResource("12_1j6d5"), ExtResource("13_q8fb5"), ExtResource("14_g81xt")])
SpawnRate = PackedFloat32Array(0.5, 1, 1)

View File

@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://g28xmp6cn16h"]
[ext_resource type="Script" uid="uid://b74nta2e20elm" path="res://src/map/dungeon/code/BossFloor.cs" id="1_0xjxw"]
[node name="Floor10" type="Node3D"]
script = ExtResource("1_0xjxw")

View File

@@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://g28xmp6cn16h"]
[ext_resource type="Script" path="res://src/map/dungeon/code/BossFloor.cs" id="1_gsbuk"]
[node name="Floor11" type="Node3D"]
script = ExtResource("1_gsbuk")

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=60 format=4 uid="uid://dpec2lbt83dhe"]
[gd_scene load_steps=58 format=4 uid="uid://dpec2lbt83dhe"]
[ext_resource type="Script" uid="uid://ce73fuh74l81l" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_ho6e8"]
[ext_resource type="Script" uid="uid://daetb3e2nm56p" path="res://src/map/dungeon/code/DungeonRoom.cs" id="2_iwuh7"]
@@ -16,8 +16,6 @@
[ext_resource type="Texture2D" uid="uid://cpln18w0wvan" path="res://src/map/dungeon/models/antechamber_1/ANTECHAMBER_TYPE1_VER2_mother.png" id="14_1wlp7"]
[ext_resource type="Texture2D" uid="uid://b8dow4tvs1ktr" path="res://src/map/dungeon/models/antechamber_1/ANTECHAMBER_TYPE1_VER2_brick3.png" id="15_rowg2"]
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="17_25wvm"]
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/sproingy/Sproingy.tscn" id="18_6qc76"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="18_v6hub"]
[ext_resource type="Texture2D" uid="uid://bkvegamuqdsdd" path="res://src/map/dungeon/corridor/CORRIDOR test_FLOOR1.jpg" id="19_06gih"]
[ext_resource type="Texture2D" uid="uid://del2dfj3etokd" path="res://src/map/dungeon/textures/BLOCKED-DOOR_REGULAR.png" id="20_le1vp"]
[ext_resource type="Material" uid="uid://bsafm3t4drpl" path="res://src/map/dungeon/textures/MinimapTexture.tres" id="21_8vpi3"]
@@ -736,11 +734,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.55793, -2.98, 2.77761)
[node name="ItemDatabase" parent="Antechamber" instance=ExtResource("17_25wvm")]
unique_name_in_owner = true
[node name="EnemyDatabase" parent="Antechamber" instance=ExtResource("18_v6hub")]
unique_name_in_owner = true
EnemyList = Array[PackedScene]([ExtResource("18_6qc76")])
SpawnRate = PackedFloat32Array(0.5)
[node name="TeleportSpawn" type="Marker3D" parent="Antechamber"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.33663, -1.49877, 0.845012)

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=90 format=4 uid="uid://vdhl32je6hq2"]
[gd_scene load_steps=88 format=4 uid="uid://vdhl32je6hq2"]
[ext_resource type="Script" uid="uid://ce73fuh74l81l" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_j1kxr"]
[ext_resource type="Script" uid="uid://daetb3e2nm56p" path="res://src/map/dungeon/code/DungeonRoom.cs" id="2_6qgti"]
@@ -23,9 +23,7 @@
[ext_resource type="Texture2D" uid="uid://del2dfj3etokd" path="res://src/map/dungeon/textures/BLOCKED-DOOR_REGULAR.png" id="21_jdoki"]
[ext_resource type="Texture2D" uid="uid://bkvegamuqdsdd" path="res://src/map/dungeon/corridor/CORRIDOR test_FLOOR1.jpg" id="22_3r6v3"]
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="23_rhlsp"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="24_168rc"]
[ext_resource type="Script" uid="uid://yl7wyeo5m725" path="res://src/map/dungeon/corridor/remove_unused_doors.gd" id="25_8521a"]
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/sproingy/Sproingy.tscn" id="25_qsemm"]
[ext_resource type="Script" uid="uid://c6s8hvdj3u3aq" path="res://src/map/dungeon/code/MinimapManager.cs" id="26_tvm82"]
[ext_resource type="Material" uid="uid://bsafm3t4drpl" path="res://src/map/dungeon/textures/MinimapTexture.tres" id="27_mgor6"]
@@ -1811,11 +1809,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23.9514, -2.12568, -13.2894)
[node name="ItemDatabase" parent="Antechamber2" instance=ExtResource("23_rhlsp")]
unique_name_in_owner = true
[node name="EnemyDatabase" parent="Antechamber2" instance=ExtResource("24_168rc")]
unique_name_in_owner = true
EnemyList = Array[PackedScene]([ExtResource("25_qsemm")])
SpawnRate = PackedFloat32Array(0.5)
[node name="TeleportSpawn" type="Marker3D" parent="Antechamber2"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.74798, -1.55568, 2.8662)

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=66 format=4 uid="uid://b82dx66mgs2d7"]
[gd_scene load_steps=65 format=4 uid="uid://b82dx66mgs2d7"]
[ext_resource type="Script" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_0qew1"]
[ext_resource type="Script" path="res://src/map/dungeon/code/DungeonRoom.cs" id="2_dthr7"]
[ext_resource type="Script" uid="uid://ce73fuh74l81l" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_0qew1"]
[ext_resource type="Script" uid="uid://daetb3e2nm56p" path="res://src/map/dungeon/code/DungeonRoom.cs" id="2_dthr7"]
[ext_resource type="Texture2D" uid="uid://0s6f8h4dyhsx" path="res://src/map/dungeon/models/basin_room/BASIN_ROOM_VER2_concrete_0003_color_1k.png" id="2_td7cv"]
[ext_resource type="Texture2D" uid="uid://ja1f8fjlvn88" path="res://src/map/dungeon/models/basin_room/BASIN_ROOM_VER2_mother.png" id="3_fplhk"]
[ext_resource type="Texture2D" uid="uid://del2dfj3etokd" path="res://src/map/dungeon/textures/BLOCKED-DOOR_REGULAR.png" id="3_xx585"]
@@ -18,8 +18,7 @@
[ext_resource type="Texture2D" uid="uid://chn58u65p126k" path="res://src/map/dungeon/models/basin_room/BASIN_ROOM_VER2_TILE4.png" id="13_oh2ks"]
[ext_resource type="Texture2D" uid="uid://bb5c4q66smcc7" path="res://src/map/dungeon/models/basin_room/BASIN_ROOM_VER2_TILE5.png" id="14_x3qy3"]
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="18_bwap2"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="19_oogxr"]
[ext_resource type="Script" path="res://src/map/dungeon/code/MinimapManager.cs" id="20_q54wm"]
[ext_resource type="Script" uid="uid://c6s8hvdj3u3aq" path="res://src/map/dungeon/code/MinimapManager.cs" id="20_q54wm"]
[ext_resource type="Material" uid="uid://bsafm3t4drpl" path="res://src/map/dungeon/textures/MinimapTexture.tres" id="20_yhlud"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6oscl"]
@@ -813,9 +812,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.55, -2.55692, 0)
[node name="ItemDatabase" parent="BasinRoom/BASIN_ROOM_VER2" instance=ExtResource("18_bwap2")]
unique_name_in_owner = true
[node name="EnemyDatabase" parent="BasinRoom/BASIN_ROOM_VER2" instance=ExtResource("19_oogxr")]
unique_name_in_owner = true
[node name="TeleportSpawn" type="Marker3D" parent="BasinRoom/BASIN_ROOM_VER2"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.28791, 10.2563, 106.274)

View File

@@ -1,8 +1,7 @@
[gd_scene load_steps=108 format=4 uid="uid://c1qicmrcg6q6x"]
[gd_scene load_steps=106 format=4 uid="uid://c1qicmrcg6q6x"]
[ext_resource type="Script" uid="uid://ce73fuh74l81l" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_x1cte"]
[ext_resource type="Script" uid="uid://daetb3e2nm56p" path="res://src/map/dungeon/code/DungeonRoom.cs" id="2_g5xc4"]
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/sproingy/Sproingy.tscn" id="5_nsoky"]
[ext_resource type="Texture2D" uid="uid://b2h2devo04do7" path="res://src/map/dungeon/models/column_room/COLUMN_ROOM_VER3_COLUMN-DARKER.png" id="7_uspsn"]
[ext_resource type="Texture2D" uid="uid://dafrf8sqqrhlr" path="res://src/map/dungeon/models/column_room/COLUMN_ROOM_VER3_effed-TILES-2.png" id="8_hk2oq"]
[ext_resource type="Texture2D" uid="uid://cg2mvnq7f8uhj" path="res://src/map/dungeon/models/column_room/COLUMN_ROOM_VER3_WALL TILE 1.jpg" id="9_r0ib2"]
@@ -27,7 +26,6 @@
[ext_resource type="Texture2D" uid="uid://jrsx4xa5qm15" path="res://src/map/dungeon/models/column_room/COLUMN_ROOM_VER3_mother.png" id="24_wcs73"]
[ext_resource type="Material" uid="uid://bsafm3t4drpl" path="res://src/map/dungeon/textures/MinimapTexture.tres" id="25_3jgi2"]
[ext_resource type="Texture2D" uid="uid://ca36l3t6htau7" path="res://src/map/dungeon/models/column_room/COLUMN_ROOM_VER3_brick3.png" id="25_hncep"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="25_jy2bd"]
[ext_resource type="Script" uid="uid://c6s8hvdj3u3aq" path="res://src/map/dungeon/code/MinimapManager.cs" id="26_l3250"]
[ext_resource type="Script" uid="uid://yl7wyeo5m725" path="res://src/map/dungeon/corridor/remove_unused_doors.gd" id="26_uyqow"]
@@ -1536,11 +1534,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.32741, -2, -3.41341)
[node name="ItemDatabase" parent="ColumnRoom" instance=ExtResource("24_i01sv")]
unique_name_in_owner = true
[node name="EnemyDatabase" parent="ColumnRoom" instance=ExtResource("25_jy2bd")]
unique_name_in_owner = true
EnemyList = Array[PackedScene]([ExtResource("5_nsoky")])
SpawnRate = PackedFloat32Array(0.5)
[node name="TeleportSpawn" type="Marker3D" parent="ColumnRoom"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.381, -1.83231, 0.0164348)

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=86 format=4 uid="uid://b7111krf365x0"]
[gd_scene load_steps=84 format=4 uid="uid://b7111krf365x0"]
[ext_resource type="Script" uid="uid://ce73fuh74l81l" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_jccmw"]
[ext_resource type="Script" uid="uid://daetb3e2nm56p" path="res://src/map/dungeon/code/DungeonRoom.cs" id="2_5p5p8"]
@@ -16,9 +16,7 @@
[ext_resource type="Texture2D" uid="uid://del2dfj3etokd" path="res://src/map/dungeon/textures/BLOCKED-DOOR_REGULAR.png" id="13_66rjw"]
[ext_resource type="Texture2D" uid="uid://bkvegamuqdsdd" path="res://src/map/dungeon/corridor/CORRIDOR test_FLOOR1.jpg" id="14_vh3wx"]
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="15_n8s21"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="16_mk0iw"]
[ext_resource type="Script" uid="uid://yl7wyeo5m725" path="res://src/map/dungeon/corridor/remove_unused_doors.gd" id="17_atu1n"]
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/sproingy/Sproingy.tscn" id="18_j7bvl"]
[ext_resource type="Material" uid="uid://bsafm3t4drpl" path="res://src/map/dungeon/textures/MinimapTexture.tres" id="19_dmkqn"]
[ext_resource type="Script" uid="uid://c6s8hvdj3u3aq" path="res://src/map/dungeon/code/MinimapManager.cs" id="19_gi8bh"]
@@ -1191,11 +1189,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.346, -0.5, -3.546)
[node name="ItemDatabase" parent="InnerBalcony" instance=ExtResource("15_n8s21")]
unique_name_in_owner = true
[node name="EnemyDatabase" parent="InnerBalcony" instance=ExtResource("16_mk0iw")]
unique_name_in_owner = true
EnemyList = Array[PackedScene]([ExtResource("18_j7bvl")])
SpawnRate = PackedFloat32Array(0.5)
[node name="TeleportSpawn" type="Marker3D" parent="InnerBalcony"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8372, -1.46163, -2.84738)

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=88 format=4 uid="uid://cam640h4euewx"]
[gd_scene load_steps=86 format=4 uid="uid://cam640h4euewx"]
[ext_resource type="Script" uid="uid://ce73fuh74l81l" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_hww7y"]
[ext_resource type="Script" uid="uid://daetb3e2nm56p" path="res://src/map/dungeon/code/DungeonRoom.cs" id="2_abm0b"]
@@ -19,9 +19,7 @@
[ext_resource type="Texture2D" uid="uid://del2dfj3etokd" path="res://src/map/dungeon/textures/BLOCKED-DOOR_REGULAR.png" id="16_5ekaa"]
[ext_resource type="Texture2D" uid="uid://bkvegamuqdsdd" path="res://src/map/dungeon/corridor/CORRIDOR test_FLOOR1.jpg" id="17_4r724"]
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="19_yh0qc"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="20_5xp0x"]
[ext_resource type="Script" uid="uid://yl7wyeo5m725" path="res://src/map/dungeon/corridor/remove_unused_doors.gd" id="21_5mo1p"]
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/sproingy/Sproingy.tscn" id="21_ex11s"]
[ext_resource type="Script" uid="uid://c6s8hvdj3u3aq" path="res://src/map/dungeon/code/MinimapManager.cs" id="22_h4dhe"]
[ext_resource type="Material" uid="uid://bsafm3t4drpl" path="res://src/map/dungeon/textures/MinimapTexture.tres" id="23_2yaqs"]
@@ -1302,11 +1300,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.2311, -5.81234, 0)
[node name="ItemDatabase" parent="PitRoom" instance=ExtResource("19_yh0qc")]
unique_name_in_owner = true
[node name="EnemyDatabase" parent="PitRoom" instance=ExtResource("20_5xp0x")]
unique_name_in_owner = true
EnemyList = Array[PackedScene]([ExtResource("21_ex11s")])
SpawnRate = PackedFloat32Array(0.5)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="PitRoom"]
transform = Transform3D(-0.866024, -0.433016, 0.250001, 0, 0.499998, 0.866026, -0.500003, 0.749999, -0.43301, 0.764877, 4.39249, -0.482112)
light_energy = 0.0

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=85 format=4 uid="uid://i781lbf2wb22"]
[gd_scene load_steps=84 format=4 uid="uid://i781lbf2wb22"]
[ext_resource type="Script" uid="uid://ce73fuh74l81l" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_owolg"]
[ext_resource type="Script" uid="uid://daetb3e2nm56p" path="res://src/map/dungeon/code/DungeonRoom.cs" id="2_557rl"]
@@ -19,7 +19,6 @@
[ext_resource type="Texture2D" uid="uid://cagfhd5tagp27" path="res://src/map/dungeon/models/tree_room/TREE_ROOM_VER2_TILE5.png" id="16_linox"]
[ext_resource type="Texture2D" uid="uid://cjjdttsu7sily" path="res://src/map/dungeon/models/tree_room/TREE_ROOM_VER2_starsigns.png" id="17_xt3ee"]
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="19_rlr0c"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="20_blcsb"]
[ext_resource type="Script" uid="uid://yl7wyeo5m725" path="res://src/map/dungeon/corridor/remove_unused_doors.gd" id="21_s12yd"]
[ext_resource type="Material" uid="uid://bsafm3t4drpl" path="res://src/map/dungeon/textures/MinimapTexture.tres" id="22_3xjct"]
[ext_resource type="Texture2D" uid="uid://del2dfj3etokd" path="res://src/map/dungeon/textures/BLOCKED-DOOR_REGULAR.png" id="23_sd6x0"]
@@ -1162,9 +1161,6 @@ shape = SubResource("ConcavePolygonShape3D_b3r1q")
[node name="ItemDatabase" parent="TreeRoom" instance=ExtResource("19_rlr0c")]
unique_name_in_owner = true
[node name="EnemyDatabase" parent="TreeRoom" instance=ExtResource("20_blcsb")]
unique_name_in_owner = true
[node name="TeleportSpawn" type="Marker3D" parent="TreeRoom"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.37813, -1.65528, -4.78663)

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=90 format=4 uid="uid://dfpyfpnya0f4u"]
[gd_scene load_steps=88 format=4 uid="uid://dfpyfpnya0f4u"]
[ext_resource type="Script" uid="uid://ce73fuh74l81l" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="1_ulct7"]
[ext_resource type="Script" uid="uid://daetb3e2nm56p" path="res://src/map/dungeon/code/DungeonRoom.cs" id="2_7yem4"]
@@ -26,8 +26,6 @@
[ext_resource type="Texture2D" uid="uid://bkvegamuqdsdd" path="res://src/map/dungeon/corridor/CORRIDOR test_FLOOR1.jpg" id="23_83smy"]
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="24_7qo1y"]
[ext_resource type="Material" uid="uid://bsafm3t4drpl" path="res://src/map/dungeon/textures/MinimapTexture.tres" id="24_w0ing"]
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="25_bfjom"]
[ext_resource type="PackedScene" uid="uid://bksq62muhk3h5" path="res://src/enemy/enemy_types/sproingy/Sproingy.tscn" id="25_hc66w"]
[ext_resource type="Script" uid="uid://yl7wyeo5m725" path="res://src/map/dungeon/corridor/remove_unused_doors.gd" id="26_c86xl"]
[ext_resource type="Script" uid="uid://c6s8hvdj3u3aq" path="res://src/map/dungeon/code/MinimapManager.cs" id="28_txiha"]
@@ -1193,11 +1191,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.77329, 2.00295, -18.2136)
[node name="ItemDatabase" parent="Water Room" instance=ExtResource("24_7qo1y")]
unique_name_in_owner = true
[node name="EnemyDatabase" parent="Water Room" instance=ExtResource("25_bfjom")]
unique_name_in_owner = true
EnemyList = Array[PackedScene]([ExtResource("25_hc66w")])
SpawnRate = PackedFloat32Array(0.5)
[node name="TeleportSpawn" type="Marker3D" parent="Water Room"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.606, -1.41305, -0.292998)

View File

@@ -0,0 +1 @@
uid://6xoiq6pmxkcu

View File

@@ -201,7 +201,7 @@ public partial class Player : CharacterBody3D, IPlayer
var transform = Transform;
transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis;
var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z);
var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized();
var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration;
_knockbackStrength = _knockbackStrength * 0.9f;
Transform = Transform with { Basis = transform.Basis };

View File

@@ -0,0 +1 @@
uid://ds6nlnay5d6cv