merge
This commit is contained in:
@@ -7,7 +7,7 @@ public interface IDungeonFloor : INode3D
|
||||
{
|
||||
void InitializeDungeon();
|
||||
|
||||
public Transform3D GetPlayerSpawnPoint();
|
||||
public (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint();
|
||||
|
||||
public ImmutableList<IDungeonRoom> Rooms { get; }
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ public interface IPlayer : IKillable, ICharacterBody3D
|
||||
|
||||
public void LevelUp();
|
||||
|
||||
public void TeleportPlayer(Transform3D newTransform);
|
||||
public void TeleportPlayer((Vector3 Rotation, Vector3 Position) newTransform);
|
||||
|
||||
public void Equip(EquipableItem equipable);
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ radius = 3.31305
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_ow3fn"]
|
||||
height = 7.0
|
||||
radius = 3.0
|
||||
radius = 4.76904
|
||||
|
||||
[node name="OX FACE" type="CharacterBody3D"]
|
||||
collision_layer = 10
|
||||
@@ -28,7 +28,7 @@ InitialHP = 75
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.182602, 2.11842, -0.127861)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.182602, 1.90825, -0.127861)
|
||||
shape = SubResource("CapsuleShape3D_i0akf")
|
||||
|
||||
[node name="EnemyModelView" parent="." instance=ExtResource("2_v6b2s")]
|
||||
|
||||
@@ -2720,50 +2720,50 @@ bones/0/name = "spine1"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(-0.009526, 0.366754, -1.88784)
|
||||
bones/0/rotation = Quaternion(-0.00308433, -0.68495, -0.00289962, 0.728578)
|
||||
bones/0/position = Vector3(-0.259574, -0.973649, -1.9731)
|
||||
bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "spine0"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.978036, -0.207805, 0.0162095, 0.208126, 0.977864, -0.021554, -0.0113716, 0.0244542, 0.999636, 3.72054e-09, 2.48165, 7.14749e-08)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(3.72054e-09, 2.48165, 7.14749e-08)
|
||||
bones/1/rotation = Quaternion(0.0586044, 0.0623993, -0.341393, 0.936014)
|
||||
bones/1/rotation = Quaternion(0.0828172, 0.0642671, -0.39627, 0.91213)
|
||||
bones/1/scale = Vector3(1, 0.999999, 1)
|
||||
bones/2/name = "neck1"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.931038, 0.338155, -0.137179, -0.337694, 0.940859, 0.0273421, 0.138312, 0.020868, 0.990169, -1.09896e-07, 3.84743, -2.10479e-07)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07)
|
||||
bones/2/rotation = Quaternion(-0.0217442, -0.0146702, 0.0478742, 0.998509)
|
||||
bones/2/rotation = Quaternion(-0.137837, 0.137086, 0.403643, 0.894025)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "neck2"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.998394, -0.0314302, 0.0471444, 0.0306775, 0.999391, 0.016606, -0.0476376, -0.015133, 0.99875, 2.23517e-07, 1.61011, -1.04308e-07)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(2.23517e-07, 1.61011, -1.04308e-07)
|
||||
bones/3/rotation = Quaternion(0.00345914, 0.0130109, 0.0151201, 0.999795)
|
||||
bones/3/rotation = Quaternion(-0.00338816, 0.00852271, 0.0152662, 0.999842)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "neck3"
|
||||
bones/4/parent = 3
|
||||
bones/4/rest = Transform3D(0.901905, -0.410135, 0.135488, 0.412416, 0.910915, 0.0120912, -0.128377, 0.0449723, 0.990705, 2.5332e-07, 0.990515, -7.07805e-08)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(2.5332e-07, 0.990515, -7.07805e-08)
|
||||
bones/4/rotation = Quaternion(0.103663, 0.214122, 0.101145, 0.96601)
|
||||
bones/4/rotation = Quaternion(0.037164, 0.133882, 0.101977, 0.985036)
|
||||
bones/4/scale = Vector3(1, 1, 1)
|
||||
bones/5/name = "neck4"
|
||||
bones/5/parent = 4
|
||||
bones/5/rest = Transform3D(0.999746, -0.0223582, -0.00293604, 0.0225401, 0.994675, 0.10057, 0.000671851, -0.10061, 0.994926, 2.23517e-07, 1.26785, -4.84288e-08)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(2.23517e-07, 1.26785, -4.84288e-08)
|
||||
bones/5/rotation = Quaternion(-0.0473537, -0.0122364, 0.0232444, 0.998533)
|
||||
bones/5/rotation = Quaternion(-0.0397875, -0.0104688, 0.0235613, 0.998875)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "head1"
|
||||
bones/6/parent = 5
|
||||
bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(3.65078e-07, 1.40318, 0)
|
||||
bones/6/rotation = Quaternion(-0.190028, -0.328604, -0.405057, 0.831768)
|
||||
bones/6/rotation = Quaternion(-0.071436, -0.302948, -0.744736, 0.590328)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
@@ -2798,14 +2798,14 @@ bones/11/parent = 1
|
||||
bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07)
|
||||
bones/11/rotation = Quaternion(-0.785673, -0.0724002, 0.0590847, 0.611544)
|
||||
bones/11/rotation = Quaternion(-0.784157, -0.0611472, 0.0729822, 0.613215)
|
||||
bones/11/scale = Vector3(1, 0.999999, 1)
|
||||
bones/12/name = "arm2_L"
|
||||
bones/12/parent = 11
|
||||
bones/12/rest = Transform3D(0.999962, 0.00846541, -0.00203671, -0.00853764, 0.99922, -0.0385481, 0.0017088, 0.038564, 0.999255, 8.19564e-07, 3.65838, 1.35601e-06)
|
||||
bones/12/enabled = true
|
||||
bones/12/position = Vector3(8.19564e-07, 3.65838, 1.35601e-06)
|
||||
bones/12/rotation = Quaternion(-0.572568, -0.639491, -0.229818, 0.458694)
|
||||
bones/12/rotation = Quaternion(-0.607818, -0.670503, -0.284916, 0.31592)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
bones/13/name = "arm3_L"
|
||||
bones/13/parent = 12
|
||||
@@ -2825,22 +2825,22 @@ bones/15/name = "arm1_R"
|
||||
bones/15/parent = 1
|
||||
bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097)
|
||||
bones/15/enabled = true
|
||||
bones/15/position = Vector3(0.00107843, 3.8461, -0.0821096)
|
||||
bones/15/rotation = Quaternion(-0.0474424, 0.655558, 0.750149, -0.0725857)
|
||||
bones/15/position = Vector3(0.00107886, 3.8461, -0.0821095)
|
||||
bones/15/rotation = Quaternion(-0.211209, 0.738719, 0.620737, -0.156111)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "arm2_R"
|
||||
bones/16/parent = 15
|
||||
bones/16/rest = Transform3D(0.999962, -0.00846545, 0.00203661, 0.00853768, 0.99922, -0.0385481, -0.0017087, 0.038564, 0.999254, -4.28408e-07, 3.65838, -2.16067e-06)
|
||||
bones/16/enabled = true
|
||||
bones/16/position = Vector3(-4.28408e-07, 3.65838, -2.16067e-06)
|
||||
bones/16/rotation = Quaternion(-0.425852, -0.0135801, -0.446033, 0.787096)
|
||||
bones/16/rotation = Quaternion(-0.486067, -0.16412, -0.362283, 0.778174)
|
||||
bones/16/scale = Vector3(1, 1, 0.999999)
|
||||
bones/17/name = "arm3_R"
|
||||
bones/17/parent = 16
|
||||
bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06)
|
||||
bones/17/rotation = Quaternion(-0.0566708, -0.040868, 0.634575, 0.769697)
|
||||
bones/17/rotation = Quaternion(-0.0553629, -0.0361614, 0.62832, 0.77514)
|
||||
bones/17/scale = Vector3(1, 0.999999, 1)
|
||||
bones/18/name = "hand_R"
|
||||
bones/18/parent = 17
|
||||
@@ -2853,29 +2853,29 @@ bones/19/name = "hip_L"
|
||||
bones/19/parent = -1
|
||||
bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735)
|
||||
bones/19/enabled = true
|
||||
bones/19/position = Vector3(0.000155844, -0.00105979, -2.01735)
|
||||
bones/19/rotation = Quaternion(0.608697, 0.3155, 0.575514, -0.445793)
|
||||
bones/19/position = Vector3(-0.316941, -1.13929, -1.92912)
|
||||
bones/19/rotation = Quaternion(0.614445, 0.308898, 0.566716, -0.453732)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/name = "leg1_L"
|
||||
bones/20/parent = 19
|
||||
bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07)
|
||||
bones/20/enabled = true
|
||||
bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07)
|
||||
bones/20/rotation = Quaternion(-0.492424, -0.143601, -0.357923, 0.780249)
|
||||
bones/20/rotation = Quaternion(-0.313974, -0.438157, -0.277744, 0.795171)
|
||||
bones/20/scale = Vector3(1, 0.999999, 1)
|
||||
bones/21/name = "leg2_L"
|
||||
bones/21/parent = 20
|
||||
bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07)
|
||||
bones/21/rotation = Quaternion(-0.0403868, 0.00142275, 0.327379, 0.944028)
|
||||
bones/21/rotation = Quaternion(-0.0602229, 0.00130024, 0.487507, 0.871039)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
bones/22/name = "foot1_L"
|
||||
bones/22/parent = 21
|
||||
bones/22/rest = Transform3D(0.101237, 0.986735, -0.126909, -0.955585, 0.0609561, -0.288344, -0.276783, 0.150463, 0.94908, 4.47035e-08, 7.00093, 2.65427e-08)
|
||||
bones/22/enabled = true
|
||||
bones/22/position = Vector3(4.47035e-08, 7.00093, 2.65427e-08)
|
||||
bones/22/rotation = Quaternion(0.155407, 0.0488441, -0.63195, 0.757695)
|
||||
bones/22/rotation = Quaternion(0.156218, 0.0483037, -0.624744, 0.763516)
|
||||
bones/22/scale = Vector3(1, 1, 1)
|
||||
bones/23/name = "foot2_L"
|
||||
bones/23/parent = 22
|
||||
@@ -2888,21 +2888,21 @@ bones/24/name = "kneeIK_L"
|
||||
bones/24/parent = -1
|
||||
bones/24/rest = Transform3D(-0.176321, 1.3113e-06, 0.984333, 0.984333, 1.54972e-06, 0.176321, -1.3113e-06, 1, -1.54972e-06, 1.83022, -6.67107, 3.18901)
|
||||
bones/24/enabled = true
|
||||
bones/24/position = Vector3(1.83022, -6.67107, 3.18901)
|
||||
bones/24/rotation = Quaternion(0.453784, 0.542292, 0.542291, 0.453784)
|
||||
bones/24/position = Vector3(7.04992, -9.46662, 3.49458)
|
||||
bones/24/rotation = Quaternion(0.427621, 0.561851, 0.530083, 0.469549)
|
||||
bones/24/scale = Vector3(1, 1, 1)
|
||||
bones/25/name = "heelIK_L"
|
||||
bones/25/parent = -1
|
||||
bones/25/rest = Transform3D(-0.16376, -1.63913e-06, 0.9865, -0.9865, 1.19209e-07, -0.16376, 8.9407e-08, -1, -1.66893e-06, 1.91204, -13.5859, -3.56646)
|
||||
bones/25/enabled = true
|
||||
bones/25/position = Vector3(1.99656, -12.4846, 0.97679)
|
||||
bones/25/rotation = Quaternion(-0.451514, 0.545238, -0.541753, 0.453161)
|
||||
bones/25/position = Vector3(4.82744, -12.3397, 0.183847)
|
||||
bones/25/rotation = Quaternion(-0.400051, 0.463947, -0.598439, 0.516317)
|
||||
bones/25/scale = Vector3(1, 1, 1)
|
||||
bones/26/name = "hip_R"
|
||||
bones/26/parent = -1
|
||||
bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735)
|
||||
bones/26/enabled = true
|
||||
bones/26/position = Vector3(-0.000155844, -0.00105979, -2.01735)
|
||||
bones/26/position = Vector3(-0.211766, -1.11395, -2.01789)
|
||||
bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793)
|
||||
bones/26/scale = Vector3(1, 1, 1)
|
||||
bones/27/name = "leg1_R"
|
||||
@@ -2910,14 +2910,14 @@ bones/27/parent = 26
|
||||
bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07)
|
||||
bones/27/enabled = true
|
||||
bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07)
|
||||
bones/27/rotation = Quaternion(-0.482712, 0.00371048, 0.197321, 0.853253)
|
||||
bones/27/rotation = Quaternion(-0.207023, 0.422027, 0.141418, 0.871227)
|
||||
bones/27/scale = Vector3(1, 0.999999, 1)
|
||||
bones/28/name = "leg2_R"
|
||||
bones/28/parent = 27
|
||||
bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09)
|
||||
bones/28/enabled = true
|
||||
bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09)
|
||||
bones/28/rotation = Quaternion(-0.0581196, -0.00118045, -0.463371, 0.884256)
|
||||
bones/28/rotation = Quaternion(-0.063899, -0.00115725, -0.510164, 0.857699)
|
||||
bones/28/scale = Vector3(1, 1, 1)
|
||||
bones/29/name = "foot1_R"
|
||||
bones/29/parent = 28
|
||||
@@ -2937,19 +2937,19 @@ bones/31/name = "kneeIK_R"
|
||||
bones/31/parent = -1
|
||||
bones/31/rest = Transform3D(-0.176321, -1.3113e-06, -0.984333, -0.984333, 1.54972e-06, 0.176321, 1.3113e-06, 1, -1.54972e-06, -1.83022, -6.67107, 3.18901)
|
||||
bones/31/enabled = true
|
||||
bones/31/position = Vector3(-1.83022, -6.67107, 3.18901)
|
||||
bones/31/position = Vector3(-7.29038, -6.72226, -0.133983)
|
||||
bones/31/rotation = Quaternion(-0.453784, 0.542292, 0.542291, -0.453784)
|
||||
bones/31/scale = Vector3(1, 1, 1)
|
||||
bones/32/name = "heelIK_R"
|
||||
bones/32/parent = -1
|
||||
bones/32/rest = Transform3D(-0.16376, 1.63913e-06, -0.9865, 0.9865, 1.19209e-07, -0.16376, -8.9407e-08, -1, -1.66893e-06, -1.91204, -13.5859, -3.56646)
|
||||
bones/32/enabled = true
|
||||
bones/32/position = Vector3(-2.70148, -11.5541, -6.03943)
|
||||
bones/32/rotation = Quaternion(0.457231, 0.539389, -0.539388, -0.45723)
|
||||
bones/32/position = Vector3(-6.21519, -12.0654, -3.61992)
|
||||
bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893)
|
||||
bones/32/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"]
|
||||
transform = Transform3D(-0.316562, -0.00667414, -0.948549, -0.615674, -0.759278, 0.210813, -0.721618, 0.650733, 0.236249, -0.0878583, 11.0923, 6.15032)
|
||||
transform = Transform3D(-0.293698, -0.0788206, -0.952643, -0.329456, -0.927185, 0.178285, -0.897329, 0.366217, 0.246345, -1.66491, 8.29115, 4.94893)
|
||||
bone_name = "TOP OF SKULL"
|
||||
bone_idx = 8
|
||||
|
||||
@@ -2972,7 +2972,7 @@ mesh = SubResource("ArrayMesh_5ew54")
|
||||
skin = SubResource("Skin_e330f")
|
||||
|
||||
[node name="BoneAttachment3D2" type="BoneAttachment3D" parent="Armature/Skeleton3D"]
|
||||
transform = Transform3D(0.0410828, -0.148389, -0.988074, -0.125662, -0.981824, 0.142226, -0.991221, 0.118321, -0.0589835, -5.64809, 0.693097, -1.34025)
|
||||
transform = Transform3D(-0.0452505, 0.0224977, -0.998721, -0.0856976, -0.996147, -0.0185572, -0.995291, 0.0847493, 0.0470038, -6.19067, -1.29717, -0.148127)
|
||||
bone_name = "hand_R"
|
||||
bone_idx = 18
|
||||
|
||||
@@ -2998,7 +2998,7 @@ collision_layer = 64
|
||||
collision_mask = 64
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 9.48575e-13, 0, -9.48575e-13, 1, -7.88159, 21.7793, 1.24603)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 9.48575e-13, 0, -9.48575e-13, 1, -7.88159, 23.3614, 1.24603)
|
||||
shape = SubResource("BoxShape3D_pmgg3")
|
||||
disabled = true
|
||||
|
||||
|
||||
@@ -538,7 +538,7 @@ public partial class Game : Node3D, IGame
|
||||
_player.Inventory.Remove(item);
|
||||
}
|
||||
|
||||
private void MovePlayer(Transform3D spawnPoint) => _player.TeleportPlayer(spawnPoint);
|
||||
private void MovePlayer((Vector3 Rotation, Vector3 Position) spawnPoint) => _player.TeleportPlayer(spawnPoint);
|
||||
|
||||
private void OnNewGame()
|
||||
{
|
||||
|
||||
@@ -208,7 +208,7 @@ public class EffectService
|
||||
var roomsGodotCollection = new Godot.Collections.Array<MonsterRoom>(validRooms);
|
||||
var randomRoom = roomsGodotCollection.PickRandom();
|
||||
var spawnPoint = randomRoom.PlayerSpawn;
|
||||
player.TeleportPlayer(spawnPoint.Transform);
|
||||
player.TeleportPlayer((spawnPoint.Rotation, spawnPoint.Position));
|
||||
SfxDatabase.Instance.Play(SoundEffect.TeleportToRandomRoom);
|
||||
}
|
||||
|
||||
@@ -232,7 +232,7 @@ public class EffectService
|
||||
if (exitRoom.PlayerDiscoveredRoom)
|
||||
{
|
||||
SfxDatabase.Instance.Play(SoundEffect.TeleportToExit);
|
||||
player.TeleportPlayer(exitRoom.PlayerSpawn.Transform);
|
||||
player.TeleportPlayer((exitRoom.PlayerSpawn.Rotation, exitRoom.PlayerSpawn.Position));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ public interface IMap : INode3D
|
||||
|
||||
IDungeonFloor CurrentFloor { get; }
|
||||
|
||||
Transform3D GetPlayerSpawnPosition();
|
||||
(Vector3 Rotation, Vector3 Position) GetPlayerSpawnPosition();
|
||||
|
||||
IDungeonRoom GetPlayersCurrentRoom();
|
||||
|
||||
@@ -24,7 +24,7 @@ public interface IMap : INode3D
|
||||
|
||||
public AutoProp<int> CurrentFloorNumber { get; }
|
||||
|
||||
public event Action<Transform3D> SpawnPointCreated;
|
||||
public event Action<(Vector3 Rotation, Vector3 Position)> SpawnPointCreated;
|
||||
|
||||
public event Action FloorLoaded;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ public partial class Map : Node3D, IMap
|
||||
|
||||
private readonly string _floorFilePath = @"res://src/map/dungeon/floors/";
|
||||
|
||||
public event Action<Transform3D> SpawnPointCreated;
|
||||
public event Action<(Vector3 Rotation, Vector3 Position)> SpawnPointCreated;
|
||||
|
||||
public event Action FloorLoaded;
|
||||
|
||||
@@ -49,7 +49,11 @@ public partial class Map : Node3D, IMap
|
||||
return playersRoom;
|
||||
}
|
||||
|
||||
public Transform3D GetPlayerSpawnPosition() => CurrentFloor.GetPlayerSpawnPoint();
|
||||
public (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPosition()
|
||||
{
|
||||
var spawnPoint = CurrentFloor.GetPlayerSpawnPoint();
|
||||
return (spawnPoint.Rotation, spawnPoint.Position);
|
||||
}
|
||||
|
||||
public async Task LoadFloor()
|
||||
{
|
||||
@@ -75,7 +79,7 @@ public partial class Map : Node3D, IMap
|
||||
{
|
||||
AnimationPlayer.CallDeferred(AnimationPlayer.MethodName.Play, "fade_out");
|
||||
CurrentFloor?.CallDeferred(MethodName.QueueFree, []);
|
||||
SpawnPointCreated?.Invoke(new Transform3D(Basis.Identity, new Vector3(-999, -999, -999)));
|
||||
SpawnPointCreated?.Invoke((Vector3.Forward, new Vector3(-999, -999, -999)));
|
||||
}
|
||||
|
||||
private void InitializeFloor(Node newFloor)
|
||||
|
||||
@@ -76,13 +76,13 @@ libraries = {
|
||||
[node name="MapOrder" type="Node" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Overworld" type="Node" parent="MapOrder"]
|
||||
script = ExtResource("3_v14r0")
|
||||
|
||||
[node name="Altar" type="Node" parent="MapOrder"]
|
||||
script = ExtResource("3_v14r0")
|
||||
FloorName = 1
|
||||
|
||||
[node name="Overworld" type="Node" parent="MapOrder"]
|
||||
script = ExtResource("3_v14r0")
|
||||
|
||||
[node name="Floor01" type="Node" parent="MapOrder"]
|
||||
script = ExtResource("2_00xd7")
|
||||
FolderName = "Floor01"
|
||||
|
||||
@@ -54,5 +54,6 @@ public partial class Altar : Node3D, IDungeonFloor
|
||||
|
||||
public void ExitReached() => Game.FloorExitReached();
|
||||
public void InitializeDungeon() { return; }
|
||||
public Transform3D GetPlayerSpawnPoint() { return new Transform3D(PlayerSpawnPoint.Basis, new Vector3(PlayerSpawnPoint.GlobalPosition.X, -3, PlayerSpawnPoint.GlobalPosition.Z)); }
|
||||
|
||||
public (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() { return (PlayerSpawnPoint.Rotation, new Vector3(PlayerSpawnPoint.GlobalPosition.X, 0, PlayerSpawnPoint.GlobalPosition.Z)); }
|
||||
}
|
||||
|
||||
@@ -33,44 +33,44 @@ public partial class BossRoomA : Node3D, IBossRoom, IDungeonFloor
|
||||
|
||||
public void OnReady()
|
||||
{
|
||||
ActivateTrap.BodyEntered += ActivateTrap_BodyEntered;
|
||||
_exit.AreaEntered += Exit_AreaEntered;
|
||||
OxFace.HealthComponent.HealthReachedZero += CheckForBossFightEnd;
|
||||
HorseHead.HealthComponent.HealthReachedZero += CheckForBossFightEnd;
|
||||
ActivateTrap.BodyEntered += ActivateTrap_BodyEntered;
|
||||
_exit.AreaEntered += Exit_AreaEntered;
|
||||
OxFace.HealthComponent.HealthReachedZero += CheckForBossFightEnd;
|
||||
HorseHead.HealthComponent.HealthReachedZero += CheckForBossFightEnd;
|
||||
}
|
||||
|
||||
private void ActivateTrap_BodyEntered(Node3D body)
|
||||
{
|
||||
ActivateTrap.BodyEntered -= ActivateTrap_BodyEntered;
|
||||
StartBossFight();
|
||||
ActivateTrap.BodyEntered -= ActivateTrap_BodyEntered;
|
||||
StartBossFight();
|
||||
}
|
||||
|
||||
public void StartBossFight()
|
||||
{
|
||||
OxFaceStatue.Hide();
|
||||
HorseHeadStatue.Hide();
|
||||
OxFace.StartFight();
|
||||
HorseHead.StartFight();
|
||||
OxFaceStatue.Hide();
|
||||
HorseHeadStatue.Hide();
|
||||
OxFace.StartFight();
|
||||
HorseHead.StartFight();
|
||||
}
|
||||
|
||||
private void CheckForBossFightEnd()
|
||||
{
|
||||
if (OxFace.HealthComponent.CurrentHP.Value <= 0 && HorseHead.HealthComponent.CurrentHP.Value <= 0)
|
||||
OnBossFightEnded();
|
||||
if (OxFace.HealthComponent.CurrentHP.Value <= 0 && HorseHead.HealthComponent.CurrentHP.Value <= 0)
|
||||
OnBossFightEnded();
|
||||
}
|
||||
|
||||
public void OnBossFightEnded()
|
||||
{
|
||||
BossDoor.CallDeferred(MethodName.QueueFree);
|
||||
BossDoor.CallDeferred(MethodName.QueueFree);
|
||||
}
|
||||
|
||||
public void ExitReached()
|
||||
=> Game.FloorExitReached();
|
||||
=> Game.FloorExitReached();
|
||||
|
||||
private void Exit_AreaEntered(Area3D area)
|
||||
{
|
||||
if (area.GetOwner() is IPlayer)
|
||||
ExitReached();
|
||||
if (area.GetOwner() is IPlayer)
|
||||
ExitReached();
|
||||
}
|
||||
|
||||
public void InitializeDungeon()
|
||||
@@ -78,5 +78,5 @@ public partial class BossRoomA : Node3D, IBossRoom, IDungeonFloor
|
||||
|
||||
}
|
||||
|
||||
public Transform3D GetPlayerSpawnPoint() => new Transform3D(PlayerSpawn.GlobalBasis, new Vector3(PlayerSpawn.GlobalPosition.X, -2.5f, PlayerSpawn.GlobalPosition.Z));
|
||||
public (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() { return (PlayerSpawn.Rotation, new Vector3(PlayerSpawn.GlobalPosition.X, -2.5f, PlayerSpawn.GlobalPosition.Z)); }
|
||||
}
|
||||
|
||||
@@ -55,5 +55,5 @@ public partial class BossRoomB : Node3D, IBossRoom, IDungeonFloor
|
||||
ExitReached();
|
||||
}
|
||||
|
||||
public Transform3D GetPlayerSpawnPoint() => new Transform3D(PlayerSpawn.Basis, new Vector3(PlayerSpawn.Position.X, 0f, PlayerSpawn.Position.Z));
|
||||
public (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() { return (PlayerSpawn.Rotation, new Vector3(PlayerSpawn.GlobalPosition.X, 0, PlayerSpawn.GlobalPosition.Z)); }
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ public partial class DungeonFloor : Node3D, IDungeonFloor
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
private Transform3D _playerSpawnPoint;
|
||||
private Marker3D _playerSpawnPoint;
|
||||
|
||||
public ImmutableList<IDungeonRoom> Rooms { get; private set; }
|
||||
|
||||
@@ -20,59 +20,60 @@ public partial class DungeonFloor : Node3D, IDungeonFloor
|
||||
|
||||
public void InitializeDungeon()
|
||||
{
|
||||
Rooms = [];
|
||||
Rooms = FindAllDungeonRooms([.. GetChildren()], Rooms);
|
||||
_playerSpawnPoint = RandomizePlayerSpawnPoint();
|
||||
Rooms = [];
|
||||
Rooms = FindAllDungeonRooms([.. GetChildren()], Rooms);
|
||||
_playerSpawnPoint = RandomizePlayerSpawnPoint();
|
||||
}
|
||||
|
||||
public void SpawnEnemies(DungeonFloorNode floorNode)
|
||||
{
|
||||
var enemyOdds = new Godot.Collections.Dictionary<EnemyType, float>
|
||||
{
|
||||
{ EnemyType.Sproingy, floorNode.Sproingy },
|
||||
{ EnemyType.Michael, floorNode.Michael },
|
||||
{ EnemyType.FilthEater, floorNode.FilthEater },
|
||||
{ EnemyType.Sara, floorNode.Sara },
|
||||
{ EnemyType.Ballos, floorNode.Ballos },
|
||||
{ EnemyType.Chariot, floorNode.Chariot },
|
||||
{ EnemyType.Chinthe, floorNode.Chinthe },
|
||||
{ EnemyType.AmbassadorGreen, floorNode.GreenAmbassador },
|
||||
{ EnemyType.AmbassadorRed, floorNode.RedAmbassador },
|
||||
{ EnemyType.AmbassadorSteel, floorNode.SteelAmbassador },
|
||||
{ EnemyType.AgniDemon, floorNode.AgniDemon },
|
||||
{ EnemyType.AqueousDemon, floorNode.AqueosDemon },
|
||||
{ EnemyType.Palan, floorNode.Palan },
|
||||
{ EnemyType.ShieldOfHeaven, floorNode.ShieldOfHeaven },
|
||||
{ EnemyType.GoldSproingy, floorNode.GoldSproingy },
|
||||
};
|
||||
var monsterRooms = Rooms.OfType<MonsterRoom>();
|
||||
foreach (var room in monsterRooms)
|
||||
room.SpawnEnemies(enemyOdds);
|
||||
var enemyOdds = new Godot.Collections.Dictionary<EnemyType, float>
|
||||
{
|
||||
{ EnemyType.Sproingy, floorNode.Sproingy },
|
||||
{ EnemyType.Michael, floorNode.Michael },
|
||||
{ EnemyType.FilthEater, floorNode.FilthEater },
|
||||
{ EnemyType.Sara, floorNode.Sara },
|
||||
{ EnemyType.Ballos, floorNode.Ballos },
|
||||
{ EnemyType.Chariot, floorNode.Chariot },
|
||||
{ EnemyType.Chinthe, floorNode.Chinthe },
|
||||
{ EnemyType.AmbassadorGreen, floorNode.GreenAmbassador },
|
||||
{ EnemyType.AmbassadorRed, floorNode.RedAmbassador },
|
||||
{ EnemyType.AmbassadorSteel, floorNode.SteelAmbassador },
|
||||
{ EnemyType.AgniDemon, floorNode.AgniDemon },
|
||||
{ EnemyType.AqueousDemon, floorNode.AqueosDemon },
|
||||
{ EnemyType.Palan, floorNode.Palan },
|
||||
{ EnemyType.ShieldOfHeaven, floorNode.ShieldOfHeaven },
|
||||
{ EnemyType.GoldSproingy, floorNode.GoldSproingy },
|
||||
};
|
||||
var monsterRooms = Rooms.OfType<MonsterRoom>();
|
||||
foreach (var room in monsterRooms)
|
||||
room.SpawnEnemies(enemyOdds);
|
||||
}
|
||||
|
||||
public Transform3D GetPlayerSpawnPoint() => new Transform3D(_playerSpawnPoint.Basis, new Vector3(_playerSpawnPoint.Origin.X, 0f, _playerSpawnPoint.Origin.Z));
|
||||
public (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() { return (_playerSpawnPoint.Rotation, new Vector3(_playerSpawnPoint.GlobalPosition.X, -2.5f, _playerSpawnPoint.GlobalPosition.Z)); }
|
||||
|
||||
private Transform3D RandomizePlayerSpawnPoint()
|
||||
|
||||
private Marker3D RandomizePlayerSpawnPoint()
|
||||
{
|
||||
var randomSpawnLocations = Rooms
|
||||
.OfType<MonsterRoom>()
|
||||
.Select(x => x.PlayerSpawn);
|
||||
var godotCollection = new Godot.Collections.Array<Marker3D>(randomSpawnLocations);
|
||||
var result = godotCollection.PickRandom();
|
||||
return result.GlobalTransform;
|
||||
var randomSpawnLocations = Rooms
|
||||
.OfType<MonsterRoom>()
|
||||
.Select(x => x.PlayerSpawn);
|
||||
var godotCollection = new Godot.Collections.Array<Marker3D>(randomSpawnLocations);
|
||||
var result = godotCollection.PickRandom();
|
||||
return result;
|
||||
}
|
||||
|
||||
private static ImmutableList<IDungeonRoom> FindAllDungeonRooms(List<Node> nodesToSearch, ImmutableList<IDungeonRoom> roomsFound)
|
||||
{
|
||||
if (nodesToSearch.Count == 0)
|
||||
return roomsFound;
|
||||
if (nodesToSearch.Count == 0)
|
||||
return roomsFound;
|
||||
|
||||
foreach (var node in nodesToSearch)
|
||||
{
|
||||
if (node is IDungeonRoom dungeonRoom)
|
||||
roomsFound = roomsFound.Add(dungeonRoom);
|
||||
}
|
||||
foreach (var node in nodesToSearch)
|
||||
{
|
||||
if (node is IDungeonRoom dungeonRoom)
|
||||
roomsFound = roomsFound.Add(dungeonRoom);
|
||||
}
|
||||
|
||||
return FindAllDungeonRooms([.. nodesToSearch.SelectMany(x => x.GetChildren())], roomsFound);
|
||||
return FindAllDungeonRooms([.. nodesToSearch.SelectMany(x => x.GetChildren())], roomsFound);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,50 +28,51 @@ public partial class Overworld : Node3D, IDungeonFloor
|
||||
|
||||
public void InitializeDungeon()
|
||||
{
|
||||
Show();
|
||||
Exit.AreaEntered += Exit_AreaEntered;
|
||||
RestoreArea.AreaEntered += RestoreArea_AreaEntered;
|
||||
RestoreArea.AreaExited += RestoreArea_AreaExited;
|
||||
RestoreTimer = new Timer();
|
||||
RestoreTimer.WaitTime = 0.3f;
|
||||
RestoreTimer.Timeout += RestoreTimer_Timeout;
|
||||
AddChild(RestoreTimer);
|
||||
FloorIsLoaded = true;
|
||||
Show();
|
||||
Exit.AreaEntered += Exit_AreaEntered;
|
||||
RestoreArea.AreaEntered += RestoreArea_AreaEntered;
|
||||
RestoreArea.AreaExited += RestoreArea_AreaExited;
|
||||
RestoreTimer = new Timer();
|
||||
RestoreTimer.WaitTime = 0.3f;
|
||||
RestoreTimer.Timeout += RestoreTimer_Timeout;
|
||||
AddChild(RestoreTimer);
|
||||
FloorIsLoaded = true;
|
||||
}
|
||||
|
||||
private void RestoreTimer_Timeout()
|
||||
{
|
||||
if (!Player.HealthComponent.AtFullHealth)
|
||||
Player.HealthComponent.Heal(1);
|
||||
if (!Player.VTComponent.AtFullVT)
|
||||
Player.VTComponent.Restore(1);
|
||||
if (!Player.HealthComponent.AtFullHealth)
|
||||
Player.HealthComponent.Heal(1);
|
||||
if (!Player.VTComponent.AtFullVT)
|
||||
Player.VTComponent.Restore(1);
|
||||
}
|
||||
|
||||
private void RestoreArea_AreaExited(Area3D area)
|
||||
{
|
||||
if (area.GetOwner() is IPlayer)
|
||||
{
|
||||
RestoreTimer.Stop();
|
||||
Player.SetHealthTimerStatus(true);
|
||||
}
|
||||
if (area.GetOwner() is IPlayer)
|
||||
{
|
||||
RestoreTimer.Stop();
|
||||
Player.SetHealthTimerStatus(true);
|
||||
}
|
||||
}
|
||||
|
||||
private void RestoreArea_AreaEntered(Area3D area)
|
||||
{
|
||||
if (area.GetOwner() is IPlayer)
|
||||
{
|
||||
RestoreTimer.Start();
|
||||
Player.SetHealthTimerStatus(false);
|
||||
}
|
||||
if (area.GetOwner() is IPlayer)
|
||||
{
|
||||
RestoreTimer.Start();
|
||||
Player.SetHealthTimerStatus(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void Exit_AreaEntered(Area3D area)
|
||||
{
|
||||
if (area.GetOwner() is IPlayer)
|
||||
ExitReached();
|
||||
if (area.GetOwner() is IPlayer)
|
||||
ExitReached();
|
||||
}
|
||||
|
||||
public void ExitReached() => Game.FloorExitReached();
|
||||
|
||||
public Transform3D GetPlayerSpawnPoint() => new Transform3D(PlayerSpawnPoint.Basis, new Vector3(PlayerSpawnPoint.GlobalPosition.X, 2.4f, PlayerSpawnPoint.GlobalPosition.Z));
|
||||
public (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() { return (PlayerSpawnPoint.Rotation, new Vector3(PlayerSpawnPoint.GlobalPosition.X, 2.4f, PlayerSpawnPoint.GlobalPosition.Z)); }
|
||||
|
||||
}
|
||||
|
||||
@@ -16,10 +16,11 @@ public partial class SpecialFloor : Node3D, IDungeonFloor
|
||||
|
||||
public void InitializeDungeon()
|
||||
{
|
||||
FloorIsLoaded = true;
|
||||
FloorIsLoaded = true;
|
||||
}
|
||||
|
||||
public bool FloorIsLoaded { get; set; }
|
||||
|
||||
public Transform3D GetPlayerSpawnPoint() => PlayerSpawn.GlobalTransform;
|
||||
public (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() => (PlayerSpawn.Rotation, PlayerSpawn.Position);
|
||||
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1416,7 +1416,7 @@ transform = Transform3D(1, 0, 3.55271e-15, 0, 1, 0, -3.55271e-15, 0, 1, 10.2518,
|
||||
|
||||
[node name="OxFace" parent="Bosses/OxFace" instance=ExtResource("27_g6y6v")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 3.55271e-15, 0, 1, 0, -3.55271e-15, 0, 1, 10.5263, -1.96946, -2.35483)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5263, -2.15637, -2.35483)
|
||||
visible = false
|
||||
InitialHP = 125
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
[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"]
|
||||
[ext_resource type="AudioStream" uid="uid://ym4ur8a2qxhp" path="res://src/audio/AMB/amb_perlin.wav" id="2_wbbo3"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7wxddjx3qw5o" path="res://src/audio/AMB/amb_white_noise.wav" id="3_c2gp5"]
|
||||
[ext_resource type="AudioStream" uid="uid://ddii3pi8x75xc" path="res://src/audio/AMB/amb_beach.wav" id="3_pvi8n"]
|
||||
[ext_resource type="AudioStream" uid="uid://dqmsaok6fyhe7" path="res://src/audio/AMB/amb_perlin.wav" id="2_wbbo3"]
|
||||
[ext_resource type="AudioStream" uid="uid://dl07vg00se7hd" path="res://src/audio/AMB/amb_white_noise.wav" id="3_c2gp5"]
|
||||
[ext_resource type="AudioStream" uid="uid://boypvgaweep8a" path="res://src/audio/AMB/amb_beach.wav" id="3_pvi8n"]
|
||||
[ext_resource type="Texture2D" uid="uid://w33fr6exryiy" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_37.png" id="3_uyygh"]
|
||||
[ext_resource type="Texture2D" uid="uid://dv10yaqvp3mub" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_71.png" id="4_r8r3k"]
|
||||
[ext_resource type="Shader" uid="uid://brhf7s3riyag5" path="res://src/map/map shaders/Metal.gdshader" id="5_d1qcb"]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cp0er3xxxjkr5"
|
||||
path="res://.godot/imported/a2-puer_AREA_2_MAIN_222STONE.png-139f243ac630853348798dfe584da1e0.ctex"
|
||||
path="res://.godot/imported/A2-Puer_AREA_2_MAIN_222STONE.png-992459ef9849c39922a9b9e0c7774a4a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_AREA_2_MAIN_222STONE.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_AREA_2_MAIN_222STONE.png-139f243ac630853348798dfe584da1e0.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_AREA_2_MAIN_222STONE.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_AREA_2_MAIN_222STONE.png-992459ef9849c39922a9b9e0c7774a4a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://5r16swvuqjjg"
|
||||
path="res://.godot/imported/a2-puer_AREA_2_MAIN_STONE.png-986249227e569ea1e40b4825b7f05c47.ctex"
|
||||
path="res://.godot/imported/A2-Puer_AREA_2_MAIN_STONE.png-2267bd7e464cdc2e03c8954de01941bf.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_AREA_2_MAIN_STONE.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_AREA_2_MAIN_STONE.png-986249227e569ea1e40b4825b7f05c47.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_AREA_2_MAIN_STONE.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_AREA_2_MAIN_STONE.png-2267bd7e464cdc2e03c8954de01941bf.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cvnpxln2mmtkp"
|
||||
path="res://.godot/imported/a2-puer_COLUMN_WHITE.png-0b80d510851319464b2ef729d8868892.ctex"
|
||||
path="res://.godot/imported/A2-Puer_COLUMN_WHITE.png-18037c22b966bb159d05cb7acac1bc53.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_COLUMN_WHITE.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_COLUMN_WHITE.png-0b80d510851319464b2ef729d8868892.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_COLUMN_WHITE.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_COLUMN_WHITE.png-18037c22b966bb159d05cb7acac1bc53.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://tjtjbktl51kd"
|
||||
path="res://.godot/imported/a2-puer_GREENBIT.png-e1ed395f917a2fe57ed6288185af0729.ctex"
|
||||
path="res://.godot/imported/A2-Puer_GREENBIT.png-40a9ca6a0efc569a5f329f19b3c3e572.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_GREENBIT.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_GREENBIT.png-e1ed395f917a2fe57ed6288185af0729.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_GREENBIT.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_GREENBIT.png-40a9ca6a0efc569a5f329f19b3c3e572.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dqfdyguq83bhs"
|
||||
path="res://.godot/imported/a2-puer_M13_14.png-ed8b29b0af1c2b973bfaee62e57cab14.ctex"
|
||||
path="res://.godot/imported/A2-Puer_M13_14.png-e781478f15895763a566a64ff37db311.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_M13_14.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_M13_14.png-ed8b29b0af1c2b973bfaee62e57cab14.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_M13_14.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_M13_14.png-e781478f15895763a566a64ff37db311.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dorqwrqy03rim"
|
||||
path="res://.godot/imported/a2-puer_M13_49.png-86429b5a3cd80a9159f32ded99a631bc.ctex"
|
||||
path="res://.godot/imported/A2-Puer_M13_49.png-44faadb5ae300e9ecea145cfe1949536.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_M13_49.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_M13_49.png-86429b5a3cd80a9159f32ded99a631bc.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_M13_49.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_M13_49.png-44faadb5ae300e9ecea145cfe1949536.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://nl3bwenfa8fi"
|
||||
path="res://.godot/imported/a2-puer_RUBBLE_1.png-c7185e2aad2613007d1951f1515ef882.ctex"
|
||||
path="res://.godot/imported/A2-Puer_RUBBLE_1.png-72d7ff861d1df58d800502546da8d607.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_RUBBLE_1.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_RUBBLE_1.png-c7185e2aad2613007d1951f1515ef882.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_RUBBLE_1.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_RUBBLE_1.png-72d7ff861d1df58d800502546da8d607.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://0p6suo7fpxum"
|
||||
path="res://.godot/imported/a2-puer_STUCCO_DECAL_BIG.png-882b477f490f6ddbf5bffb3a6f8904e1.ctex"
|
||||
path="res://.godot/imported/A2-Puer_STUCCO_DECAL_BIG.png-015d9f8dd06372231a1f422979d3604e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_STUCCO_DECAL_BIG.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_STUCCO_DECAL_BIG.png-882b477f490f6ddbf5bffb3a6f8904e1.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_STUCCO_DECAL_BIG.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_STUCCO_DECAL_BIG.png-015d9f8dd06372231a1f422979d3604e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ct3mkni0v0y3g"
|
||||
path="res://.godot/imported/a2-puer_Tile 4.png-9d089a32db3fc38a0c5dee6cdb6d3495.ctex"
|
||||
path="res://.godot/imported/A2-Puer_Tile 4.png-0cfd085ec5fcea35eb2d1373e4717f77.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_Tile 4.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_Tile 4.png-9d089a32db3fc38a0c5dee6cdb6d3495.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_Tile 4.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_Tile 4.png-0cfd085ec5fcea35eb2d1373e4717f77.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b40fbcriycpp5"
|
||||
path="res://.godot/imported/a2-puer_imag2esnormal.jpg-d6e063b2785344af34fa3bb45d47aa2f.ctex"
|
||||
path="res://.godot/imported/A2-Puer_imag2esnormal.jpg-be023c8af9ff59eedfb3ede232c75195.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_imag2esnormal.jpg"
|
||||
dest_files=["res://.godot/imported/a2-puer_imag2esnormal.jpg-d6e063b2785344af34fa3bb45d47aa2f.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_imag2esnormal.jpg"
|
||||
dest_files=["res://.godot/imported/A2-Puer_imag2esnormal.jpg-be023c8af9ff59eedfb3ede232c75195.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b25r6gysyhu3e"
|
||||
path="res://.godot/imported/a2-puer_inner_rock2.png-943622742770f7b55d1e40645d07d057.ctex"
|
||||
path="res://.godot/imported/A2-Puer_inner_rock2.png-7c99975de214e5dddd3507f87212b910.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_inner_rock2.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_inner_rock2.png-943622742770f7b55d1e40645d07d057.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_inner_rock2.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_inner_rock2.png-7c99975de214e5dddd3507f87212b910.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cw4hq3kofjowa"
|
||||
path="res://.godot/imported/a2-puer_lime_hand_relief.png-85b73e808337e8b8841453cbda0e78cd.ctex"
|
||||
path="res://.godot/imported/A2-Puer_lime_hand_relief.png-825857ea33249fe0361c829ba37bbfdb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_lime_hand_relief.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_lime_hand_relief.png-85b73e808337e8b8841453cbda0e78cd.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_lime_hand_relief.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_lime_hand_relief.png-825857ea33249fe0361c829ba37bbfdb.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqrsde28o867s"
|
||||
path="res://.godot/imported/a2-puer_mother_GREEN.png-7bb7d8dd57027953ba1e08ed0c256c8b.ctex"
|
||||
path="res://.godot/imported/A2-Puer_mother_GREEN.png-ba1f3d21981ed19fc5cc87868e04808c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_mother_GREEN.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_mother_GREEN.png-7bb7d8dd57027953ba1e08ed0c256c8b.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_mother_GREEN.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_mother_GREEN.png-ba1f3d21981ed19fc5cc87868e04808c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://4aq3a26dliyg"
|
||||
path="res://.godot/imported/a2-puer_swirled_column _AREA222.png-6f90c188eae5b7e81110f39984d5d43f.ctex"
|
||||
path="res://.godot/imported/A2-Puer_swirled_column _AREA222.png-4842b180cffdbc0274ecb9cbbbbc8221.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_swirled_column _AREA222.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_swirled_column _AREA222.png-6f90c188eae5b7e81110f39984d5d43f.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_swirled_column _AREA222.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_swirled_column _AREA222.png-4842b180cffdbc0274ecb9cbbbbc8221.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user