Add Special Rooms class
This commit is contained in:
25
Zennysoft.Game.Ma/src/map/dungeon/code/SpecialFloor.cs
Normal file
25
Zennysoft.Game.Ma/src/map/dungeon/code/SpecialFloor.cs
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
using Chickensoft.AutoInject;
|
||||||
|
using Chickensoft.Introspection;
|
||||||
|
using Godot;
|
||||||
|
using System.Collections.Immutable;
|
||||||
|
|
||||||
|
namespace Zennysoft.Game.Ma;
|
||||||
|
|
||||||
|
[Meta(typeof(IAutoNode))]
|
||||||
|
public partial class SpecialFloor : Node3D, IDungeonFloor
|
||||||
|
{
|
||||||
|
public override void _Notification(int what) => this.Notify(what);
|
||||||
|
|
||||||
|
[Node] private Marker3D PlayerSpawn { get; set; } = default!;
|
||||||
|
|
||||||
|
public ImmutableList<IDungeonRoom> Rooms => [];
|
||||||
|
|
||||||
|
public void InitializeDungeon()
|
||||||
|
{
|
||||||
|
FloorIsLoaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool FloorIsLoaded { get; set; }
|
||||||
|
|
||||||
|
public Transform3D GetPlayerSpawnPoint() => PlayerSpawn.GlobalTransform;
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://xd6tx3lifebl
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
[gd_scene load_steps=18 format=3 uid="uid://dttk7gis5ibge"]
|
[gd_scene load_steps=18 format=3 uid="uid://dttk7gis5ibge"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_7ld5y"]
|
[ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_gtn7m"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dcyriq5bejtdj" path="res://src/map/dungeon/models/Set B/30. Void Room/30_A2_VOID_ROOM_VER.2.glb" id="2_pauwa"]
|
[ext_resource type="PackedScene" uid="uid://dcyriq5bejtdj" path="res://src/map/dungeon/models/Set B/30. Void Room/30_A2_VOID_ROOM_VER.2.glb" id="2_pauwa"]
|
||||||
[ext_resource type="Shader" uid="uid://ucyntjbf812l" path="res://src/map/map shaders/VOIDSHADE.gdshader" id="3_gtn7m"]
|
[ext_resource type="Shader" path="res://src/map/map shaders/VOIDSHADE.gdshader" id="3_gtn7m"]
|
||||||
[ext_resource type="FastNoiseLite" uid="uid://c7mj06ydprexd" path="res://src/map/map shaders/noise void.tres" id="4_gtn7m"]
|
[ext_resource type="FastNoiseLite" uid="uid://c7mj06ydprexd" path="res://src/map/map shaders/noise void.tres" id="4_gtn7m"]
|
||||||
[ext_resource type="Shader" uid="uid://dra2fnoyyinii" path="res://src/map/map shaders/VOID GLASS.gdshader" id="4_rvyv7"]
|
[ext_resource type="Shader" path="res://src/map/map shaders/VOID GLASS.gdshader" id="4_rvyv7"]
|
||||||
[ext_resource type="Shader" uid="uid://bpkmgenx50vof" path="res://src/map/map shaders/VOID PORTAL.gdshader" id="5_euvyt"]
|
[ext_resource type="Shader" path="res://src/map/map shaders/VOID PORTAL.gdshader" id="5_euvyt"]
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_hths4"]
|
[sub_resource type="Gradient" id="Gradient_hths4"]
|
||||||
offsets = PackedFloat32Array(0, 0.698113, 1)
|
offsets = PackedFloat32Array(0, 0.698113, 1)
|
||||||
@@ -67,7 +67,7 @@ subdivide_width = 2
|
|||||||
subdivide_depth = 2
|
subdivide_depth = 2
|
||||||
|
|
||||||
[node name="Void Room" type="Node3D"]
|
[node name="Void Room" type="Node3D"]
|
||||||
script = ExtResource("1_7ld5y")
|
script = ExtResource("1_gtn7m")
|
||||||
|
|
||||||
[node name="Model" type="Node3D" parent="."]
|
[node name="Model" type="Node3D" parent="."]
|
||||||
|
|
||||||
@@ -91,6 +91,10 @@ skeleton = NodePath("../../..")
|
|||||||
|
|
||||||
[node name="Spawn Points" type="Node3D" parent="."]
|
[node name="Spawn Points" type="Node3D" parent="."]
|
||||||
|
|
||||||
|
[node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 7.70625, -1.18482, -27.841)
|
||||||
|
|
||||||
[node name="Room" type="Node3D" parent="."]
|
[node name="Room" type="Node3D" parent="."]
|
||||||
|
|
||||||
[node name="Minimap" type="Node3D" parent="."]
|
[node name="Minimap" type="Node3D" parent="."]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=102 format=4 uid="uid://bo20ffw2ygbks"]
|
[gd_scene load_steps=102 format=4 uid="uid://bo20ffw2ygbks"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_7wym6"]
|
[ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_j4ho3"]
|
||||||
[ext_resource type="Texture2D" uid="uid://ddrvsy7psmwig" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_DARKER_STONE_AREA_2.png" id="2_jbyuo"]
|
[ext_resource type="Texture2D" uid="uid://ddrvsy7psmwig" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_DARKER_STONE_AREA_2.png" id="2_jbyuo"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dk2cj5rcnkxnf" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_CEILING_AREA2.jpg" id="3_nadnf"]
|
[ext_resource type="Texture2D" uid="uid://dk2cj5rcnkxnf" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_CEILING_AREA2.jpg" id="3_nadnf"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bfr26em2xh1r1" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_STONE_PANEL_AREA2png.png" id="4_bb3ot"]
|
[ext_resource type="Texture2D" uid="uid://bfr26em2xh1r1" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_STONE_PANEL_AREA2png.png" id="4_bb3ot"]
|
||||||
@@ -774,7 +774,7 @@ shader_parameter/steps = 512
|
|||||||
shader_parameter/ssr_screen_fade = 0.05
|
shader_parameter/ssr_screen_fade = 0.05
|
||||||
|
|
||||||
[node name="Goddess of Guidance\'s Floor" type="Node3D"]
|
[node name="Goddess of Guidance\'s Floor" type="Node3D"]
|
||||||
script = ExtResource("1_7wym6")
|
script = ExtResource("1_j4ho3")
|
||||||
|
|
||||||
[node name="Model" type="Node3D" parent="."]
|
[node name="Model" type="Node3D" parent="."]
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[gd_scene load_steps=56 format=4 uid="uid://cyrrhoarhxlhg"]
|
[gd_scene load_steps=56 format=4 uid="uid://cyrrhoarhxlhg"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://btt02vinv3ikx" path="res://src/map/dungeon/models/Set B/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_Plane Base Color.png" id="1_er87g"]
|
[ext_resource type="Texture2D" uid="uid://btt02vinv3ikx" path="res://src/map/dungeon/models/Set B/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_Plane Base Color.png" id="1_er87g"]
|
||||||
[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_y4p12"]
|
[ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_y4p12"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bg3dxa6v6n165" path="res://src/map/dungeon/models/Set B/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_DARKER_STONE_AREA_2.png" id="2_6tqdj"]
|
[ext_resource type="Texture2D" uid="uid://bg3dxa6v6n165" path="res://src/map/dungeon/models/Set B/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_DARKER_STONE_AREA_2.png" id="2_6tqdj"]
|
||||||
[ext_resource type="Texture2D" uid="uid://ej5sfwsfjog4" path="res://src/map/dungeon/models/Set B/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_WHITE_TILE2.png" id="3_fmpqk"]
|
[ext_resource type="Texture2D" uid="uid://ej5sfwsfjog4" path="res://src/map/dungeon/models/Set B/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_WHITE_TILE2.png" id="3_fmpqk"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c7lt8mcdhr7sr" path="res://src/map/dungeon/models/Set B/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_final_sand.jpg" id="4_k7sl3"]
|
[ext_resource type="Texture2D" uid="uid://c7lt8mcdhr7sr" path="res://src/map/dungeon/models/Set B/36. Final Floor/36_A2_FINAL_FLOOR_VER.0_final_sand.jpg" id="4_k7sl3"]
|
||||||
@@ -21,25 +21,21 @@
|
|||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7o1e6"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7o1e6"]
|
||||||
resource_name = "EYE"
|
resource_name = "EYE"
|
||||||
transparency = 4
|
transparency = 4
|
||||||
shading_mode = 1
|
|
||||||
albedo_color = Color(0.906695, 0, 0.0496455, 1)
|
albedo_color = Color(0.906695, 0, 0.0496455, 1)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k34ib"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k34ib"]
|
||||||
resource_name = "MOTHER PAINT"
|
resource_name = "MOTHER PAINT"
|
||||||
transparency = 4
|
transparency = 4
|
||||||
shading_mode = 1
|
|
||||||
albedo_texture = ExtResource("1_er87g")
|
albedo_texture = ExtResource("1_er87g")
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lrrse"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lrrse"]
|
||||||
resource_name = "HORN"
|
resource_name = "HORN"
|
||||||
transparency = 4
|
transparency = 4
|
||||||
shading_mode = 1
|
|
||||||
albedo_texture = ExtResource("2_6tqdj")
|
albedo_texture = ExtResource("2_6tqdj")
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_84s5d"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_84s5d"]
|
||||||
resource_name = "HEADWEAR"
|
resource_name = "HEADWEAR"
|
||||||
transparency = 4
|
transparency = 4
|
||||||
shading_mode = 1
|
|
||||||
albedo_texture = ExtResource("3_fmpqk")
|
albedo_texture = ExtResource("3_fmpqk")
|
||||||
|
|
||||||
[sub_resource type="ArrayMesh" id="ArrayMesh_ag2gb"]
|
[sub_resource type="ArrayMesh" id="ArrayMesh_ag2gb"]
|
||||||
@@ -151,7 +147,6 @@ shadow_mesh = SubResource("ArrayMesh_ag2gb")
|
|||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_67ke0"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_67ke0"]
|
||||||
resource_name = "SAND"
|
resource_name = "SAND"
|
||||||
transparency = 4
|
transparency = 4
|
||||||
shading_mode = 1
|
|
||||||
albedo_texture = ExtResource("4_k7sl3")
|
albedo_texture = ExtResource("4_k7sl3")
|
||||||
|
|
||||||
[sub_resource type="ArrayMesh" id="ArrayMesh_vv0lm"]
|
[sub_resource type="ArrayMesh" id="ArrayMesh_vv0lm"]
|
||||||
@@ -1929,6 +1924,10 @@ skeleton = NodePath("")
|
|||||||
|
|
||||||
[node name="Spawn Points" type="Node3D" parent="."]
|
[node name="Spawn Points" type="Node3D" parent="."]
|
||||||
|
|
||||||
|
[node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -173.476, 90.0869, -1.18212)
|
||||||
|
|
||||||
[node name="Room" type="Node3D" parent="."]
|
[node name="Room" type="Node3D" parent="."]
|
||||||
|
|
||||||
[node name="Minimap" type="Node3D" parent="."]
|
[node name="Minimap" type="Node3D" parent="."]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=92 format=4 uid="uid://jha0mhct0e7i"]
|
[gd_scene load_steps=87 format=4 uid="uid://jha0mhct0e7i"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_qlntn"]
|
[ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_c8nq0"]
|
||||||
[ext_resource type="Texture2D" uid="uid://ddrvsy7psmwig" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_DARKER_STONE_AREA_2.png" id="2_nk06r"]
|
[ext_resource type="Texture2D" uid="uid://ddrvsy7psmwig" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_DARKER_STONE_AREA_2.png" id="2_nk06r"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dk2cj5rcnkxnf" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_CEILING_AREA2.jpg" id="3_aspfl"]
|
[ext_resource type="Texture2D" uid="uid://dk2cj5rcnkxnf" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_CEILING_AREA2.jpg" id="3_aspfl"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bfr26em2xh1r1" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_STONE_PANEL_AREA2png.png" id="4_gu2dn"]
|
[ext_resource type="Texture2D" uid="uid://bfr26em2xh1r1" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_STONE_PANEL_AREA2png.png" id="4_gu2dn"]
|
||||||
@@ -13,14 +13,9 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://cacij2icygje2" path="res://src/map/dungeon/models/Set B/40/Floor - ALT Goddess of Guidance mirrored_DARKER_STONE_AREA_2.png" id="13_qlntn"]
|
[ext_resource type="Texture2D" uid="uid://cacij2icygje2" path="res://src/map/dungeon/models/Set B/40/Floor - ALT Goddess of Guidance mirrored_DARKER_STONE_AREA_2.png" id="13_qlntn"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dd1jvmfs1cbbg" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_floral_single_tile.jpg" id="13_qvgr0"]
|
[ext_resource type="Texture2D" uid="uid://dd1jvmfs1cbbg" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_floral_single_tile.jpg" id="13_qvgr0"]
|
||||||
[ext_resource type="Texture2D" uid="uid://nvg6i8gbgqjv" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_angkor_mural.jpg" id="14_357qs"]
|
[ext_resource type="Texture2D" uid="uid://nvg6i8gbgqjv" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_angkor_mural.jpg" id="14_357qs"]
|
||||||
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="14_c8nq0"]
|
|
||||||
[ext_resource type="Shader" path="res://src/map/map shaders/gog spectral.gdshader" id="14_nk06r"]
|
[ext_resource type="Shader" path="res://src/map/map shaders/gog spectral.gdshader" id="14_nk06r"]
|
||||||
[ext_resource type="Shader" path="res://src/map/map shaders/spectreweapons.gdshader" id="15_aspfl"]
|
[ext_resource type="Shader" path="res://src/map/map shaders/spectreweapons.gdshader" id="15_aspfl"]
|
||||||
[ext_resource type="Shader" path="res://src/map/map shaders/GOGROOM Water.gdshader" id="16_qgq3i"]
|
[ext_resource type="Shader" path="res://src/map/map shaders/GOGROOM Water.gdshader" id="16_qgq3i"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="17_vqdg0"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bs56ccgosmu47" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn" id="18_c8nq0"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/02. michael/Michael.tscn" id="19_5bm60"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cvk007twac22c" path="res://src/enemy/enemy_types/03. filth_eater/FilthEater.tscn" id="20_q7u05"]
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q1ixl"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q1ixl"]
|
||||||
resource_name = "Material.014"
|
resource_name = "Material.014"
|
||||||
@@ -880,7 +875,7 @@ shader_parameter/steps = 512
|
|||||||
shader_parameter/ssr_screen_fade = 0.05
|
shader_parameter/ssr_screen_fade = 0.05
|
||||||
|
|
||||||
[node name="Goddess of Guidance\'s Floor" type="Node3D"]
|
[node name="Goddess of Guidance\'s Floor" type="Node3D"]
|
||||||
script = ExtResource("1_qlntn")
|
script = ExtResource("1_c8nq0")
|
||||||
|
|
||||||
[node name="Model" type="Node3D" parent="."]
|
[node name="Model" type="Node3D" parent="."]
|
||||||
|
|
||||||
@@ -971,13 +966,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -66.2332)
|
|||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.87173, -1.37707, 2.25211)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.87173, -1.37707, 2.25211)
|
||||||
|
|
||||||
[node name="ItemDatabase" parent="Spawn Points" instance=ExtResource("14_c8nq0")]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
|
|
||||||
[node name="ItemSpawnPoint" type="Marker3D" parent="Spawn Points"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -108.001, -2.05432, 2.0026)
|
|
||||||
|
|
||||||
[node name="Room" type="Node3D" parent="."]
|
[node name="Room" type="Node3D" parent="."]
|
||||||
|
|
||||||
[node name="Minimap" type="Node3D" parent="."]
|
[node name="Minimap" type="Node3D" parent="."]
|
||||||
@@ -1045,8 +1033,3 @@ transform = Transform3D(230, 0, 0, 0, 230, 0, 0, 0, 230, 0, -2.98516, 0)
|
|||||||
mesh = SubResource("PlaneMesh_slalf")
|
mesh = SubResource("PlaneMesh_slalf")
|
||||||
skeleton = NodePath("../Model/GoG Room mirrored")
|
skeleton = NodePath("../Model/GoG Room mirrored")
|
||||||
surface_material_override/0 = SubResource("ShaderMaterial_savej")
|
surface_material_override/0 = SubResource("ShaderMaterial_savej")
|
||||||
|
|
||||||
[node name="EnemyDatabase" parent="." instance=ExtResource("17_vqdg0")]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
EnemyList = Array[PackedScene]([ExtResource("18_c8nq0"), ExtResource("19_5bm60"), ExtResource("20_q7u05")])
|
|
||||||
SpawnRate = PackedFloat32Array(0.5, 1, 1)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user