New maps and chests

This commit is contained in:
Marco 2025-04-29 12:12:47 +02:00
commit 26a0f51168
28 changed files with 645 additions and 233 deletions

View file

@ -1,4 +1,4 @@
<Project Sdk="Godot.NET.Sdk/4.4.0">
<Project Sdk="Godot.NET.Sdk/4.4.1">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>

View file

@ -1,4 +1,4 @@
<Project Sdk="Godot.NET.Sdk/4.4.1">
<Project Sdk="Godot.NET.Sdk/4.4.0">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>

View file

@ -6,6 +6,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACanvasItem_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003Fe43c43ee5cdcf2c7c8ddb9366f75a76a3c61c77bf45ceac78721c269f3c360_003FCanvasItem_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACastHelpers_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003F3c92637ae2e83da0a63791071c41eae291d594156062866d8621b7ed7245c_003FCastHelpers_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACharacterBody2D_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003F23fd556cc1333e1428b66422f2ce9db97b81d8d173ceefda39d58c9b0146f2c_003FCharacterBody2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACirno_002EScripts_002EControllers_002ERogueliteRoom_005FScriptMethods_002Egenerated_002Ecs_002Fl_003AF_0021_003Ftemp_003FSourceGeneratedDocuments_003F912EB5EC64EA35C30E40DC6E_003FGodot_002ESourceGenerators_003FGodot_002ESourceGenerators_002EScriptMethodsGenerator_003FCirno_002EScripts_002EControllers_002ERogueliteRoom_005FScriptMethods_002Egenerated_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACirno_002EScripts_002EUI_002EInventoryMenu_005FScriptMethods_002Egenerated_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003F5ab35a8b9fadec7e5e6844898b6a96fc3e972d1_003FCirno_002EScripts_002EUI_002EInventoryMenu_005FScriptMethods_002Egenerated_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AContainer_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003F8146f3e3f6341957cdf79e3ab90302acaa98c2e4c60a2f098a6fcc8a2c86c7_003FContainer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADisplayServer_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003Fb3649de1ae97d21ab4b9ce638d7b8c22417e735cc934a4dabd14d96863891772_003FDisplayServer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>

View file

@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="RogueliteMapTheme" load_steps=53 format=3 uid="uid://cw6868vuvuynh"]
[gd_resource type="Resource" script_class="RogueliteMapTheme" load_steps=54 format=3 uid="uid://cw6868vuvuynh"]
[ext_resource type="Script" uid="uid://bwtif3if3ea0u" path="res://Scripts/Resources/RogueliteMapTheme.cs" id="1_2rtdw"]
[ext_resource type="Resource" uid="uid://cltxhkrqp055v" path="res://Resources/Items/Money_Pickup.tres" id="1_ae3bb"]
@ -40,6 +40,7 @@
[ext_resource type="PackedScene" uid="uid://cl7s06sk106uo" path="res://Scenes/Props/VendingMachine.tscn" id="30_exyjy"]
[ext_resource type="Resource" uid="uid://dkr4yxsgbog6m" path="res://Resources/RogueliteMaps/Factory_Large.tres" id="36_ga54h"]
[ext_resource type="Resource" uid="uid://cb7gk278lmicd" path="res://Resources/RogueliteMaps/Lab2x1_1.tres" id="37_cxv74"]
[ext_resource type="Resource" uid="uid://b8lpo4im87rx7" path="res://Resources/RogueliteMaps/Long_Factory.tres" id="38_f7mru"]
[ext_resource type="PackedScene" uid="uid://dff3lrk4srymb" path="res://Scenes/Misc/Vertical_Solid_Wall.tscn" id="40_tsgja"]
[ext_resource type="Resource" uid="uid://bdpbekqhuuq4l" path="res://Resources/Items/Shield_Extend_Pickup.tres" id="41_tsgja"]
[ext_resource type="Resource" uid="uid://ciybnocjfpshh" path="res://Resources/Items/Heart_Extend_Pickup.tres" id="42_qo6vk"]
@ -86,10 +87,10 @@ KeyCardsPrefabs = Array[PackedScene]([ExtResource("5_0lwa1"), ExtResource("6_03i
ShroudPrefab = ExtResource("43_3kwn2")
PointItemResource = ExtResource("5_ga54h")
ChestChance = 15.0
EnemyDropChance = 10.0
EnemyDropChance = 40.0
ChestLootTable = SubResource("Resource_nnvxo")
ShopLootTable = SubResource("Resource_11cll")
EnemiesLootTable = SubResource("Resource_tsgja")
WeaponsLootTable = SubResource("Resource_eegnh")
Rooms = Array[Object]([ExtResource("5_sludw"), ExtResource("6_b3pjl"), ExtResource("7_nil27"), ExtResource("8_pmfuo"), ExtResource("9_0lwa1"), ExtResource("14_rjphh"), ExtResource("15_2gg5d"), ExtResource("16_402ix"), ExtResource("17_52l5g"), ExtResource("18_gh41q"), ExtResource("19_bn1n6"), ExtResource("20_0on7r"), ExtResource("23_p3lfl"), ExtResource("24_tsgja"), ExtResource("36_ga54h"), ExtResource("37_cxv74")])
Rooms = Array[Object]([ExtResource("5_sludw"), ExtResource("6_b3pjl"), ExtResource("7_nil27"), ExtResource("8_pmfuo"), ExtResource("9_0lwa1"), ExtResource("14_rjphh"), ExtResource("15_2gg5d"), ExtResource("16_402ix"), ExtResource("17_52l5g"), ExtResource("18_gh41q"), ExtResource("19_bn1n6"), ExtResource("20_0on7r"), ExtResource("23_p3lfl"), ExtResource("24_tsgja"), ExtResource("36_ga54h"), ExtResource("37_cxv74"), ExtResource("38_f7mru")])
metadata/_custom_type_script = "uid://bwtif3if3ea0u"

View file

@ -0,0 +1,19 @@
[gd_resource type="Resource" script_class="RogueliteRoomResource" load_steps=6 format=3 uid="uid://b8lpo4im87rx7"]
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="1_cbrqn"]
[ext_resource type="Resource" uid="uid://cqfyuurvqb8m6" path="res://Resources/Enemies/Base_Fairy_Special.tres" id="2_nqflk"]
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="3_tmx3e"]
[ext_resource type="Resource" uid="uid://cfdvg162u65sr" path="res://Resources/Enemies/Thermathron.tres" id="4_mvbok"]
[ext_resource type="Script" uid="uid://bl2ne8w12e3a" path="res://Scripts/Resources/Roguelite/RogueliteRoomResource.cs" id="5_utxwr"]
[resource]
script = ExtResource("5_utxwr")
RoomName = &"Long Factory"
Type = 1
ScenePath = &"uid://b7oa5icmcetwj"
Size = Vector2i(1, 3)
StartShrouded = true
DoorGridPositions = Array[Vector2i]([Vector2i(0, -1), Vector2i(0, 1), Vector2i(1, 0), Vector2i(-1, 0)])
SpawnableEnemies = Array[Object]([ExtResource("1_cbrqn"), ExtResource("2_nqflk"), ExtResource("3_tmx3e"), ExtResource("4_mvbok")])
DoorDirections = 30
metadata/_custom_type_script = "uid://bl2ne8w12e3a"

View file

@ -71,7 +71,7 @@ metadata/_custom_type_script = "uid://cdd6q2h0t1hhq"
[sub_resource type="Resource" id="Resource_k00rh"]
script = ExtResource("12_qrag5")
BossName = &"Test"
Phases = [SubResource("Resource_uiuc5")]
Phases = Array[ExtResource("11_v2gvi")]([SubResource("Resource_uiuc5")])
metadata/_custom_type_script = "uid://inasa76li3ym"
[sub_resource type="CircleShape2D" id="CircleShape2D_5wstg"]

View file

@ -32,7 +32,6 @@ MaxBranchLength = 2
MaxKeys = 2
MaxSecrets = 1
MaxTreasures = 1
Seed = 1
[node name="CameraController" type="Camera2D" parent="."]
process_mode = 1

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=4 uid="uid://b1d8s1dyvlpea"]
[gd_scene load_steps=12 format=4 uid="uid://b1d8s1dyvlpea"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_gia43"]
[ext_resource type="Resource" uid="uid://bxvv82vno8ub1" path="res://Resources/RogueliteMaps/1x1_1.tres" id="2_gia43"]
@ -6,6 +6,8 @@
[ext_resource type="Script" uid="uid://8umfjejbkcsm" path="res://Scripts/Actors/RogueliteEnemySpawner.cs" id="5_wqvtg"]
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="6_gia43"]
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_wp2g7"]
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="7_2fric"]
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="8_tth3t"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
vertices = PackedVector2Array(166, 58, 294, 58, 294, 134, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
@ -17,10 +19,15 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rlq0q"]
size = Vector2(272, 85)
[node name="Map" type="Node2D"]
[sub_resource type="AtlasTexture" id="AtlasTexture_bl5tn"]
atlas = ExtResource("8_tth3t")
region = Rect2(0, 0, 16, 16)
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_gia43")
RoomResource = ExtResource("2_gia43")
RoomClearActivation = []
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
@ -49,18 +56,8 @@ metadata/_edit_lock_ = true
[node name="EnemySpawners" type="Node2D" parent="."]
[node name="RogueliteEnemySpawner4" type="Marker2D" parent="EnemySpawners"]
position = Vector2(91, 63)
script = ExtResource("5_wqvtg")
Enemy = ExtResource("6_gia43")
[node name="RogueliteEnemySpawner5" type="Marker2D" parent="EnemySpawners"]
position = Vector2(235, 127)
script = ExtResource("5_wqvtg")
Enemy = ExtResource("6_gia43")
[node name="RogueliteEnemySpawner6" type="Marker2D" parent="EnemySpawners"]
position = Vector2(117, 130)
position = Vector2(158, 100)
script = ExtResource("5_wqvtg")
Enemy = ExtResource("6_gia43")
@ -79,16 +76,28 @@ shape = SubResource("RectangleShape2D_rlq0q")
[node name="Features" type="Node2D" parent="."]
[node name="Marker2D" type="Marker2D" parent="Features"]
position = Vector2(71, 55)
[node name="Chest" type="Marker2D" parent="Features"]
position = Vector2(72, 56)
script = ExtResource("7_2fric")
MarkerTexture = SubResource("AtlasTexture_bl5tn")
SpawnChance = 10.0
[node name="Marker2D2" type="Marker2D" parent="Features"]
position = Vector2(296, 120)
[node name="Chest2" type="Marker2D" parent="Features"]
position = Vector2(248, 136)
script = ExtResource("7_2fric")
MarkerTexture = SubResource("AtlasTexture_bl5tn")
SpawnChance = 10.0
[node name="Marker2D3" type="Marker2D" parent="Features"]
position = Vector2(40, 119)
[node name="Chest3" type="Marker2D" parent="Features"]
position = Vector2(249, 56)
script = ExtResource("7_2fric")
MarkerTexture = SubResource("AtlasTexture_bl5tn")
SpawnChance = 10.0
[node name="Marker2D4" type="Marker2D" parent="Features"]
position = Vector2(248, 56)
[node name="Chest4" type="Marker2D" parent="Features"]
position = Vector2(56, 136)
script = ExtResource("7_2fric")
MarkerTexture = SubResource("AtlasTexture_bl5tn")
SpawnChance = 10.0
[connection signal="area_entered" from="PlayerEnterDetector" to="." method="OnRoomEntered"]

View file

@ -1,11 +1,14 @@
[gd_scene load_steps=9 format=4 uid="uid://c4hcrag27aavo"]
[gd_scene load_steps=13 format=4 uid="uid://c4hcrag27aavo"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_ay5qo"]
[ext_resource type="Resource" uid="uid://d01146n5uo0gd" path="res://Resources/RogueliteMaps/1x2_1.tres" id="2_ay5qo"]
[ext_resource type="Script" uid="uid://8umfjejbkcsm" path="res://Scripts/Actors/RogueliteEnemySpawner.cs" id="5_b8xyw"]
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_eqg76"]
[ext_resource type="Resource" uid="uid://cqfyuurvqb8m6" path="res://Resources/Enemies/Base_Fairy_Special.tres" id="6_8hj7l"]
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="6_ay5qo"]
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_upxxh"]
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="7_cjepy"]
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="8_8hj7l"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
vertices = PackedVector2Array(166, 58, 294, 58, 294, 294, 166, 294, 166, 310, 154, 310, 154, 294, 154, 58, 26, 294, 26, 58, 166, 10, 154, 10)
@ -17,10 +20,15 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4lag8"]
size = Vector2(272, 247)
[node name="Map" type="Node2D"]
[sub_resource type="AtlasTexture" id="AtlasTexture_wqh27"]
atlas = ExtResource("8_8hj7l")
region = Rect2(0, 0, 16, 16)
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_ay5qo")
RoomResource = ExtResource("2_ay5qo")
RoomClearActivation = []
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
@ -52,30 +60,30 @@ metadata/_edit_lock_ = true
[node name="RogueliteEnemySpawner4" type="Marker2D" parent="EnemySpawners"]
position = Vector2(96, 103)
script = ExtResource("5_b8xyw")
Enemy = ExtResource("6_8hj7l")
[node name="RogueliteEnemySpawner6" type="Marker2D" parent="EnemySpawners"]
position = Vector2(273.755, 115.291)
script = ExtResource("5_b8xyw")
Enemy = ExtResource("6_ay5qo")
[node name="RogueliteEnemySpawner7" type="Marker2D" parent="EnemySpawners"]
position = Vector2(58, 213)
script = ExtResource("5_b8xyw")
Enemy = ExtResource("6_ay5qo")
[node name="RogueliteEnemySpawner8" type="Marker2D" parent="EnemySpawners"]
position = Vector2(173.522, 192.864)
script = ExtResource("5_b8xyw")
Enemy = ExtResource("6_ay5qo")
[node name="RogueliteEnemySpawner9" type="Marker2D" parent="EnemySpawners"]
position = Vector2(146.865, 244.847)
script = ExtResource("5_b8xyw")
Enemy = ExtResource("6_ay5qo")
[node name="RogueliteEnemySpawner5" type="Marker2D" parent="EnemySpawners"]
position = Vector2(96, 103)
script = ExtResource("5_b8xyw")
Enemy = ExtResource("6_ay5qo")
[node name="RogueliteEnemySpawner4" type="Marker2D" parent="EnemySpawners/RogueliteEnemySpawner5"]
position = Vector2(177.755, 12.2908)
script = ExtResource("5_b8xyw")
Enemy = ExtResource("6_ay5qo")
[node name="RogueliteEnemySpawner5" type="Marker2D" parent="EnemySpawners/RogueliteEnemySpawner5"]
position = Vector2(-38, 110)
script = ExtResource("5_b8xyw")
Enemy = ExtResource("6_ay5qo")
[node name="RogueliteEnemySpawner6" type="Marker2D" parent="EnemySpawners/RogueliteEnemySpawner5"]
position = Vector2(77.5222, 89.8643)
script = ExtResource("5_b8xyw")
Enemy = ExtResource("6_ay5qo")
[node name="RogueliteEnemySpawner7" type="Marker2D" parent="EnemySpawners/RogueliteEnemySpawner5"]
position = Vector2(50.8646, 141.847)
position = Vector2(105, 56)
script = ExtResource("5_b8xyw")
Enemy = ExtResource("6_ay5qo")
@ -95,16 +103,34 @@ shape = SubResource("RectangleShape2D_4lag8")
[node name="Features" type="Node2D" parent="."]
[node name="Marker2D" type="Marker2D" parent="Features"]
position = Vector2(73, 198)
[node name="Chest" type="Marker2D" parent="Features"]
position = Vector2(75, 198)
script = ExtResource("7_cjepy")
MarkerTexture = SubResource("AtlasTexture_wqh27")
SpawnChance = 10.0
[node name="Marker2D2" type="Marker2D" parent="Features"]
[node name="Chest2" type="Marker2D" parent="Features"]
position = Vector2(71, 55)
script = ExtResource("7_cjepy")
MarkerTexture = SubResource("AtlasTexture_wqh27")
SpawnChance = 10.0
[node name="Chest3" type="Marker2D" parent="Features"]
position = Vector2(295, 71)
script = ExtResource("7_cjepy")
MarkerTexture = SubResource("AtlasTexture_wqh27")
SpawnChance = 10.0
[node name="Marker2D3" type="Marker2D" parent="Features"]
position = Vector2(280, 262)
[node name="Chest4" type="Marker2D" parent="Features"]
position = Vector2(249, 248)
script = ExtResource("7_cjepy")
MarkerTexture = SubResource("AtlasTexture_wqh27")
SpawnChance = 10.0
[node name="Marker2D4" type="Marker2D" parent="Features"]
position = Vector2(70, 54)
[node name="Chest5" type="Marker2D" parent="Features"]
position = Vector2(201, 245)
script = ExtResource("7_cjepy")
MarkerTexture = SubResource("AtlasTexture_wqh27")
SpawnChance = 10.0
[connection signal="area_entered" from="PlayerEnterDetector" to="." method="OnRoomEntered"]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=13 format=4 uid="uid://7svoss2nbksv"]
[gd_scene load_steps=16 format=4 uid="uid://7svoss2nbksv"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_ntv3p"]
[ext_resource type="Resource" uid="uid://do11fodskgasi" path="res://Resources/RogueliteMaps/RGTestRoom1.tres" id="2_ntv3p"]
@ -10,6 +10,8 @@
[ext_resource type="Script" uid="uid://8umfjejbkcsm" path="res://Scripts/Actors/RogueliteEnemySpawner.cs" id="9_wb0b4"]
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="10_76t1d"]
[ext_resource type="PackedScene" uid="uid://cqrkisw6jg24w" path="res://Scenes/Props/MainFrame1.tscn" id="10_wb0b4"]
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="11_tcpmo"]
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="12_sgpia"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
vertices = PackedVector2Array(294, 250, 294, 262, 280, 262, 104, 250, 280, 278, 248, 278, 218, 262, 248, 294, 218, 294, 166, 262, 166, 310, 154, 310, 154, 294, 136, 294, 136, 278, 40, 278, 40, 260, 57, 260, 57, 264, 104, 264, 250, 138, 294, 150, 280, 150, 184, 148, 198, 138, 250, 68, 264, 68, 264, 84, 294, 84, 184, 102, 198, 58, 166, 58, 136, 102, 280, 166, 262, 166, 262, 198, 250, 198, 250, 166, 136, 148, 72, 166, 72, 150, 40, 150, 40, 134, 70, 138, 26, 134, 26, 84, 40, 84, 40, 58, 70, 58, 122, 138, 122, 58, 154, 58, 166, 10, 154, 10)
@ -21,10 +23,15 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4lag8"]
size = Vector2(272, 247)
[node name="Map" type="Node2D"]
[sub_resource type="AtlasTexture" id="AtlasTexture_h0uip"]
atlas = ExtResource("12_sgpia")
region = Rect2(0, 0, 16, 16)
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_ntv3p")
RoomResource = ExtResource("2_ntv3p")
RoomClearActivation = []
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
@ -55,7 +62,7 @@ metadata/_edit_lock_ = true
position = Vector2(256, 224)
[node name="ControlPad" parent="Tilemaps/Actors" node_paths=PackedStringArray("Target") instance=ExtResource("7_fyclk")]
position = Vector2(48, 32)
position = Vector2(248, 34)
Target = NodePath("../HorizontalDoor")
[node name="ICCTv" parent="Tilemaps/Actors" instance=ExtResource("8_7u0ti")]
@ -101,10 +108,28 @@ shape = SubResource("RectangleShape2D_4lag8")
[node name="Features" type="Node2D" parent="."]
[node name="Marker2D" type="Marker2D" parent="Features"]
position = Vector2(41, 152)
[node name="Chest" type="Marker2D" parent="Features"]
position = Vector2(264, 55)
script = ExtResource("11_tcpmo")
MarkerTexture = SubResource("AtlasTexture_h0uip")
SpawnChance = 10.0
[node name="Marker2D2" type="Marker2D" parent="Features"]
position = Vector2(39, 280)
[node name="Chest2" type="Marker2D" parent="Features"]
position = Vector2(40, 263)
script = ExtResource("11_tcpmo")
MarkerTexture = SubResource("AtlasTexture_h0uip")
SpawnChance = 10.0
[node name="Chest3" type="Marker2D" parent="Features"]
position = Vector2(40, 152)
script = ExtResource("11_tcpmo")
MarkerTexture = SubResource("AtlasTexture_h0uip")
SpawnChance = 10.0
[node name="Chest4" type="Marker2D" parent="Features"]
position = Vector2(39, 56)
script = ExtResource("11_tcpmo")
MarkerTexture = SubResource("AtlasTexture_h0uip")
SpawnChance = 10.0
[connection signal="area_entered" from="PlayerEnterDetector" to="." method="OnRoomEntered"]

View file

@ -1,16 +1,17 @@
[gd_scene load_steps=10 format=4 uid="uid://da7hmajaaiohm"]
[gd_scene load_steps=12 format=4 uid="uid://da7hmajaaiohm"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_dm6kf"]
[ext_resource type="Resource" uid="uid://b5x83li01qrav" path="res://Resources/RogueliteMaps/TestRGMap.tres" id="2_5s4nm"]
[ext_resource type="Script" uid="uid://8umfjejbkcsm" path="res://Scripts/Actors/RogueliteEnemySpawner.cs" id="5_b5lqw"]
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_q5p8k"]
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_81nvh"]
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="6_kfj8c"]
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="6_rlq0q"]
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="7_kfj8c"]
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="8_t4u8v"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
vertices = PackedVector2Array(166, 58, 294, 58, 294, 134, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6), PackedInt32Array(0, 3, 6, 7), PackedInt32Array(6, 8, 9, 7), PackedInt32Array(10, 0, 7, 11)])
vertices = PackedVector2Array(217, 102, 217, 134, 166, 134, 120, 120, 120, 70, 154, 58, 166, 58, 265, 58, 265, 72, 264, 102, 294, 72, 294, 134, 264, 134, 166, 150, 154, 150, 154, 134, 40, 134, 73, 120, 73, 70, 40, 118, 56, 72, 26, 118, 26, 72, 56, 58, 154, 10, 166, 10)
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3, 4, 5, 6), PackedInt32Array(0, 6, 7, 8, 9), PackedInt32Array(8, 10, 11, 12, 9), PackedInt32Array(2, 13, 14, 15), PackedInt32Array(3, 2, 15), PackedInt32Array(3, 15, 16, 17), PackedInt32Array(18, 17, 16, 19, 20), PackedInt32Array(19, 21, 22, 20), PackedInt32Array(18, 20, 23, 5), PackedInt32Array(4, 18, 5), PackedInt32Array(5, 24, 25, 6)])
outlines = Array[PackedVector2Array]([PackedVector2Array(17, 36, 14, 12, 47, 15, 49, 34)])
parsed_collision_mask = 353
source_geometry_mode = 1
@ -18,10 +19,15 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rlq0q"]
size = Vector2(272, 85)
[node name="Map" type="Node2D"]
[sub_resource type="AtlasTexture" id="AtlasTexture_3qg2l"]
atlas = ExtResource("8_t4u8v")
region = Rect2(0, 0, 16, 16)
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_dm6kf")
RoomResource = ExtResource("2_5s4nm")
RoomClearActivation = []
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
@ -40,7 +46,7 @@ navigation_enabled = false
metadata/_edit_lock_ = true
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_map_data = PackedByteArray("AAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAATAAMAAAAKAA4AAAATAAQAAAAKAA8AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAA=")
tile_map_data = PackedByteArray("AAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAATAAMAAAAKAA4AAAATAAQAAAAKAA8AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAAFAAUAAQAAAAAAAQAFAAYAAQAAAAAAAQAGAAUAAQAAAAAAAQAGAAYAAQAAAAAAAQARAAMAAQAAAAAAAQASAAMAAQAAAAAAAQABAAMAAQAAAAAAAQACAAMAAQAAAAAAAQABAAgAAQAAAAAAAQAOAAcAAQAAAAAAAQAPAAcAAQAAAAAAAQA=")
tile_set = ExtResource("5_q5p8k")
navigation_enabled = false
metadata/_edit_lock_ = true
@ -50,23 +56,8 @@ metadata/_edit_lock_ = true
[node name="EnemySpawners" type="Node2D" parent="."]
[node name="RogueliteEnemySpawner" type="Marker2D" parent="EnemySpawners"]
position = Vector2(102, 67)
script = ExtResource("5_b5lqw")
Enemy = ExtResource("6_kfj8c")
[node name="RogueliteEnemySpawner2" type="Marker2D" parent="EnemySpawners"]
position = Vector2(221, 72)
script = ExtResource("5_b5lqw")
Enemy = ExtResource("6_rlq0q")
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
position = Vector2(89, 115)
script = ExtResource("5_b5lqw")
Enemy = ExtResource("6_rlq0q")
[node name="RogueliteEnemySpawner4" type="Marker2D" parent="EnemySpawners"]
position = Vector2(227, 119)
position = Vector2(198, 79)
script = ExtResource("5_b5lqw")
Enemy = ExtResource("6_rlq0q")
@ -85,16 +76,16 @@ shape = SubResource("RectangleShape2D_rlq0q")
[node name="Features" type="Node2D" parent="."]
[node name="Marker2D" type="Marker2D" parent="Features"]
position = Vector2(293, 56)
[node name="Chest" type="Marker2D" parent="Features"]
position = Vector2(296, 136)
script = ExtResource("7_kfj8c")
MarkerTexture = SubResource("AtlasTexture_3qg2l")
SpawnChance = 10.0
[node name="Marker2D2" type="Marker2D" parent="Features"]
position = Vector2(25, 135)
[node name="Marker2D3" type="Marker2D" parent="Features"]
position = Vector2(24.4554, 57.8303)
[node name="Marker2D4" type="Marker2D" parent="Features"]
position = Vector2(292, 134)
[node name="Chest2" type="Marker2D" parent="Features"]
position = Vector2(40, 135)
script = ExtResource("7_kfj8c")
MarkerTexture = SubResource("AtlasTexture_3qg2l")
SpawnChance = 10.0
[connection signal="area_entered" from="PlayerEnterDetector" to="." method="OnRoomEntered"]

View file

@ -1,12 +1,13 @@
[gd_scene load_steps=10 format=4 uid="uid://dcxrdhq1yw5c7"]
[gd_scene load_steps=12 format=4 uid="uid://dcxrdhq1yw5c7"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_cak6m"]
[ext_resource type="Resource" uid="uid://ly8l7asedjpx" path="res://Resources/RogueliteMaps/TestRGMap2.tres" id="2_cak6m"]
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="3_f7qjl"]
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="4_wtdf1"]
[ext_resource type="Script" uid="uid://8umfjejbkcsm" path="res://Scripts/Actors/RogueliteEnemySpawner.cs" id="5_f7qjl"]
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="6_wtdf1"]
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="7_hgeju"]
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="7_wtdf1"]
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="8_qe4tn"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_f7qjl"]
vertices = PackedVector2Array(186, 122, 186, 58, 294, 58, 294, 134, 166, 134, 134, 122, 166, 150, 154, 150, 154, 134, 26, 134, 26, 58, 134, 58, 166, 54, 154, 54, 154, 10, 166, 10)
@ -18,10 +19,15 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wtdf1"]
size = Vector2(272, 85)
[node name="Map" type="Node2D"]
[sub_resource type="AtlasTexture" id="AtlasTexture_sbfh4"]
atlas = ExtResource("8_qe4tn")
region = Rect2(0, 0, 16, 16)
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_cak6m")
RoomResource = ExtResource("2_cak6m")
RoomClearActivation = []
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
@ -51,18 +57,8 @@ metadata/_edit_lock_ = true
[node name="EnemySpawners" type="Node2D" parent="."]
[node name="RogueliteEnemySpawner4" type="Marker2D" parent="EnemySpawners"]
position = Vector2(109, 81)
script = ExtResource("5_f7qjl")
Enemy = ExtResource("6_wtdf1")
[node name="RogueliteEnemySpawner5" type="Marker2D" parent="EnemySpawners"]
position = Vector2(241.083, 101.736)
script = ExtResource("5_f7qjl")
Enemy = ExtResource("6_wtdf1")
[node name="RogueliteEnemySpawner6" type="Marker2D" parent="EnemySpawners"]
position = Vector2(75.6301, 120.022)
position = Vector2(201, 92)
script = ExtResource("5_f7qjl")
Enemy = ExtResource("7_wtdf1")
@ -81,10 +77,16 @@ shape = SubResource("RectangleShape2D_wtdf1")
[node name="Features" type="Node2D" parent="."]
[node name="Marker2D" type="Marker2D" parent="Features"]
position = Vector2(263, 55)
[node name="Chest" type="Marker2D" parent="Features"]
position = Vector2(281, 136)
script = ExtResource("7_hgeju")
MarkerTexture = SubResource("AtlasTexture_sbfh4")
SpawnChance = 10.0
[node name="Marker2D2" type="Marker2D" parent="Features"]
[node name="Chest2" type="Marker2D" parent="Features"]
position = Vector2(40, 135)
script = ExtResource("7_hgeju")
MarkerTexture = SubResource("AtlasTexture_sbfh4")
SpawnChance = 10.0
[connection signal="area_entered" from="PlayerEnterDetector" to="." method="OnRoomEntered"]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=4 uid="uid://bon3ay27r54tw"]
[gd_scene load_steps=12 format=4 uid="uid://bon3ay27r54tw"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_0pyb7"]
[ext_resource type="Resource" uid="uid://cb7gk278lmicd" path="res://Resources/RogueliteMaps/Lab2x1_1.tres" id="2_0pyb7"]
@ -6,6 +6,8 @@
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_xmtgx"]
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="6_0pyb7"]
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_k6m50"]
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="7_u0u4o"]
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="8_8uhw6"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_f7qjl"]
vertices = PackedVector2Array(614, 90, 614, 102, 598, 102, 312, 100, 598, 90, 280, 100, 232, 102, 218, 90, 218, 68, 248, 68, 280, 70, 248, 58, 376, 58, 376, 68, 312, 70, 422, 68, 422, 90, 474, 90, 474, 10, 486, 10, 486, 90, 522, 90, 522, 84, 552, 84, 552, 74, 598, 74, 598, 118, 522, 118, 522, 102, 486, 102, 486, 150, 474, 150, 474, 102, 422, 102, 422, 134, 408, 134, 408, 118, 377, 118, 377, 134, 344, 134, 344, 118, 312, 118, 312, 134, 280, 134, 280, 118, 232, 118, 166, 102, 166, 150, 154, 150, 154, 102, 118, 102, 118, 118, 104, 118, 104, 102, 56, 102, 56, 118, 42, 118, 42, 102, 26, 102, 26, 90, 42, 90, 88, 74, 88, 84, 42, 74, 118, 84, 118, 90, 154, 90, 166, 90, 154, 10, 166, 10)
@ -17,10 +19,15 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wtdf1"]
size = Vector2(591, 85)
[node name="Map" type="Node2D"]
[sub_resource type="AtlasTexture" id="AtlasTexture_gq82i"]
atlas = ExtResource("8_8uhw6")
region = Rect2(0, 0, 16, 16)
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_0pyb7")
RoomResource = ExtResource("2_0pyb7")
RoomClearActivation = []
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
@ -80,16 +87,28 @@ shape = SubResource("RectangleShape2D_wtdf1")
[node name="Features" type="Node2D" parent="."]
[node name="Marker2D" type="Marker2D" parent="Features"]
position = Vector2(293, 56)
[node name="Chest" type="Marker2D" parent="Features"]
position = Vector2(408, 135)
script = ExtResource("7_u0u4o")
MarkerTexture = SubResource("AtlasTexture_gq82i")
SpawnChance = 10.0
[node name="Marker2D2" type="Marker2D" parent="Features"]
position = Vector2(116, 119)
[node name="Chest2" type="Marker2D" parent="Features"]
position = Vector2(424, 55)
script = ExtResource("7_u0u4o")
MarkerTexture = SubResource("AtlasTexture_gq82i")
SpawnChance = 10.0
[node name="Marker2D3" type="Marker2D" parent="Features"]
position = Vector2(60, 72)
[node name="Chest3" type="Marker2D" parent="Features"]
position = Vector2(104, 119)
script = ExtResource("7_u0u4o")
MarkerTexture = SubResource("AtlasTexture_gq82i")
SpawnChance = 10.0
[node name="Marker2D4" type="Marker2D" parent="Features"]
position = Vector2(420, 134)
[node name="Chest4" type="Marker2D" parent="Features"]
position = Vector2(552, 71)
script = ExtResource("7_u0u4o")
MarkerTexture = SubResource("AtlasTexture_gq82i")
SpawnChance = 10.0
[connection signal="area_entered" from="PlayerEnterDetector" to="." method="OnRoomEntered"]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=13 format=4 uid="uid://dngwjgs5bhnx7"]
[gd_scene load_steps=16 format=4 uid="uid://dngwjgs5bhnx7"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_xsqjb"]
[ext_resource type="Resource" uid="uid://bv0mr43vcfrdh" path="res://Resources/RogueliteMaps/BigMap.tres" id="2_xsqjb"]
@ -7,10 +7,16 @@
[ext_resource type="PackedScene" uid="uid://dcbcyp1qogcl0" path="res://Scenes/Props/BigTankHorizontal.tscn" id="6_cgxuy"]
[ext_resource type="Script" uid="uid://8umfjejbkcsm" path="res://Scripts/Actors/RogueliteEnemySpawner.cs" id="7_cgxuy"]
[ext_resource type="PackedScene" uid="uid://c27co22bjym3c" path="res://Scenes/Actors/Camera.tscn" id="7_lrgk6"]
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="8_5i0e8"]
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="8_lrgk6"]
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="8_tyndx"]
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="9_8vrl3"]
[ext_resource type="Resource" uid="uid://cqfyuurvqb8m6" path="res://Resources/Enemies/Base_Fairy_Special.tres" id="9_tyndx"]
[sub_resource type="AtlasTexture" id="AtlasTexture_1cc4q"]
atlas = ExtResource("9_8vrl3")
region = Rect2(0, 0, 16, 16)
[sub_resource type="NavigationPolygon" id="NavigationPolygon_lrgk6"]
vertices = PackedVector2Array(358, 230, 248, 212, 326, 211, 378, 211, 426, 230, 314, 211, 262, 211, 520, 244, 534, 234, 614, 234, 614, 262, 550, 262, 520, 198, 534, 134, 457, 182, 457, 232, 390, 138, 442, 138, 248, 166, 262, 114, 166, 58, 179, 58, 179, 77, 168, 102, 249, 77, 249, 88, 202, 118, 168, 118, 294, 88, 294, 90, 378, 114, 330, 90, 330, 88, 360, 88, 374, 106, 360, 84, 374, 84, 442, 58, 474, 58, 518, 122, 504, 182, 474, 10, 486, 10, 486, 58, 518, 58, 570, 122, 570, 90, 614, 90, 585, 118, 614, 118, 585, 134, 504, 198, 326, 114, 314, 114, 472, 232, 472, 244, 550, 294, 486, 294, 486, 310, 474, 310, 474, 294, 426, 294, 358, 262, 313, 262, 313, 278, 248, 278, 246, 265, 248, 294, 246, 294, 216, 212, 200, 265, 202, 234, 168, 260, 200, 294, 166, 294, 154, 282, 154, 260, 166, 310, 154, 310, 154, 294, 56, 262, 26, 262, 26, 186, 42, 186, 42, 102, 26, 102, 26, 58, 57, 58, 57, 88, 86, 88, 86, 102, 54, 102, 54, 186, 86, 186, 86, 234, 88, 234, 88, 260, 56, 294, 102, 260, 102, 282, 168, 244, 184, 244, 184, 234, 138, 102, 138, 58, 154, 58, 154, 10, 166, 10, 216, 166, 390, 106)
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3, 4), PackedInt32Array(5, 2, 1), PackedInt32Array(6, 5, 1), PackedInt32Array(7, 8, 9, 10, 11), PackedInt32Array(8, 7, 12, 13), PackedInt32Array(14, 15, 4, 3, 16, 17), PackedInt32Array(6, 1, 18, 19), PackedInt32Array(20, 21, 22, 23), PackedInt32Array(23, 22, 24, 25, 26, 27), PackedInt32Array(25, 28, 29, 19, 26), PackedInt32Array(30, 31, 32, 33, 34), PackedInt32Array(33, 35, 36, 34), PackedInt32Array(14, 17, 37, 38, 39, 40), PackedInt32Array(38, 41, 42, 43), PackedInt32Array(43, 44, 39), PackedInt32Array(45, 46, 47, 48), PackedInt32Array(47, 49, 48), PackedInt32Array(45, 48, 50, 13), PackedInt32Array(39, 45, 13), PackedInt32Array(13, 12, 51, 40, 39), PackedInt32Array(52, 2, 5, 53), PackedInt32Array(15, 54, 55), PackedInt32Array(7, 11, 56, 57, 55), PackedInt32Array(57, 58, 59, 60), PackedInt32Array(55, 57, 60), PackedInt32Array(55, 60, 61, 4, 15), PackedInt32Array(0, 62, 63, 1), PackedInt32Array(1, 63, 64, 65, 66), PackedInt32Array(65, 67, 68, 66), PackedInt32Array(69, 1, 66, 70, 71), PackedInt32Array(72, 70, 73, 74, 75, 76), PackedInt32Array(74, 77, 78, 79), PackedInt32Array(80, 81, 82, 83), PackedInt32Array(84, 85, 86, 87, 88), PackedInt32Array(88, 89, 90, 91), PackedInt32Array(84, 88, 91), PackedInt32Array(83, 84, 91, 92), PackedInt32Array(80, 83, 92), PackedInt32Array(80, 92, 93, 94), PackedInt32Array(80, 94, 95, 96, 97), PackedInt32Array(96, 98, 99, 97), PackedInt32Array(72, 100, 101, 70), PackedInt32Array(101, 102, 71, 70), PackedInt32Array(23, 103, 104, 105), PackedInt32Array(105, 106, 107, 20), PackedInt32Array(23, 105, 20), PackedInt32Array(79, 97, 99, 75), PackedInt32Array(74, 79, 75), PackedInt32Array(69, 71, 26, 108), PackedInt32Array(19, 18, 108, 26), PackedInt32Array(53, 19, 29, 31), PackedInt32Array(52, 53, 31), PackedInt32Array(30, 52, 31), PackedInt32Array(30, 34, 109), PackedInt32Array(30, 109, 16, 3), PackedInt32Array(39, 38, 43)])
@ -21,10 +27,11 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cgxuy"]
size = Vector2(588, 243)
[node name="Map" type="Node2D"]
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_xsqjb")
RoomResource = ExtResource("2_xsqjb")
RoomClearActivation = []
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
@ -44,7 +51,7 @@ navigation_enabled = false
metadata/_edit_lock_ = true
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_map_data = PackedByteArray("AAASAAMAAQAAAAAAAgARAAMAAQAAAAAAAgAQAAMAAQAAAAAAAgASAAQAAQAAAAAAAgAXAAMAAQAAAAAAAgAXAAQAAQAAAAAAAgAWAAQAAQAAAAAAAgAWAAMAAQAAAAAAAgAWABEAAQAAAAAAAgAVABEAAQAAAAAAAgAVABIAAQAAAAAAAgAWABIAAQAAAAAAAgARABIAAQAAAAAAEAASABIAAQAAAAAAEAATABIAAQAAAAAAEAAQABIAAQAAAAAAEAAJAA8AAQAAAAAAEAAJAA4AAQAAAAAAEAAKAA4AAQAAAAAAEAAGAA4AAQAAAAAAEAAGAA8AAQAAAAAAEAAOAAsAAQAAAAAAEAAOAAwAAQAAAAAAEAAeAA0AAQAAAAAAEAAeAA4AAQAAAAAAEAAfAA4AAQAAAAAAEAAfAA0AAQAAAAAAEAAUABIAAQAAAAAAAQAUABEAAQAAAAAAAQAdAA0AAQAAAAAAAQAdAAwAAQAAAAAAAQAeAAwAAQAAAAAAAQAVAAQAAQAAAAAAAQAVAAMAAQAAAAAAAQARAAQAAQAAAAAAAQAQAAQAAQAAAAAAAQAJAAcAAQAAAAAAAQAIAAcAAQAAAAAAAQAmAAgAAQAAAAAAAQAlAAgAAQAAAAAAAQACABEAAQAAAAAAAQACABIAAQAAAAAAAQABABIAAQAAAAAAAQABABEAAQAAAAAAAQAEAAQAAQAAAAAAAQALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAAfAAEAAAAJAAwAAAAfAAIAAAAJAA0AAAAhAAUAAAAJAAwAAAAhAAYAAAAJAA0AAAAiAAwAAAAJAAwAAAAiAA0AAAAJAA0AAAAHAA8AAAAJAAwAAAAHABAAAAAJAA0AAAAGAAwAAAAJAAwAAAAGAA0AAAAJAA0AAAAEAAkAAAAJAAwAAAAEAAoAAAAJAA0AAAABAAkAAAAKAAwAAAABAAoAAAAKAA0AAAAIAA8AAAAKAAwAAAAIABAAAAAKAA0AAAALAAwAAAAKAAwAAAALAA0AAAAKAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAAcAAEAAAAKAAwAAAAcAAIAAAAKAA0AAAAaAAYAAAAKAAwAAAAaAAcAAAAKAA0AAAAiAAUAAAAKAAwAAAAiAAYAAAAKAA0AAAATAAMAAAAKAA4AAAATAAQAAAAKAA8AAAAAAA0AAAAKAA4AAAAAAA4AAAAKAA8AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAAnAA0AAAAKAA4AAAAnAA4AAAAKAA8AAAAnAAMAAAAKAAwAAAAnAAQAAAAKAA0AAAAZAAYAAAAJAAwAAAAZAAcAAAAJAA0AAAAYAAQAAAAJAAwAAAAYAAUAAAAJAA0AAAA=")
tile_map_data = PackedByteArray("AAASAAMAAQAAAAAAAgARAAMAAQAAAAAAAgAQAAMAAQAAAAAAAgASAAQAAQAAAAAAAgAXAAMAAQAAAAAAAgAXAAQAAQAAAAAAAgAWAAQAAQAAAAAAAgAWAAMAAQAAAAAAAgAWABEAAQAAAAAAAgAVABEAAQAAAAAAAgAVABIAAQAAAAAAAgAWABIAAQAAAAAAAgARABIAAQAAAAAAEAASABIAAQAAAAAAEAATABIAAQAAAAAAEAAQABIAAQAAAAAAEAAJAA8AAQAAAAAAEAAJAA4AAQAAAAAAEAAKAA4AAQAAAAAAEAAGAA4AAQAAAAAAEAAGAA8AAQAAAAAAEAAOAAsAAQAAAAAAEAAOAAwAAQAAAAAAEAAeAA0AAQAAAAAAEAAeAA4AAQAAAAAAEAAfAA4AAQAAAAAAEAAfAA0AAQAAAAAAEAAUABIAAQAAAAAAAQAUABEAAQAAAAAAAQAdAA0AAQAAAAAAAQAdAAwAAQAAAAAAAQAeAAwAAQAAAAAAAQAVAAQAAQAAAAAAAQAVAAMAAQAAAAAAAQARAAQAAQAAAAAAAQAQAAQAAQAAAAAAAQAJAAcAAQAAAAAAAQAIAAcAAQAAAAAAAQAmAAgAAQAAAAAAAQAlAAgAAQAAAAAAAQACABEAAQAAAAAAAQACABIAAQAAAAAAAQABABIAAQAAAAAAAQABABEAAQAAAAAAAQAEAAQAAQAAAAAAAQALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAAfAAEAAAAJAAwAAAAfAAIAAAAJAA0AAAAhAAUAAAAJAAwAAAAhAAYAAAAJAA0AAAAiAAwAAAAJAAwAAAAiAA0AAAAJAA0AAAAHAA8AAAAJAAwAAAAHABAAAAAJAA0AAAAGAAwAAAAJAAwAAAAGAA0AAAAJAA0AAAAEAAkAAAAJAAwAAAAEAAoAAAAJAA0AAAABAAkAAAAKAAwAAAABAAoAAAAKAA0AAAAIAA8AAAAKAAwAAAAIABAAAAAKAA0AAAALAAwAAAAKAAwAAAALAA0AAAAKAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAAcAAEAAAAKAAwAAAAcAAIAAAAKAA0AAAAaAAYAAAAKAAwAAAAaAAcAAAAKAA0AAAAiAAUAAAAKAAwAAAAiAAYAAAAKAA0AAAATAAMAAAAKAA4AAAATAAQAAAAKAA8AAAAAAA0AAAAKAA4AAAAAAA4AAAAKAA8AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAAnAA0AAAAKAA4AAAAnAA4AAAAKAA8AAAAnAAMAAAAKAAwAAAAnAAQAAAAKAA0AAAAZAAYAAAAJAAwAAAAZAAcAAAAJAA0AAAAYAAQAAAAJAAwAAAAYAAUAAAAJAA0AAAAgAAMAAQAAAAAAAgAgAAQAAQAAAAAAAQAbAAMAAQAAAAAAAgAbAAQAAQAAAAAAAQAaABIAAQAAAAAADQAiABIAAQAAAAAAEAAiABEAAQAAAAAAEAAmAA4AAQAAAAAAEAA=")
tile_set = ExtResource("4_tyndx")
navigation_enabled = false
metadata/_edit_lock_ = true
@ -81,14 +88,35 @@ position = Vector2(320, 168)
[node name="Features" type="Node2D" parent="."]
[node name="ChestMark" type="Marker2D" parent="Features"]
position = Vector2(327, 56)
[node name="Chest" type="Marker2D" parent="Features"]
position = Vector2(328, 55)
script = ExtResource("8_5i0e8")
MarkerTexture = SubResource("AtlasTexture_1cc4q")
SpawnChance = 10.0
[node name="ChestMark2" type="Marker2D" parent="Features"]
position = Vector2(88, 57)
[node name="Chest2" type="Marker2D" parent="Features"]
position = Vector2(584, 134)
script = ExtResource("8_5i0e8")
MarkerTexture = SubResource("AtlasTexture_1cc4q")
SpawnChance = 10.0
[node name="ChestMark3" type="Marker2D" parent="Features"]
position = Vector2(170, 118)
[node name="Chest3" type="Marker2D" parent="Features"]
position = Vector2(87, 56)
script = ExtResource("8_5i0e8")
MarkerTexture = SubResource("AtlasTexture_1cc4q")
SpawnChance = 10.0
[node name="Chest4" type="Marker2D" parent="Features"]
position = Vector2(312, 279)
script = ExtResource("8_5i0e8")
MarkerTexture = SubResource("AtlasTexture_1cc4q")
SpawnChance = 10.0
[node name="Chest5" type="Marker2D" parent="Features"]
position = Vector2(167, 118)
script = ExtResource("8_5i0e8")
MarkerTexture = SubResource("AtlasTexture_1cc4q")
SpawnChance = 10.0
[node name="EnemySpawners" type="Node2D" parent="."]

View file

@ -1,12 +1,13 @@
[gd_scene load_steps=10 format=4 uid="uid://pym646ug0ha6"]
[gd_scene load_steps=12 format=4 uid="uid://pym646ug0ha6"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_y5eok"]
[ext_resource type="Resource" uid="uid://cc53bb6th33hi" path="res://Resources/RogueliteMaps/RGHorizontal1x1.tres" id="2_y5eok"]
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_0c8ec"]
[ext_resource type="Script" uid="uid://8umfjejbkcsm" path="res://Scripts/Actors/RogueliteEnemySpawner.cs" id="5_y5eok"]
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_e2cwd"]
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="6_lcbol"]
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="7_kf55v"]
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="7_lcbol"]
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="8_kf55v"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
vertices = PackedVector2Array(166, 58, 294, 58, 294, 134, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
@ -18,10 +19,15 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rlq0q"]
size = Vector2(272, 85)
[node name="Map" type="Node2D"]
[sub_resource type="AtlasTexture" id="AtlasTexture_rxusd"]
atlas = ExtResource("8_kf55v")
region = Rect2(0, 0, 16, 16)
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_y5eok")
RoomResource = ExtResource("2_y5eok")
RoomClearActivation = []
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
@ -34,13 +40,13 @@ _solidLayers = [NodePath("../Solid"), NodePath("../Props")]
metadata/_edit_lock_ = true
[node name="Solid" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_map_data = PackedByteArray("AAATAAAAAAABAAsAAAASAAAAAAABAAQAAAARAAAAAAABAAQAAAAQAAAAAAABAAQAAAAPAAAAAAABAAQAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAABAAQAAAAIAAAAAAABAAQAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAEAAQAAAATAAEAAAAAAAQAAAAAAAIAAAAEAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAwAAAAAAAgAAAAAAAQAAAAAAAcAAAAAAAQAAAAAAAYAAAAFAAQAAAATAAkAAAABAAwAAAASAAkAAAABAAQAAAARAAkAAAABAAQAAAAQAAkAAAABAAQAAAAPAAkAAAABAAQAAAAOAAkAAAABAAQAAAANAAkAAAABAAQAAAAMAAkAAAABAAQAAAALAAkAAAABAAQAAAAIAAkAAAABAAQAAAAHAAkAAAABAAQAAAAGAAkAAAABAAQAAAAFAAkAAAABAAQAAAAEAAkAAAABAAQAAAADAAkAAAABAAQAAAACAAkAAAABAAQAAAABAAkAAAABAAQAAAATAAgAAAAAAAQAAAATAAcAAAAAAAQAAAATAAYAAAAFAAQAAAATAAMAAAAPAAUAAAATAAQAAAAPAAYAAAALAAEAAAAPAAUAAAALAAIAAAAPAAYAAAAMAAEAAAAPAAUAAAAMAAIAAAAPAAYAAAANAAEAAAAPAAUAAAANAAIAAAAPAAYAAAAOAAEAAAAPAAUAAAAOAAIAAAAPAAYAAAAPAAEAAAAPAAUAAAAPAAIAAAAPAAYAAAAQAAEAAAAPAAUAAAAQAAIAAAAPAAYAAAARAAEAAAAPAAUAAAARAAIAAAAPAAYAAAASAAEAAAAPAAUAAAASAAIAAAAPAAYAAAABAAEAAAAPAAUAAAABAAIAAAAPAAYAAAACAAEAAAAPAAUAAAACAAIAAAAPAAYAAAADAAEAAAAPAAUAAAADAAIAAAAPAAYAAAAEAAEAAAAPAAUAAAAEAAIAAAAPAAYAAAAFAAEAAAAPAAUAAAAFAAIAAAAPAAYAAAAGAAEAAAAPAAUAAAAGAAIAAAAPAAYAAAAHAAEAAAAPAAUAAAAHAAIAAAAPAAYAAAAIAAEAAAAPAAUAAAAIAAIAAAAPAAYAAAAAAAMAAAAPAAUAAAAAAAQAAAAPAAYAAAAJAAEAAAAPAAUAAAAJAAIAAAAPAAYAAAAKAAEAAAAPAAUAAAAKAAIAAAAPAAYAAAAJAAAAAAABAAQAAAAKAAAAAAABAAQAAAAJAAkAAAABAAQAAAAKAAkAAAABAAQAAAA=")
tile_map_data = PackedByteArray("AAATAAAAAAABAAsAAAASAAAAAAABAAQAAAARAAAAAAABAAQAAAAQAAAAAAABAAQAAAAPAAAAAAABAAQAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAABAAQAAAAIAAAAAAAFAAsAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAEAAQAAAATAAEAAAAAAAQAAAAAAAIAAAAEAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAwAAAAAAAgAAAAAAAQAAAAAAAcAAAAAAAQAAAAAAAYAAAAFAAQAAAATAAkAAAABAAwAAAASAAkAAAABAAQAAAARAAkAAAABAAQAAAAQAAkAAAABAAQAAAAPAAkAAAABAAQAAAAOAAkAAAAEAAwAAAANAAkAAAAFAAwAAAAMAAkAAAABAAQAAAALAAkAAAABAAQAAAAIAAkAAAABAAQAAAAHAAkAAAABAAQAAAAGAAkAAAABAAQAAAAFAAkAAAABAAQAAAAEAAkAAAABAAQAAAADAAkAAAABAAQAAAACAAkAAAABAAQAAAABAAkAAAABAAQAAAATAAgAAAAAAAQAAAATAAcAAAAAAAQAAAATAAYAAAAFAAQAAAATAAMAAAAPAAUAAAATAAQAAAAPAAYAAAALAAEAAAAPAAUAAAALAAIAAAAPAAYAAAAMAAEAAAAPAAUAAAAMAAIAAAAPAAYAAAANAAEAAAAPAAUAAAANAAIAAAAPAAYAAAAOAAEAAAAPAAUAAAAOAAIAAAAPAAYAAAAPAAEAAAAPAAUAAAAPAAIAAAAPAAYAAAAQAAEAAAAPAAUAAAAQAAIAAAAPAAYAAAARAAEAAAAPAAUAAAARAAIAAAAPAAYAAAASAAEAAAAPAAUAAAASAAIAAAAPAAYAAAABAAEAAAAPAAUAAAABAAIAAAAPAAYAAAACAAEAAAAPAAUAAAACAAIAAAAPAAYAAAADAAEAAAAPAAUAAAADAAIAAAAPAAYAAAAEAAEAAAAPAAUAAAAEAAIAAAAPAAYAAAAFAAEAAAAPAAUAAAAFAAIAAAAPAAYAAAAGAAEAAAAPAAUAAAAGAAIAAAAPAAYAAAAHAAEAAAAPAAUAAAAHAAIAAAAPAAYAAAAIAAEAAAAAAAYAAAAIAAIAAAAAAAcAAAAAAAMAAAAPAAUAAAAAAAQAAAAPAAYAAAAJAAEAAAACAAYAAAAJAAIAAAACAAcAAAAKAAEAAAAPAAUAAAAKAAIAAAAPAAYAAAAJAAAAAAAEAAsAAAAKAAAAAAABAAQAAAAJAAkAAAABAAQAAAAKAAkAAAABAAQAAAANAAgAAAAAAAYAAAANAAcAAAAAAAUAAAAOAAcAAAACAAUAAAAOAAgAAAACAAYAAAAIAAMAAAAPAAUAAAAIAAQAAAAPAAYAAAAJAAMAAAAPAAUAAAAJAAQAAAAPAAYAAAA=")
tile_set = ExtResource("5_0c8ec")
navigation_enabled = false
metadata/_edit_lock_ = true
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_map_data = PackedByteArray("AAATAAQAAAAKAA8AAAATAAMAAAAKAA4AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAANAAEAAAAPAAAAAAANAAIAAAAPAAEAAAAOAAEAAAAQAAAAAAAOAAIAAAAQAAEAAAAPAAEAAAARAAAAAAAPAAIAAAARAAEAAAACAAEAAAAPAAAAAAACAAIAAAAPAAEAAAADAAEAAAAQAAAAAAADAAIAAAAQAAEAAAAEAAEAAAARAAAAAAAEAAIAAAARAAEAAAA=")
tile_map_data = PackedByteArray("AAATAAQAAAAKAA8AAAATAAMAAAAKAA4AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAANAAEAAAAPAAAAAAANAAIAAAAPAAEAAAAOAAEAAAAQAAAAAAAOAAIAAAAQAAEAAAAPAAEAAAARAAAAAAAPAAIAAAARAAEAAAACAAEAAAAPAAAAAAACAAIAAAAPAAEAAAADAAEAAAAQAAAAAAADAAIAAAAQAAEAAAAEAAEAAAARAAAAAAAEAAIAAAARAAEAAAADAAMAAQAAAAAAAgAEAAMAAQAAAAAAAgAMAAgAAQAAAAAAAgAPAAgAAQAAAAAAAgAQAAMAAQAAAAAAAgAPAAMAAQAAAAAAAgAHAAQAAQAAAAAAAQAMAAcAAQAAAAAAAQAFAAMAAQAAAAAACQAKAAMAAQAAAAAADAAHAAMAAQAAAAAAEAA=")
tile_set = ExtResource("5_0c8ec")
navigation_enabled = false
metadata/_edit_lock_ = true
@ -50,28 +56,13 @@ metadata/_edit_lock_ = true
[node name="EnemySpawners" type="Node2D" parent="."]
[node name="RogueliteEnemySpawner4" type="Marker2D" parent="EnemySpawners"]
position = Vector2(109, 81)
script = ExtResource("5_y5eok")
Enemy = ExtResource("6_lcbol")
[node name="RogueliteEnemySpawner5" type="Marker2D" parent="EnemySpawners"]
position = Vector2(153, 127)
script = ExtResource("5_y5eok")
Enemy = ExtResource("6_lcbol")
[node name="RogueliteEnemySpawner6" type="Marker2D" parent="EnemySpawners"]
position = Vector2(172.798, 74.3138)
position = Vector2(99, 118)
script = ExtResource("5_y5eok")
Enemy = ExtResource("7_kf55v")
[node name="RogueliteEnemySpawner7" type="Marker2D" parent="EnemySpawners"]
position = Vector2(199.927, 99.9863)
script = ExtResource("5_y5eok")
Enemy = ExtResource("7_kf55v")
[node name="RogueliteEnemySpawner8" type="Marker2D" parent="EnemySpawners"]
position = Vector2(82.4885, 130.393)
position = Vector2(219, 93)
script = ExtResource("5_y5eok")
Enemy = ExtResource("7_kf55v")
@ -90,16 +81,22 @@ shape = SubResource("RectangleShape2D_rlq0q")
[node name="Features" type="Node2D" parent="."]
[node name="Marker2D" type="Marker2D" parent="Features"]
position = Vector2(24, 55)
[node name="Chest" type="Marker2D" parent="Features"]
position = Vector2(185, 136)
script = ExtResource("7_lcbol")
MarkerTexture = SubResource("AtlasTexture_rxusd")
SpawnChance = 10.0
[node name="Marker2D2" type="Marker2D" parent="Features"]
position = Vector2(296, 135)
[node name="Chest2" type="Marker2D" parent="Features"]
position = Vector2(105, 55)
script = ExtResource("7_lcbol")
MarkerTexture = SubResource("AtlasTexture_rxusd")
SpawnChance = 10.0
[node name="Marker2D3" type="Marker2D" parent="Features"]
position = Vector2(295, 56)
[node name="Marker2D4" type="Marker2D" parent="Features"]
position = Vector2(25, 136)
[node name="Chest3" type="Marker2D" parent="Features"]
position = Vector2(185, 56)
script = ExtResource("7_lcbol")
MarkerTexture = SubResource("AtlasTexture_rxusd")
SpawnChance = 10.0
[connection signal="area_entered" from="PlayerEnterDetector" to="." method="OnRoomEntered"]

File diff suppressed because one or more lines are too long

View file

@ -1,8 +1,10 @@
[gd_scene load_steps=7 format=4 uid="uid://r2j1wyglsnt5"]
[gd_scene load_steps=10 format=4 uid="uid://r2j1wyglsnt5"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_h0a4q"]
[ext_resource type="Resource" uid="uid://bo4efv7rwowuh" path="res://Resources/RogueliteMaps/SecretRoom1.tres" id="2_h0a4q"]
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="5_4m640"]
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_4wkxe"]
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="6_h0a4q"]
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_smkbu"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
@ -15,10 +17,15 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rlq0q"]
size = Vector2(272, 85)
[node name="Map" type="Node2D"]
[sub_resource type="AtlasTexture" id="AtlasTexture_cefq4"]
atlas = ExtResource("6_h0a4q")
region = Rect2(0, 0, 16, 16)
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_h0a4q")
RoomResource = ExtResource("2_h0a4q")
RoomClearActivation = []
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
@ -59,4 +66,24 @@ collision_mask = 2
position = Vector2(162, 94.5)
shape = SubResource("RectangleShape2D_rlq0q")
[node name="Features" type="Node2D" parent="."]
[node name="Chest" type="Marker2D" parent="Features"]
position = Vector2(160, 94)
script = ExtResource("5_4m640")
MarkerTexture = SubResource("AtlasTexture_cefq4")
SpawnChance = 100.0
[node name="Chest2" type="Marker2D" parent="Features"]
position = Vector2(144, 94)
script = ExtResource("5_4m640")
MarkerTexture = SubResource("AtlasTexture_cefq4")
SpawnChance = 100.0
[node name="Chest3" type="Marker2D" parent="Features"]
position = Vector2(175, 94)
script = ExtResource("5_4m640")
MarkerTexture = SubResource("AtlasTexture_cefq4")
SpawnChance = 100.0
[connection signal="area_entered" from="PlayerEnterDetector" to="." method="OnRoomEntered"]

View file

@ -16,10 +16,11 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rlq0q"]
size = Vector2(272, 85)
[node name="Map" type="Node2D"]
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_36sk4")
RoomResource = ExtResource("2_36sk4")
RoomClearActivation = []
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
@ -32,12 +33,13 @@ _solidLayers = [NodePath("../Solid"), NodePath("../Props")]
metadata/_edit_lock_ = true
[node name="Solid" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_map_data = PackedByteArray("AAATAAAAAAABAAsAAAASAAAAAAABAAQAAAARAAAAAAABAAQAAAAQAAAAAAABAAQAAAAPAAAAAAABAAQAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAEAAQAAAATAAEAAAAAAAQAAAAAAAIAAAAEAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAwAAAAAAAgAAAAAAAQAAAAAAAcAAAAAAAQAAAAAAAYAAAAFAAQAAAATAAkAAAABAAwAAAASAAkAAAABAAQAAAARAAkAAAABAAQAAAAQAAkAAAABAAQAAAAPAAkAAAABAAQAAAAOAAkAAAABAAQAAAANAAkAAAABAAQAAAAMAAkAAAABAAQAAAALAAkAAAACAAQAAAAIAAkAAAADAAQAAAAHAAkAAAABAAQAAAAGAAkAAAABAAQAAAAFAAkAAAABAAQAAAAEAAkAAAABAAQAAAADAAkAAAABAAQAAAACAAkAAAABAAQAAAABAAkAAAABAAQAAAATAAgAAAAAAAQAAAATAAcAAAAAAAQAAAATAAYAAAAFAAQAAAATAAMAAAAOAAIAAAATAAQAAAAOAAMAAAALAAEAAAAOAAIAAAALAAIAAAAOAAMAAAAMAAEAAAAOAAIAAAAMAAIAAAAOAAMAAAANAAEAAAAOAAIAAAANAAIAAAAOAAMAAAAOAAEAAAAOAAIAAAAOAAIAAAAOAAMAAAAPAAEAAAAOAAIAAAAPAAIAAAAOAAMAAAAQAAEAAAAOAAIAAAAQAAIAAAAOAAMAAAARAAEAAAAOAAIAAAARAAIAAAAOAAMAAAASAAEAAAAOAAIAAAASAAIAAAAOAAMAAAABAAEAAAAOAAIAAAABAAIAAAAOAAMAAAACAAEAAAAOAAIAAAACAAIAAAAOAAMAAAADAAEAAAAOAAIAAAADAAIAAAAOAAMAAAAEAAEAAAAOAAIAAAAEAAIAAAAOAAMAAAAFAAEAAAAOAAIAAAAFAAIAAAAOAAMAAAAGAAEAAAAOAAIAAAAGAAIAAAAOAAMAAAAHAAEAAAAOAAIAAAAHAAIAAAAOAAMAAAAIAAEAAAAOAAIAAAAIAAIAAAAOAAMAAAAAAAMAAAAOAAIAAAAAAAQAAAAOAAMAAAA=")
tile_map_data = PackedByteArray("AAATAAAAAAACAAUAAAASAAAAAAABAAUAAAARAAAAAAABAAUAAAAQAAAAAAABAAUAAAAPAAAAAAABAAUAAAAOAAAAAAABAAUAAAANAAAAAAAFAAsAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAEAAQAAAATAAEAAAADAAsAAAAAAAIAAAAEAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAcAAAAAAAgAAAAAAAYAAAAAAAcAAAACAAwAAAAAAAYAAAAFAAQAAAATAAkAAAACAAcAAAASAAkAAAABAAcAAAARAAkAAAABAAcAAAAQAAkAAAABAAcAAAAPAAkAAAABAAcAAAAOAAkAAAABAAcAAAANAAkAAAAFAAwAAAAMAAkAAAABAAQAAAALAAkAAAACAAQAAAAIAAkAAAADAAQAAAAHAAkAAAABAAQAAAAGAAkAAAAEAAwAAAAFAAkAAAABAAcAAAAEAAkAAAABAAcAAAADAAkAAAABAAcAAAACAAkAAAABAAcAAAABAAkAAAABAAcAAAATAAgAAAACAAYAAAATAAcAAAADAAwAAAATAAYAAAAFAAQAAAATAAMAAAAOAAIAAAATAAQAAAAOAAMAAAALAAEAAAAOAAIAAAALAAIAAAAOAAMAAAAMAAEAAAAOAAIAAAAMAAIAAAAOAAMAAAANAAEAAAAAAAcAAAANAAIAAAAOAAIAAAAOAAEAAAABAAcAAAAOAAIAAAANAAIAAAAPAAEAAAABAAcAAAAPAAIAAAAOAAIAAAAQAAEAAAABAAcAAAAQAAIAAAAOAAIAAAARAAEAAAABAAcAAAARAAIAAAANAAIAAAASAAEAAAABAAcAAAASAAIAAAAOAAIAAAABAAEAAAAOAAIAAAABAAIAAAAOAAMAAAACAAEAAAANAAIAAAACAAIAAAANAAMAAAADAAEAAAAOAAIAAAADAAIAAAAOAAMAAAAEAAEAAAAOAAIAAAAEAAIAAAAOAAMAAAAFAAEAAAANAAIAAAAFAAIAAAANAAMAAAAGAAEAAAAOAAIAAAAGAAIAAAAOAAMAAAAHAAEAAAAOAAIAAAAHAAIAAAAOAAMAAAAIAAEAAAAOAAIAAAAIAAIAAAAOAAMAAAAAAAMAAAAOAAIAAAAAAAQAAAAOAAMAAAABAAgAAAACAAgAAAACAAgAAAACAAgAAAADAAgAAAACAAgAAAADAAcAAAABAAUAAAACAAcAAAABAAUAAAABAAcAAAABAAUAAAAGAAgAAAACAAYAAAAGAAcAAAACAAUAAAAFAAgAAAACAAgAAAAFAAcAAAABAAUAAAAEAAgAAAACAAgAAAAEAAcAAAABAAUAAAASAAgAAAACAAgAAAASAAcAAAABAAUAAAARAAgAAAACAAgAAAARAAcAAAABAAUAAAAQAAgAAAACAAgAAAAQAAcAAAABAAUAAAAPAAgAAAACAAgAAAAPAAcAAAABAAUAAAAOAAgAAAACAAgAAAAOAAcAAAABAAUAAAANAAgAAAAAAAYAAAANAAcAAAAAAAUAAAANAAMAAAAOAAMAAAAOAAMAAAANAAMAAAAPAAMAAAAOAAMAAAAQAAMAAAAOAAMAAAARAAMAAAANAAMAAAASAAMAAAAOAAMAAAA=")
tile_set = ExtResource("5_o7s04")
navigation_enabled = false
metadata/_edit_lock_ = true
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_map_data = PackedByteArray("AAADAAMAAAAMAAoAAAAEAAMAAAANAAoAAAABAAMAAQAAAAAAEAACAAMAAQAAAAAAEAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAANAAIAAAAJAAwAAAANAAMAAAAJAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAATAAMAAAAKAA4AAAATAAQAAAAKAA8AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAA=")
tile_set = ExtResource("5_o7s04")
navigation_enabled = false
metadata/_edit_lock_ = true

View file

@ -15,15 +15,16 @@ source_geometry_mode = 1
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rlq0q"]
size = Vector2(272, 85)
[node name="Map" type="Node2D"]
[node name="Map" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_08gfs")
RoomResource = ExtResource("2_08gfs")
RoomClearActivation = []
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
[node name="Floor" type="TileMapLayer" parent="Tilemaps" node_paths=PackedStringArray("_solidLayers") groups=["Solid"]]
tile_map_data = PackedByteArray("AAAAAAIAAAAIAAQAAAAAAAMAAAAIAAQAAAAAAAQAAAAIAAQAAAAAAAUAAAAIAAQAAAAAAAYAAAAIAAQAAAAAAAcAAAAIAAQAAAAAAAgAAAAIAAQAAAAAAAkAAAAIAAQAAAABAAIAAAAIAAQAAAABAAMAAAAIAAQAAAABAAQAAAAIAAQAAAABAAUAAAAIAAQAAAABAAYAAAAIAAQAAAABAAcAAAAIAAQAAAABAAgAAAAIAAQAAAABAAkAAAAIAAQAAAACAAIAAAAIAAQAAAACAAMAAAAIAAQAAAACAAQAAAAIAAQAAAACAAUAAAAIAAQAAAACAAYAAAAIAAQAAAACAAcAAAAIAAQAAAACAAgAAAAIAAQAAAACAAkAAAAIAAQAAAADAAIAAAAIAAQAAAADAAMAAAAIAAQAAAADAAQAAAAIAAQAAAADAAUAAAAIAAQAAAADAAYAAAAIAAQAAAADAAcAAAAIAAQAAAADAAgAAAAIAAQAAAADAAkAAAAIAAQAAAAEAAIAAAAIAAQAAAAEAAMAAAAIAAQAAAAEAAQAAAAIAAQAAAAEAAUAAAAIAAQAAAAEAAYAAAAIAAQAAAAEAAcAAAAIAAQAAAAEAAgAAAAIAAQAAAAEAAkAAAAIAAQAAAAFAAIAAAAIAAQAAAAFAAMAAAAIAAQAAAAFAAQAAAAIAAQAAAAFAAUAAAAIAAQAAAAFAAYAAAAIAAQAAAAFAAcAAAAIAAQAAAAFAAgAAAAIAAQAAAAFAAkAAAAIAAQAAAAGAAIAAAAIAAQAAAAGAAMAAAAIAAQAAAAGAAQAAAAIAAQAAAAGAAUAAAAIAAQAAAAGAAYAAAAIAAQAAAAGAAcAAAAIAAQAAAAGAAgAAAAIAAQAAAAGAAkAAAAIAAQAAAAHAAIAAAAIAAQAAAAHAAMAAAAIAAQAAAAHAAQAAAAIAAQAAAAHAAUAAAAIAAQAAAAHAAYAAAAIAAQAAAAHAAcAAAAIAAQAAAAHAAgAAAAIAAQAAAAHAAkAAAAIAAQAAAAIAAIAAAAIAAQAAAAIAAMAAAAIAAQAAAAIAAQAAAAIAAQAAAAIAAUAAAAIAAQAAAAIAAYAAAAIAAQAAAAIAAcAAAAIAAQAAAAIAAgAAAAIAAQAAAAIAAkAAAAIAAQAAAAJAAIAAAAIAAQAAAAJAAMAAAAIAAQAAAAJAAQAAAAIAAQAAAAJAAUAAAAIAAQAAAAJAAYAAAAIAAQAAAAJAAcAAAAIAAQAAAAJAAgAAAAIAAQAAAAJAAkAAAAIAAQAAAAKAAIAAAAIAAQAAAAKAAMAAAAIAAQAAAAKAAQAAAAIAAQAAAAKAAUAAAAIAAQAAAAKAAYAAAAIAAQAAAAKAAcAAAAIAAQAAAAKAAgAAAAIAAQAAAAKAAkAAAAIAAQAAAALAAIAAAAIAAQAAAALAAUAAAAIAAQAAAALAAYAAAAIAAQAAAALAAcAAAAIAAQAAAALAAgAAAAIAAQAAAALAAkAAAAIAAQAAAAMAAIAAAAIAAQAAAAMAAUAAAAIAAQAAAAMAAYAAAAIAAQAAAAMAAcAAAAIAAQAAAAMAAgAAAAIAAQAAAAMAAkAAAAIAAQAAAANAAIAAAAIAAQAAAANAAMAAAAIAAQAAAANAAQAAAAIAAQAAAANAAUAAAAIAAQAAAANAAYAAAAIAAQAAAANAAcAAAAIAAQAAAANAAgAAAAIAAQAAAANAAkAAAAIAAQAAAAOAAIAAAAIAAQAAAAOAAMAAAAIAAQAAAAOAAQAAAAIAAQAAAAOAAUAAAAIAAQAAAAOAAYAAAAIAAQAAAAOAAcAAAAIAAQAAAAOAAgAAAAIAAQAAAAOAAkAAAAIAAQAAAAPAAIAAAAIAAQAAAAPAAMAAAAIAAQAAAAPAAQAAAAIAAQAAAAPAAUAAAAIAAQAAAAPAAYAAAAIAAQAAAAPAAcAAAAIAAQAAAAPAAgAAAAIAAQAAAAPAAkAAAAIAAQAAAAQAAIAAAAIAAQAAAAQAAMAAAAIAAQAAAAQAAQAAAAIAAQAAAAQAAUAAAAIAAQAAAAQAAYAAAAIAAQAAAAQAAcAAAAIAAQAAAAQAAgAAAAIAAQAAAAQAAkAAAAIAAQAAAARAAIAAAAIAAQAAAARAAMAAAAIAAQAAAARAAQAAAAIAAQAAAARAAUAAAAIAAQAAAARAAYAAAAIAAQAAAARAAcAAAAIAAQAAAARAAgAAAAIAAQAAAARAAkAAAAIAAQAAAASAAIAAAAIAAQAAAASAAMAAAAIAAQAAAASAAQAAAAIAAQAAAASAAUAAAAIAAQAAAASAAYAAAAIAAQAAAASAAcAAAAIAAQAAAASAAgAAAAIAAQAAAASAAkAAAAIAAQAAAATAAIAAAAIAAQAAAATAAMAAAAIAAQAAAATAAQAAAAIAAQAAAATAAUAAAAIAAQAAAATAAYAAAAIAAQAAAATAAcAAAAIAAQAAAATAAgAAAAIAAQAAAATAAkAAAAIAAQAAAAAAAAAAAAIAAQAAAAAAAEAAAAIAAQAAAABAAAAAAAIAAQAAAABAAEAAAAIAAQAAAACAAAAAAAIAAQAAAACAAEAAAAIAAQAAAADAAAAAAAIAAQAAAADAAEAAAAIAAQAAAAEAAAAAAAIAAQAAAAEAAEAAAAIAAQAAAAFAAAAAAAIAAQAAAAFAAEAAAAIAAQAAAAGAAAAAAAIAAQAAAAGAAEAAAAIAAQAAAAHAAAAAAAIAAQAAAAHAAEAAAAIAAQAAAAIAAAAAAAIAAQAAAAIAAEAAAAIAAQAAAAJAAAAAAAIAAQAAAAJAAEAAAAIAAQAAAAKAAAAAAAIAAQAAAAKAAEAAAAIAAQAAAALAAAAAAAIAAQAAAALAAEAAAAIAAQAAAALAAMAAAAIAAQAAAALAAQAAAAIAAQAAAAMAAAAAAAIAAQAAAAMAAEAAAAIAAQAAAAMAAMAAAAIAAQAAAAMAAQAAAAIAAQAAAANAAAAAAAIAAQAAAANAAEAAAAIAAQAAAAOAAAAAAAIAAQAAAAOAAEAAAAIAAQAAAAPAAAAAAAIAAQAAAAPAAEAAAAIAAQAAAAQAAAAAAAIAAQAAAAQAAEAAAAIAAQAAAARAAAAAAAIAAQAAAARAAEAAAAIAAQAAAASAAAAAAAIAAQAAAASAAEAAAAIAAQAAAATAAAAAAAIAAQAAAATAAEAAAAIAAQAAAA=")
tile_map_data = PackedByteArray("AAAAAAIAAAAFAAIAAAAAAAMAAAAFAAIAAAAAAAQAAAAFAAIAAAAAAAUAAAAFAAIAAAAAAAYAAAAFAAIAAAAAAAcAAAAFAAIAAAAAAAgAAAAFAAIAAAAAAAkAAAAFAAIAAAABAAIAAAAFAAIAAAABAAMAAAAFAAIAAAABAAQAAAAFAAIAAAABAAUAAAAFAAIAAAABAAYAAAAFAAIAAAABAAcAAAAFAAIAAAABAAgAAAAFAAIAAAABAAkAAAAFAAIAAAACAAIAAAAFAAIAAAACAAMAAAAFAAIAAAACAAQAAAAFAAIAAAACAAUAAAAFAAIAAAACAAYAAAAFAAIAAAACAAcAAAAFAAIAAAACAAgAAAAFAAIAAAACAAkAAAAFAAIAAAADAAIAAAAFAAIAAAADAAMAAAAFAAIAAAADAAQAAAAFAAIAAAADAAUAAAAFAAIAAAADAAYAAAAFAAIAAAADAAcAAAAFAAIAAAADAAgAAAAFAAIAAAADAAkAAAAFAAIAAAAEAAIAAAAFAAIAAAAEAAMAAAAFAAIAAAAEAAQAAAAFAAIAAAAEAAUAAAAFAAIAAAAEAAYAAAAFAAIAAAAEAAcAAAAFAAIAAAAEAAgAAAAFAAIAAAAEAAkAAAAFAAIAAAAFAAIAAAAFAAIAAAAFAAMAAAAFAAIAAAAFAAQAAAAFAAIAAAAFAAUAAAAFAAIAAAAFAAYAAAAFAAIAAAAFAAcAAAAFAAIAAAAFAAgAAAAFAAIAAAAFAAkAAAAFAAIAAAAGAAIAAAAFAAIAAAAGAAMAAAAFAAIAAAAGAAQAAAAFAAIAAAAGAAUAAAAFAAIAAAAGAAYAAAAFAAIAAAAGAAcAAAAFAAIAAAAGAAgAAAAFAAIAAAAGAAkAAAAFAAIAAAAHAAIAAAAFAAIAAAAHAAMAAAAFAAIAAAAHAAQAAAAFAAIAAAAHAAUAAAAFAAIAAAAHAAYAAAAFAAIAAAAHAAcAAAAFAAIAAAAHAAgAAAAFAAIAAAAHAAkAAAAFAAIAAAAIAAIAAAAFAAIAAAAIAAMAAAAFAAIAAAAIAAQAAAAFAAIAAAAIAAUAAAAFAAIAAAAIAAYAAAAFAAIAAAAIAAcAAAAFAAIAAAAIAAgAAAAFAAIAAAAIAAkAAAAFAAIAAAAJAAIAAAAFAAIAAAAJAAMAAAAFAAIAAAAJAAQAAAAFAAIAAAAJAAUAAAAFAAIAAAAJAAYAAAAFAAIAAAAJAAcAAAAFAAIAAAAJAAgAAAAFAAIAAAAJAAkAAAAFAAIAAAAKAAIAAAAFAAIAAAAKAAMAAAAFAAIAAAAKAAQAAAAFAAIAAAAKAAUAAAAFAAIAAAAKAAYAAAAFAAIAAAAKAAcAAAAFAAIAAAAKAAgAAAAFAAIAAAAKAAkAAAAFAAIAAAALAAIAAAAFAAIAAAALAAUAAAAFAAIAAAALAAYAAAAFAAIAAAALAAcAAAAFAAIAAAALAAgAAAAFAAIAAAALAAkAAAAFAAIAAAAMAAIAAAAFAAIAAAAMAAUAAAAFAAIAAAAMAAYAAAAFAAIAAAAMAAcAAAAFAAIAAAAMAAgAAAAFAAIAAAAMAAkAAAAFAAIAAAANAAIAAAAFAAIAAAANAAMAAAAFAAIAAAANAAQAAAAFAAIAAAANAAUAAAAFAAIAAAANAAYAAAAFAAIAAAANAAcAAAAFAAIAAAANAAgAAAAFAAIAAAANAAkAAAAFAAIAAAAOAAIAAAAFAAIAAAAOAAMAAAAFAAIAAAAOAAQAAAAFAAIAAAAOAAUAAAAFAAIAAAAOAAYAAAAFAAIAAAAOAAcAAAAFAAIAAAAOAAgAAAAFAAIAAAAOAAkAAAAFAAIAAAAPAAIAAAAFAAIAAAAPAAMAAAAFAAIAAAAPAAQAAAAFAAIAAAAPAAUAAAAFAAIAAAAPAAYAAAAFAAIAAAAPAAcAAAAFAAIAAAAPAAgAAAAFAAIAAAAPAAkAAAAFAAIAAAAQAAIAAAAFAAIAAAAQAAMAAAAFAAIAAAAQAAQAAAAFAAIAAAAQAAUAAAAFAAIAAAAQAAYAAAAFAAIAAAAQAAcAAAAFAAIAAAAQAAgAAAAFAAIAAAAQAAkAAAAFAAIAAAARAAIAAAAFAAIAAAARAAMAAAAFAAIAAAARAAQAAAAFAAIAAAARAAUAAAAFAAIAAAARAAYAAAAFAAIAAAARAAcAAAAFAAIAAAARAAgAAAAFAAIAAAARAAkAAAAFAAIAAAASAAIAAAAFAAIAAAASAAMAAAAFAAIAAAASAAQAAAAFAAIAAAASAAUAAAAFAAIAAAASAAYAAAAFAAIAAAASAAcAAAAFAAIAAAASAAgAAAAFAAIAAAASAAkAAAAFAAIAAAATAAIAAAAFAAIAAAATAAMAAAAFAAIAAAATAAQAAAAFAAIAAAATAAUAAAAFAAIAAAATAAYAAAAFAAIAAAATAAcAAAAFAAIAAAATAAgAAAAFAAIAAAATAAkAAAAFAAIAAAAAAAAAAAAFAAIAAAAAAAEAAAAFAAIAAAABAAAAAAAFAAIAAAABAAEAAAAFAAIAAAACAAAAAAAFAAIAAAACAAEAAAAFAAIAAAADAAAAAAAFAAIAAAADAAEAAAAFAAIAAAAEAAAAAAAFAAIAAAAEAAEAAAAFAAIAAAAFAAAAAAAFAAIAAAAFAAEAAAAFAAIAAAAGAAAAAAAFAAIAAAAGAAEAAAAFAAIAAAAHAAAAAAAFAAIAAAAHAAEAAAAFAAIAAAAIAAAAAAAFAAIAAAAIAAEAAAAFAAIAAAAJAAAAAAAFAAIAAAAJAAEAAAAFAAIAAAAKAAAAAAAFAAIAAAAKAAEAAAAFAAIAAAALAAAAAAAFAAIAAAALAAEAAAAFAAIAAAALAAMAAAAFAAIAAAALAAQAAAAFAAIAAAAMAAAAAAAFAAIAAAAMAAEAAAAFAAIAAAAMAAMAAAAFAAIAAAAMAAQAAAAFAAIAAAANAAAAAAAFAAIAAAANAAEAAAAFAAIAAAAOAAAAAAAFAAIAAAAOAAEAAAAFAAIAAAAPAAAAAAAFAAIAAAAPAAEAAAAFAAIAAAAQAAAAAAAFAAIAAAAQAAEAAAAFAAIAAAARAAAAAAAFAAIAAAARAAEAAAAFAAIAAAASAAAAAAAFAAIAAAASAAEAAAAFAAIAAAATAAAAAAAFAAIAAAATAAEAAAAFAAIAAAA=")
tile_set = ExtResource("5_ojht1")
navigation_enabled = false
script = ExtResource("6_jf212")
@ -31,12 +32,13 @@ _solidLayers = [NodePath("../Solid"), NodePath("../Props")]
metadata/_edit_lock_ = true
[node name="Solid" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_map_data = PackedByteArray("AAATAAAAAAABAAsAAAASAAAAAAABAAQAAAARAAAAAAABAAQAAAAQAAAAAAABAAQAAAAPAAAAAAABAAQAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAEAAQAAAATAAEAAAAAAAQAAAAAAAIAAAAEAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAwAAAAAAAgAAAAAAAQAAAAAAAcAAAAAAAQAAAAAAAYAAAAFAAQAAAATAAkAAAABAAwAAAASAAkAAAABAAQAAAARAAkAAAABAAQAAAAQAAkAAAABAAQAAAAPAAkAAAABAAQAAAAOAAkAAAABAAQAAAANAAkAAAABAAQAAAAMAAkAAAABAAQAAAALAAkAAAACAAQAAAAIAAkAAAADAAQAAAAHAAkAAAABAAQAAAAGAAkAAAABAAQAAAAFAAkAAAABAAQAAAAEAAkAAAABAAQAAAADAAkAAAABAAQAAAACAAkAAAABAAQAAAABAAkAAAABAAQAAAATAAgAAAAAAAQAAAATAAcAAAAAAAQAAAATAAYAAAAFAAQAAAATAAMAAAAMAAUAAAATAAQAAAAMAAYAAAALAAEAAAAOAAUAAAALAAIAAAAOAAYAAAAMAAEAAAAOAAUAAAAMAAIAAAAOAAYAAAANAAEAAAAMAAUAAAANAAIAAAAMAAYAAAAOAAEAAAAMAAUAAAAOAAIAAAAMAAYAAAAPAAEAAAANAAUAAAAPAAIAAAANAAYAAAAQAAEAAAANAAUAAAAQAAIAAAANAAYAAAARAAEAAAAMAAUAAAARAAIAAAAMAAYAAAASAAEAAAAMAAUAAAASAAIAAAAMAAYAAAABAAEAAAAMAAUAAAABAAIAAAAMAAYAAAACAAEAAAAMAAUAAAACAAIAAAAMAAYAAAADAAEAAAANAAUAAAADAAIAAAANAAYAAAAEAAEAAAANAAUAAAAEAAIAAAANAAYAAAAFAAEAAAAMAAUAAAAFAAIAAAAMAAYAAAAGAAEAAAAMAAUAAAAGAAIAAAAMAAYAAAAHAAEAAAAOAAUAAAAHAAIAAAAOAAYAAAAIAAEAAAAOAAUAAAAIAAIAAAAOAAYAAAAAAAMAAAAMAAUAAAAAAAQAAAAMAAYAAAA=")
tile_map_data = PackedByteArray("AAATAAAAAAACAAUAAAASAAAAAAABAAUAAAARAAAAAAABAAUAAAAQAAAAAAABAAUAAAAPAAAAAAAFAAsAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAABAAQAAAAEAAAAAAAEAAsAAAADAAAAAAABAAUAAAACAAAAAAABAAUAAAABAAAAAAABAAUAAAAAAAAAAAAAAAUAAAATAAIAAAAEAAQAAAATAAEAAAADAAsAAAAAAAIAAAAEAAQAAAAAAAEAAAACAAsAAAAAAAkAAAAAAAcAAAAAAAgAAAACAAwAAAAAAAcAAAAAAAQAAAAAAAYAAAAFAAQAAAATAAkAAAACAAcAAAASAAkAAAABAAcAAAARAAkAAAABAAcAAAAQAAkAAAABAAcAAAAPAAkAAAAFAAwAAAAOAAkAAAABAAQAAAANAAkAAAABAAQAAAAMAAkAAAABAAQAAAALAAkAAAACAAQAAAAIAAkAAAADAAQAAAAHAAkAAAABAAQAAAAGAAkAAAABAAQAAAAFAAkAAAABAAQAAAAEAAkAAAAEAAwAAAADAAkAAAABAAcAAAACAAkAAAABAAcAAAABAAkAAAABAAcAAAATAAgAAAADAAwAAAATAAcAAAAAAAQAAAATAAYAAAAFAAQAAAATAAMAAAAKAAAAAAATAAQAAAAKAAEAAAALAAEAAAAJAAIAAAALAAIAAAAJAAMAAAAMAAEAAAAKAAIAAAAMAAIAAAAKAAMAAAANAAEAAAAJAAIAAAANAAIAAAAJAAMAAAAOAAEAAAAKAAIAAAAOAAIAAAAKAAMAAAAPAAEAAAAAAAcAAAAPAAIAAAAJAAIAAAAQAAEAAAABAAcAAAAQAAIAAAAKAAIAAAARAAEAAAABAAcAAAARAAIAAAAJAAIAAAASAAEAAAABAAcAAAASAAIAAAAKAAIAAAABAAEAAAABAAcAAAABAAIAAAAJAAIAAAACAAEAAAABAAcAAAACAAIAAAAKAAIAAAADAAEAAAABAAcAAAADAAIAAAAJAAIAAAAEAAEAAAACAAcAAAAEAAIAAAAKAAIAAAAFAAEAAAAJAAIAAAAFAAIAAAAJAAMAAAAGAAEAAAAKAAIAAAAGAAIAAAAKAAMAAAAHAAEAAAAJAAIAAAAHAAIAAAAJAAMAAAAIAAEAAAAKAAIAAAAIAAIAAAAKAAMAAAAAAAMAAAAKAAAAAAAAAAQAAAAKAAEAAAAEAAgAAAACAAUAAAADAAgAAAABAAUAAAACAAgAAAABAAUAAAABAAgAAAABAAUAAAASAAgAAAABAAUAAAARAAgAAAABAAUAAAAQAAgAAAABAAUAAAAPAAgAAAAAAAUAAAABAAMAAAAJAAMAAAACAAMAAAAKAAMAAAADAAMAAAAJAAMAAAAEAAMAAAAKAAMAAAAPAAMAAAAJAAMAAAAQAAMAAAAKAAMAAAARAAMAAAAJAAMAAAASAAMAAAAKAAMAAAA=")
tile_set = ExtResource("5_ojht1")
navigation_enabled = false
metadata/_edit_lock_ = true
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_map_data = PackedByteArray("AAAPAAIAAAAJAAwAAAAPAAMAAAAJAA0AAAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAATAAMAAAAKAA4AAAATAAQAAAAKAA8AAAAEAAIAAAAKAAwAAAAEAAMAAAAKAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAA=")
tile_set = ExtResource("5_ojht1")
navigation_enabled = false
metadata/_edit_lock_ = true

View file

@ -0,0 +1,31 @@
using Godot;
namespace Cirno.Scripts.Actors;
[Tool]
public partial class ChestMarker : FeatureMarker
{
private Texture2D _markerTexture;
[Export]
public Texture2D MarkerTexture
{
get => _markerTexture;
set
{
_markerTexture = value;
if (Engine.IsEditorHint())
{
QueueRedraw();
}
}
}
public override void _Draw()
{
if (!Engine.IsEditorHint()) return;
if (MarkerTexture is null) return;
DrawTexture(MarkerTexture, -new Vector2(MarkerTexture.GetWidth() / 2f, MarkerTexture.GetHeight() / 2f));
}
}

View file

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

View file

@ -0,0 +1,12 @@
using Godot;
namespace Cirno.Scripts.Actors;
[Tool]
public partial class FeatureMarker : Marker2D
{
[Export] public bool OverrideChance { get; set; } = false;
[Export(PropertyHint.None, "suffix:%")]
public double SpawnChance { get; set; } = 15d;
}

View file

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

View file

@ -13,6 +13,7 @@ using Cirno.Scripts.Resources.Roguelite;
using Cirno.Scripts.Utils;
using Godot;
using Godot.Collections;
using Array = Godot.Collections.Array;
namespace Cirno.Scripts.Controllers;
@ -20,6 +21,8 @@ namespace Cirno.Scripts.Controllers;
public partial class RogueliteRoom : Node2D
{
[Export] public RogueliteRoomResource RoomResource { get; set; }
[Export] public Array<Node2D> RoomClearActivation { get; set; }
public RogueliteMapTheme MapTheme { get; set; }
@ -32,6 +35,8 @@ public partial class RogueliteRoom : Node2D
public Vector2 RoomSize => BaseRoomSize * RoomResource.Size;
[Signal] public delegate void RoomClearedEventHandler();
public Vector2I RandomBottomExit()
{
return BottomLeft + new Vector2I(GD.RandRange(0, RoomResource.Size.X - 1), 0);
@ -324,15 +329,27 @@ public partial class RogueliteRoom : Node2D
continue;
}
double chance = GD.RandRange(0d, 100d);
if (chance <= MapTheme.ChestChance)
if (markerNode is ChestMarker chestMarker)
{
var chest = marker.CreateChild<Chest>(MapTheme.ChestPrefab);
var loot = MapTheme.ChestLootTable.Items.ToList().Shuffle().First();
chest.LootTable.Add(loot);
double roll = GD.RandRange(0d, 100d);
double chance = chestMarker.OverrideChance ? chestMarker.SpawnChance : MapTheme.ChestChance;
if (roll <= chance)
{
var hasLoot = MapTheme.ChestLootQueue.TryDequeue(out var loot);
if (!hasLoot)
{
GD.Print("Ran out of loot to spawn");
return;
}
var chest = marker.CreateChild<Chest>(MapTheme.ChestPrefab);
chest.LootTable.Add(loot);
}
}
}
}
@ -344,6 +361,7 @@ public partial class RogueliteRoom : Node2D
if (_enemies.Count == 0)
{
OpenDoors();
EmitSignalRoomCleared();
}
}

View file

@ -121,6 +121,8 @@ public partial class RogueliteRoomManager : Node2D
var shuffledOffshoots = offshoots.Shuffle().ToList();
MapTheme.MakeChestLootQueue();
// var offshootsQueue = new Queue<RoomType>();
// offshootsQueue.EnqueueRange(shuffledOffshoots);

View file

@ -1,6 +1,9 @@
using Cirno.Scripts.Activables;
using System.Collections.Generic;
using System.Linq;
using Cirno.Scripts.Activables;
using Cirno.Scripts.Resources.Loot;
using Cirno.Scripts.Resources.Roguelite;
using Cirno.Scripts.Utils;
using Godot;
using Godot.Collections;
@ -39,4 +42,15 @@ public partial class RogueliteMapTheme : Resource
[ExportCategory("Rooms")]
[Export] public Array<RogueliteRoomResource> Rooms { get; set; }
[ExportCategory("Loot Counts")] public int MaxChestLoot { get; set; } = 100;
public Queue<LootItem> ChestLootQueue { get; private set; }
public Queue<LootItem> MakeChestLootQueue()
{
ChestLootQueue = new Queue<LootItem>().EnqueueRange(ChestLootTable.Items.ToList().Shuffle(MaxChestLoot));
return ChestLootQueue;
}
}