Spellcard test map

This commit is contained in:
Marco 2025-03-24 10:26:13 +01:00
commit dc8777c3d9
9 changed files with 163 additions and 43 deletions

View file

@ -38,7 +38,7 @@ Owner = 2
DamageType = 0
Controllable = false
Modifier = SubResource("Resource_80ngy")
TimeModifiers = null
TimeModifiers = Array[Object]([])
[sub_resource type="Resource" id="Resource_0v4v8"]
script = ExtResource("2_7268a")

View file

@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="DebugMapSelectData" load_steps=36 format=3 uid="uid://d1lc8lhq1b05p"]
[gd_resource type="Resource" script_class="DebugMapSelectData" load_steps=37 format=3 uid="uid://d1lc8lhq1b05p"]
[ext_resource type="Script" uid="uid://durmwwyw3dnm6" path="res://Scripts/Resources/DebugMenu/DebugMapSelectData.cs" id="1_6kwth"]
[ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="1_ov731"]
@ -174,6 +174,13 @@ Path = "res://Scenes/Maps/Level1_End_Cutscene.tscn"
_name = "Level 1 Intermission"
metadata/_custom_type_script = "uid://dnthdjrx78u6m"
[sub_resource type="Resource" id="Resource_xhgge"]
script = ExtResource("2_tnajf")
Enabled = true
Path = "uid://bitld8jkjkflo"
_name = "Spell Card Test"
metadata/_custom_type_script = "uid://dnthdjrx78u6m"
[resource]
script = ExtResource("1_6kwth")
Maps = Array[Object]([SubResource("Resource_qnbi6"), SubResource("Resource_0k62o"), SubResource("Resource_edoov"), SubResource("Resource_47bot"), SubResource("Resource_mgdm6"), SubResource("Resource_v2as6"), SubResource("Resource_pein5"), SubResource("Resource_6wrc7"), SubResource("Resource_x3w7w"), SubResource("Resource_ajht5"), SubResource("Resource_7vmdn"), SubResource("Resource_6ijnv"), SubResource("Resource_bkci5"), SubResource("Resource_ognca"), SubResource("Resource_nbnej"), SubResource("Resource_w7lsm"), SubResource("Resource_vq1um"), SubResource("Resource_hougo")])
Maps = Array[Object]([SubResource("Resource_qnbi6"), SubResource("Resource_0k62o"), SubResource("Resource_edoov"), SubResource("Resource_47bot"), SubResource("Resource_mgdm6"), SubResource("Resource_v2as6"), SubResource("Resource_pein5"), SubResource("Resource_6wrc7"), SubResource("Resource_x3w7w"), SubResource("Resource_ajht5"), SubResource("Resource_7vmdn"), SubResource("Resource_6ijnv"), SubResource("Resource_bkci5"), SubResource("Resource_ognca"), SubResource("Resource_nbnej"), SubResource("Resource_w7lsm"), SubResource("Resource_vq1um"), SubResource("Resource_hougo"), SubResource("Resource_xhgge")])

View file

@ -1,13 +1,10 @@
[gd_scene load_steps=17 format=4 uid="uid://prgabjxh44lf"]
[gd_scene load_steps=13 format=4 uid="uid://prgabjxh44lf"]
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_4uv21"]
[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_xfbh8"]
[ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="3_cko4a"]
[ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="4_bc0u7"]
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="4_em3f4"]
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="5_75e1c"]
[ext_resource type="Script" uid="uid://v2f387aad33k" path="res://Scripts/Components/FSM/ActorStateMachine.cs" id="7_cko4a"]
[ext_resource type="SpriteFrames" uid="uid://bcc5mlwwnkvri" path="res://Resources/Sprites/Fairy.tres" id="8_gp1xa"]
[ext_resource type="Script" uid="uid://cfya7sndh7vy2" path="res://Scenes/CameraController.gd" id="11_uct4d"]
[ext_resource type="PackedScene" uid="uid://b3tyacxxw88lx" path="res://Scenes/Utils/StreamPlayerWithName.tscn" id="12_3bxj4"]
[ext_resource type="Script" uid="uid://c5nxsq3tyxcx6" path="res://Scripts/InventoryManager.cs" id="12_hibtc"]
@ -18,9 +15,7 @@
[sub_resource type="Resource" id="Resource_6wo78"]
script = ExtResource("4_bc0u7")
EggIndex = 0
StartingEquipment = Array[ExtResource("3_cko4a")]([])
[sub_resource type="CircleShape2D" id="CircleShape2D_5xgmc"]
StartingEquipment = []
[node name="GameScene" type="Node2D"]
process_mode = 3
@ -34,7 +29,7 @@ MapStartData = SubResource("Resource_6wo78")
[node name="Tilemaps" type="Node2D" parent="."]
process_mode = 1
[node name="Floor" type="TileMapLayer" parent="Tilemaps" node_paths=PackedStringArray("_solidLayers")]
[node name="Floor" type="TileMapLayer" parent="Tilemaps" node_paths=PackedStringArray("_solidLayers") groups=["Solid"]]
tile_map_data = PackedByteArray("AAAEABAAAAAEAAIAAAAEABEAAAAEAAIAAAAEABIAAAAEAAIAAAAEABMAAAAEAAIAAAAEABQAAAAEAAIAAAAEABUAAAAEAAIAAAAEABYAAAAEAAIAAAAFABAAAAAEAAIAAAAFABEAAAAEAAIAAAAFABIAAAAEAAIAAAAFABMAAAAEAAIAAAAFABQAAAAEAAIAAAAFABUAAAAEAAIAAAAFABYAAAAEAAIAAAAGABAAAAAEAAIAAAAGABEAAAAEAAIAAAAGABIAAAAEAAIAAAAGABMAAAAEAAIAAAAGABQAAAAEAAIAAAAGABUAAAAEAAIAAAAGABYAAAAEAAIAAAAHABAAAAAEAAIAAAAHABEAAAAEAAIAAAAHABIAAAAEAAIAAAAHABMAAAAEAAIAAAAHABQAAAAEAAIAAAAHABUAAAAEAAIAAAAHABYAAAAEAAIAAAAIABAAAAAEAAIAAAAIABEAAAAEAAIAAAAIABIAAAAEAAIAAAAIABMAAAAEAAIAAAAIABQAAAAEAAIAAAAIABUAAAAEAAIAAAAIABYAAAAEAAIAAAAJABAAAAAEAAIAAAAJABEAAAAEAAIAAAAJABIAAAAEAAIAAAAJABMAAAAEAAIAAAAJABQAAAAEAAIAAAAJABUAAAAEAAIAAAAJABYAAAAEAAIAAAAKABAAAAAEAAIAAAAKABEAAAAEAAIAAAAKABIAAAAEAAIAAAAKABMAAAAEAAIAAAAKABQAAAAEAAIAAAAKABUAAAAEAAIAAAAKABYAAAAEAAIAAAADABAAAAAEAAIAAAADABEAAAAEAAIAAAADABIAAAAEAAIAAAADABMAAAAEAAIAAAADABQAAAAEAAIAAAADABUAAAAEAAIAAAADABYAAAAEAAIAAAADABcAAAAEAAIAAAADABgAAAAEAAIAAAAEABcAAAAEAAIAAAAEABgAAAAEAAIAAAAFABcAAAAEAAIAAAAFABgAAAAEAAIAAAAGABcAAAAEAAIAAAAGABgAAAAEAAIAAAAHABcAAAAEAAIAAAAHABgAAAAEAAIAAAAIABcAAAAEAAIAAAAIABgAAAAEAAIAAAAJABcAAAAEAAIAAAAJABgAAAAEAAIAAAAKABcAAAAEAAIAAAAKABgAAAAEAAIAAAALABAAAAAEAAIAAAALABEAAAAEAAIAAAALABIAAAAEAAIAAAALABMAAAAEAAIAAAALABQAAAAEAAIAAAALABUAAAAEAAIAAAALABYAAAAEAAIAAAALABcAAAAEAAIAAAALABgAAAAEAAIAAAA=")
tile_set = ExtResource("4_em3f4")
script = ExtResource("5_75e1c")
@ -42,31 +37,17 @@ _solidLayers = [NodePath("../Solid"), NodePath("../Props")]
metadata/_edit_lock_ = true
[node name="Solid" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_map_data = PackedByteArray("AAACAA0AAAAAAAsAAAADAA0AAAABAAQAAAAEAA0AAAABAAQAAAAFAA0AAAABAAQAAAAGAA0AAAABAAQAAAAHAA0AAAABAAQAAAAIAA0AAAABAAQAAAAJAA0AAAABAAQAAAAKAA0AAAABAAQAAAALAA0AAAABAAQAAAAMAA0AAAABAAsAAAAMAA4AAAAAAAQAAAAMAA8AAAAAAAQAAAAMABAAAAAAAAQAAAAMABEAAAAAAAQAAAAMABMAAAAAAAQAAAAMABIAAAAAAAQAAAAMABQAAAAAAAQAAAAMABUAAAAAAAQAAAAMABYAAAAAAAQAAAAMABcAAAAAAAQAAAAMABgAAAAAAAQAAAAMABkAAAABAAwAAAALABkAAAABAAQAAAAKABkAAAABAAQAAAAJABkAAAABAAQAAAAIABkAAAABAAQAAAAHABkAAAABAAQAAAAGABkAAAABAAQAAAAFABkAAAABAAQAAAAEABkAAAABAAQAAAADABkAAAABAAQAAAACABkAAAAAAAwAAAACABgAAAAAAAQAAAACABYAAAAAAAQAAAACABcAAAAAAAQAAAACABUAAAAAAAQAAAACABQAAAAAAAQAAAACABIAAAAAAAQAAAACABMAAAAAAAQAAAACABEAAAAAAAQAAAACABAAAAAAAAQAAAACAA8AAAAAAAQAAAACAA4AAAAAAAQAAAADAA4AAAABAAEAAAADAA8AAAABAAEAAAAEAA4AAAABAAEAAAAEAA8AAAABAAEAAAAFAA4AAAABAAEAAAAFAA8AAAABAAEAAAAGAA4AAAABAAEAAAAGAA8AAAABAAEAAAAHAA4AAAABAAEAAAAHAA8AAAABAAEAAAAIAA4AAAABAAEAAAAIAA8AAAABAAEAAAAJAA4AAAABAAEAAAAJAA8AAAABAAEAAAAKAA4AAAABAAEAAAAKAA8AAAABAAEAAAALAA4AAAABAAEAAAALAA8AAAABAAEAAAA=")
tile_map_data = PackedByteArray("AAACAA0AAAAAAAsAAAADAA0AAAABAAQAAAAEAA0AAAABAAQAAAAFAA0AAAABAAQAAAAGAA0AAAABAAQAAAAHAA0AAAABAAQAAAAIAA0AAAABAAQAAAAJAA0AAAABAAQAAAAKAA0AAAABAAQAAAALAA0AAAABAAQAAAAMAA0AAAABAAsAAAAMAA4AAAAAAAQAAAAMAA8AAAAAAAQAAAAMABAAAAAAAAQAAAAMABEAAAAAAAQAAAAMABMAAAAAAAQAAAAMABIAAAAAAAQAAAAMABQAAAAAAAQAAAAMABUAAAAAAAQAAAAMABYAAAAAAAQAAAAMABcAAAAAAAQAAAAMABgAAAAAAAQAAAAMABkAAAABAAwAAAALABkAAAABAAQAAAAKABkAAAABAAQAAAAJABkAAAABAAQAAAAIABkAAAABAAQAAAAHABkAAAABAAQAAAAGABkAAAABAAQAAAAFABkAAAABAAQAAAAEABkAAAABAAQAAAADABkAAAABAAQAAAACABkAAAAAAAwAAAACABgAAAAAAAQAAAACABYAAAAAAAQAAAACABcAAAAAAAQAAAACABUAAAAAAAQAAAACABQAAAAAAAQAAAACABIAAAAAAAQAAAACABMAAAAAAAQAAAACABEAAAAAAAQAAAACABAAAAAAAAQAAAACAA8AAAAAAAQAAAACAA4AAAAAAAQAAAADAA4AAAAKAAgAAAADAA8AAAAKAAkAAAAEAA4AAAAKAAgAAAAEAA8AAAAKAAkAAAAFAA4AAAAKAAgAAAAFAA8AAAAKAAkAAAAGAA4AAAAKAAgAAAAGAA8AAAAKAAkAAAAHAA4AAAAKAAgAAAAHAA8AAAAKAAkAAAAIAA4AAAAKAAgAAAAIAA8AAAAKAAkAAAAJAA4AAAAKAAgAAAAJAA8AAAAKAAkAAAAKAA4AAAAKAAgAAAAKAA8AAAAKAAkAAAALAA4AAAAKAAgAAAALAA8AAAAKAAkAAAA=")
tile_set = ExtResource("4_em3f4")
metadata/_edit_lock_ = true
[node name="Props" type="TileMapLayer" parent="Tilemaps"]
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_set = ExtResource("4_em3f4")
metadata/_edit_lock_ = true
[node name="Actors" type="Node2D" parent="Tilemaps"]
metadata/_edit_lock_ = true
[node name="FSMEnemy" type="CharacterBody2D" parent="Tilemaps/Actors"]
position = Vector2(161.783, 298.229)
script = ExtResource("7_cko4a")
metadata/_edit_group_ = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="Tilemaps/Actors/FSMEnemy"]
shape = SubResource("CircleShape2D_5xgmc")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Tilemaps/Actors/FSMEnemy"]
sprite_frames = ExtResource("8_gp1xa")
animation = &"down"
[node name="Idle" type="Node2D" parent="Tilemaps/Actors/FSMEnemy"]
[node name="CameraController" type="Camera2D" parent="."]
process_mode = 1
script = ExtResource("11_uct4d")

View file

@ -0,0 +1,116 @@
[gd_scene load_steps=26 format=4 uid="uid://bitld8jkjkflo"]
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_5vq8r"]
[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_hw6hf"]
[ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="3_27s7d"]
[ext_resource type="Resource" uid="uid://cs3ihltcn2166" path="res://Resources/Items/IcicleGun.tres" id="3_uktdb"]
[ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="4_6qpgj"]
[ext_resource type="Resource" uid="uid://cfq121rs3bsu8" path="res://Resources/Items/Cheat_Gun_Item.tres" id="4_wr8yc"]
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_y4jv8"]
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_b3f46"]
[ext_resource type="Script" uid="uid://o7euvh7co21t" path="res://Scripts/Actors/BossSpawner.cs" id="6_t0f5c"]
[ext_resource type="PackedScene" uid="uid://d1rlw6ddpmrn8" path="res://Scenes/Actors/Rumia.tscn" id="7_27s7d"]
[ext_resource type="Script" uid="uid://cfya7sndh7vy2" path="res://Scenes/CameraController.gd" id="7_e816t"]
[ext_resource type="PackedScene" uid="uid://bwlstkdibs7oc" path="res://Scenes/HUD/BossHud.tscn" id="7_grrkd"]
[ext_resource type="PackedScene" uid="uid://crph24e6e0v0q" path="res://Scenes/Interactable/Control_Pad.tscn" id="8_6qpgj"]
[ext_resource type="Script" uid="uid://c5nxsq3tyxcx6" path="res://Scripts/InventoryManager.cs" id="8_t0f5c"]
[ext_resource type="Script" uid="uid://cdd6q2h0t1hhq" path="res://Scripts/Resources/BossPhase.cs" id="8_uktdb"]
[ext_resource type="PackedScene" uid="uid://dkwi1hu1bixoe" path="res://Scenes/HUD/HUD.tscn" id="9_grrkd"]
[ext_resource type="Resource" uid="uid://ccj0cqbveey8c" path="res://Resources/BossPhases/Rumia_SP1.tres" id="9_wr8yc"]
[ext_resource type="Texture2D" uid="uid://begjak1f47840" path="res://Sprites/Expression/Rumia/Rumia05_resized.png" id="10_1mcdj"]
[ext_resource type="Script" uid="uid://bdshph801ac2i" path="res://Scenes/CameraTarget.gd" id="10_uktdb"]
[ext_resource type="Script" uid="uid://inasa76li3ym" path="res://Scripts/Resources/ScriptableBullets/BossScript.cs" id="11_vcaqw"]
[ext_resource type="Script" uid="uid://cnkipcolyj61w" path="res://Scripts/AlarmManager.cs" id="11_wr8yc"]
[ext_resource type="PackedScene" uid="uid://b3tyacxxw88lx" path="res://Scenes/Utils/StreamPlayerWithName.tscn" id="12_1mcdj"]
[ext_resource type="Script" uid="uid://kig2pxmy6nud" path="res://Scripts/Actors/SpellClassTest.cs" id="17_1mcdj"]
[sub_resource type="Resource" id="Resource_6wo78"]
script = ExtResource("4_6qpgj")
EggIndex = 0
StartingEquipment = [ExtResource("3_uktdb"), ExtResource("4_wr8yc")]
[sub_resource type="Resource" id="Resource_cfs7m"]
script = ExtResource("11_vcaqw")
BossName = &"Rumia"
Phases = Array[ExtResource("8_uktdb")]([ExtResource("9_wr8yc")])
PortraitTexture = ExtResource("10_1mcdj")
HudPrefab = ExtResource("7_grrkd")
metadata/_custom_type_script = "uid://inasa76li3ym"
[node name="GameScene" type="Node2D"]
process_mode = 3
script = ExtResource("1_5vq8r")
PlayerTemplate = ExtResource("2_hw6hf")
SpawnMarkers = Dictionary[int, NodePath]({
0: NodePath("PlayerStartPosition")
})
StartingEquipment = Array[ExtResource("3_27s7d")]([ExtResource("3_uktdb"), ExtResource("4_wr8yc")])
MapStartData = SubResource("Resource_6wo78")
[node name="Tilemaps" type="Node2D" parent="."]
process_mode = 1
[node name="Floor" type="TileMapLayer" parent="Tilemaps" node_paths=PackedStringArray("_solidLayers") groups=["Solid"]]
tile_map_data = PackedByteArray("AAAEABAAAAAEAAAAAAAEABEAAAAEAAAAAAAEABIAAAAEAAAAAAAEABMAAAAEAAAAAAAEABQAAAAEAAAAAAAEABUAAAAEAAAAAAAEABYAAAAEAAAAAAAFABAAAAAEAAAAAAAFABEAAAAEAAAAAAAFABIAAAAEAAAAAAAFABMAAAAEAAAAAAAFABQAAAAEAAAAAAAFABUAAAAEAAAAAAAFABYAAAAEAAAAAAAGABAAAAAEAAAAAAAGABEAAAAEAAAAAAAGABIAAAAEAAAAAAAGABMAAAAEAAAAAAAGABQAAAAEAAAAAAAGABUAAAAEAAAAAAAGABYAAAAEAAAAAAAHABAAAAAEAAAAAAAHABEAAAAEAAAAAAAHABIAAAAEAAAAAAAHABMAAAAEAAAAAAAHABQAAAAEAAAAAAAHABUAAAAEAAAAAAAHABYAAAAEAAAAAAAIABAAAAAEAAAAAAAIABEAAAAEAAAAAAAIABIAAAAEAAAAAAAIABMAAAAEAAAAAAAIABQAAAAEAAAAAAAIABUAAAAEAAAAAAAIABYAAAAEAAAAAAAJABAAAAAEAAAAAAAJABEAAAAEAAAAAAAJABIAAAAEAAAAAAAJABMAAAAEAAAAAAAJABQAAAAEAAAAAAAJABUAAAAEAAAAAAAJABYAAAAEAAAAAAAKABAAAAAEAAAAAAAKABEAAAAEAAAAAAAKABIAAAAEAAAAAAAKABMAAAAEAAAAAAAKABQAAAAEAAAAAAAKABUAAAAEAAAAAAAKABYAAAAEAAAAAAADABAAAAAEAAAAAAADABEAAAAEAAAAAAADABIAAAAEAAAAAAADABMAAAAEAAAAAAADABQAAAAEAAAAAAADABUAAAAEAAAAAAADABYAAAAEAAAAAAADABcAAAAEAAAAAAADABgAAAAEAAAAAAAEABcAAAAEAAAAAAAEABgAAAAEAAAAAAAFABcAAAAEAAAAAAAFABgAAAAEAAAAAAAGABcAAAAEAAAAAAAGABgAAAAEAAAAAAAHABcAAAAEAAAAAAAHABgAAAAEAAAAAAAIABcAAAAEAAAAAAAIABgAAAAEAAAAAAAJABcAAAAEAAAAAAAJABgAAAAEAAAAAAAKABcAAAAEAAAAAAAKABgAAAAEAAAAAAALABAAAAAEAAAAAAALABEAAAAEAAAAAAALABIAAAAEAAAAAAALABMAAAAEAAAAAAALABQAAAAEAAAAAAALABUAAAAEAAAAAAALABYAAAAEAAAAAAALABcAAAAEAAAAAAALABgAAAAEAAAAAAAAABAAAAAEAAAAAAABABAAAAAEAAAAAAACABEAAAAEAAAAAAAMABkAAAAEAAAAAAANABoAAAAEAAAAAAAOABoAAAAEAAAAAAAOABsAAAAEAAAAAAAPABsAAAAEAAAAAAAAABEAAAAEAAAAAAAAABIAAAAEAAAAAAAAABMAAAAEAAAAAAAAABQAAAAEAAAAAAAAABUAAAAEAAAAAAAAABYAAAAEAAAAAAAAABcAAAAEAAAAAAAAABgAAAAEAAAAAAAAABkAAAAEAAAAAAAAABoAAAAEAAAAAAAAABsAAAAEAAAAAAABABEAAAAEAAAAAAABABIAAAAEAAAAAAABABMAAAAEAAAAAAABABQAAAAEAAAAAAABABUAAAAEAAAAAAABABYAAAAEAAAAAAABABcAAAAEAAAAAAABABgAAAAEAAAAAAABABkAAAAEAAAAAAABABoAAAAEAAAAAAABABsAAAAEAAAAAAACABAAAAAEAAAAAAACABIAAAAEAAAAAAACABMAAAAEAAAAAAACABQAAAAEAAAAAAACABUAAAAEAAAAAAACABYAAAAEAAAAAAACABcAAAAEAAAAAAACABgAAAAEAAAAAAACABkAAAAEAAAAAAACABoAAAAEAAAAAAACABsAAAAEAAAAAAADABkAAAAEAAAAAAADABoAAAAEAAAAAAADABsAAAAEAAAAAAAEABkAAAAEAAAAAAAEABoAAAAEAAAAAAAEABsAAAAEAAAAAAAFABkAAAAEAAAAAAAFABoAAAAEAAAAAAAFABsAAAAEAAAAAAAGABkAAAAEAAAAAAAGABoAAAAEAAAAAAAGABsAAAAEAAAAAAAHABkAAAAEAAAAAAAHABoAAAAEAAAAAAAHABsAAAAEAAAAAAAIABkAAAAEAAAAAAAIABoAAAAEAAAAAAAIABsAAAAEAAAAAAAJABkAAAAEAAAAAAAJABoAAAAEAAAAAAAJABsAAAAEAAAAAAAKABkAAAAEAAAAAAAKABoAAAAEAAAAAAAKABsAAAAEAAAAAAALABkAAAAEAAAAAAALABoAAAAEAAAAAAALABsAAAAEAAAAAAAMABAAAAAEAAAAAAAMABEAAAAEAAAAAAAMABIAAAAEAAAAAAAMABMAAAAEAAAAAAAMABQAAAAEAAAAAAAMABUAAAAEAAAAAAAMABYAAAAEAAAAAAAMABcAAAAEAAAAAAAMABgAAAAEAAAAAAAMABoAAAAEAAAAAAAMABsAAAAEAAAAAAANABAAAAAEAAAAAAANABEAAAAEAAAAAAANABIAAAAEAAAAAAANABMAAAAEAAAAAAANABQAAAAEAAAAAAANABUAAAAEAAAAAAANABYAAAAEAAAAAAANABcAAAAEAAAAAAANABgAAAAEAAAAAAANABkAAAAEAAAAAAANABsAAAAEAAAAAAAOABAAAAAEAAAAAAAOABEAAAAEAAAAAAAOABIAAAAEAAAAAAAOABMAAAAEAAAAAAAOABQAAAAEAAAAAAAOABUAAAAEAAAAAAAOABYAAAAEAAAAAAAOABcAAAAEAAAAAAAOABgAAAAEAAAAAAAOABkAAAAEAAAAAAAPABAAAAAEAAAAAAAPABEAAAAEAAAAAAAPABIAAAAEAAAAAAAPABMAAAAEAAAAAAAPABQAAAAEAAAAAAAPABUAAAAEAAAAAAAPABYAAAAEAAAAAAAPABcAAAAEAAAAAAAPABgAAAAEAAAAAAAPABkAAAAEAAAAAAAPABoAAAAEAAAAAAA=")
tile_set = ExtResource("5_y4jv8")
script = ExtResource("6_b3f46")
_solidLayers = [NodePath("../Solid"), NodePath("../Props")]
metadata/_edit_lock_ = true
[node name="Solid" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_map_data = PackedByteArray("AAACAA0AAAABAAQAAAADAA0AAAABAAQAAAAEAA0AAAABAAQAAAAFAA0AAAABAAQAAAAGAA0AAAABAAQAAAAHAA0AAAABAAQAAAAIAA0AAAABAAQAAAAJAA0AAAABAAQAAAAKAA0AAAABAAQAAAALAA0AAAABAAQAAAAMAA0AAAABAAQAAAADAA4AAAAKAAgAAAADAA8AAAAKAAkAAAAEAA4AAAAKAAgAAAAEAA8AAAAKAAkAAAAFAA4AAAAKAAgAAAAFAA8AAAAKAAkAAAAGAA4AAAAKAAgAAAAGAA8AAAAKAAkAAAAHAA4AAAAKAAgAAAAHAA8AAAAKAAkAAAAIAA4AAAAKAAgAAAAIAA8AAAAKAAkAAAAJAA4AAAAKAAgAAAAJAA8AAAAKAAkAAAAKAA4AAAAKAAgAAAAKAA8AAAAKAAkAAAALAA4AAAAKAAgAAAALAA8AAAAKAAkAAAAQAA0AAAABAAsAAAAPAA0AAAABAAQAAAAOAA0AAAABAAQAAAANAA0AAAABAAQAAAAQABwAAAABAAwAAAAQABsAAAAAAAQAAAAQABoAAAAAAAQAAAAQABkAAAAAAAQAAAAQABgAAAAAAAQAAAAQABcAAAAAAAQAAAAQABYAAAAAAAQAAAAQABUAAAAAAAQAAAAQABQAAAAAAAQAAAAQABMAAAAAAAQAAAAQABIAAAAAAAQAAAAQABEAAAAAAAQAAAAQABAAAAAAAAQAAAAQAA8AAAAAAAQAAAAQAA4AAAAAAAQAAAAPABwAAAABAAQAAAAOABwAAAABAAQAAAANABwAAAABAAQAAAAMABwAAAABAAQAAAALABwAAAABAAQAAAAKABwAAAABAAQAAAAJABwAAAABAAQAAAAIABwAAAABAAQAAAAHABwAAAABAAQAAAAGABwAAAABAAQAAAAFABwAAAABAAQAAAAEABwAAAABAAQAAAADABwAAAABAAQAAAACABwAAAABAAQAAAABABwAAAABAAQAAAAAABwAAAABAAQAAAD//xwAAAAAAAwAAAD//xsAAAAAAAQAAAD//xoAAAAAAAQAAAD//xkAAAAAAAQAAAD//xgAAAAAAAQAAAD//xcAAAAAAAQAAAD//xYAAAAAAAQAAAD//xUAAAAAAAQAAAD//xQAAAAAAAQAAAD//xMAAAAAAAQAAAD//xIAAAAAAAQAAAD//xEAAAAAAAQAAAD//xAAAAAAAAQAAAD//w8AAAAAAAQAAAD//w4AAAAAAAQAAAD//w0AAAAAAAsAAAABAA0AAAABAAQAAAAAAA0AAAABAAQAAAAAAA4AAAAKAAgAAAAAAA8AAAAKAAkAAAABAA4AAAAKAAgAAAABAA8AAAAKAAkAAAACAA4AAAAKAAgAAAACAA8AAAAKAAkAAAAMAA4AAAAKAAgAAAAMAA8AAAAKAAkAAAANAA4AAAAKAAgAAAANAA8AAAAKAAkAAAAOAA4AAAAKAAgAAAAOAA8AAAAKAAkAAAAPAA4AAAAKAAgAAAAPAA8AAAAKAAkAAAA=")
tile_set = ExtResource("5_y4jv8")
metadata/_edit_lock_ = true
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
tile_set = ExtResource("5_y4jv8")
metadata/_edit_lock_ = true
[node name="Actors" type="Node2D" parent="Tilemaps"]
metadata/_edit_lock_ = true
[node name="RumiaSpawnerSP1" type="Node2D" parent="Tilemaps/Actors"]
position = Vector2(127, 304)
script = ExtResource("6_t0f5c")
BossScript = SubResource("Resource_cfs7m")
ActorPrefab = ExtResource("7_27s7d")
[node name="ControlPad" parent="Tilemaps/Actors" node_paths=PackedStringArray("Target") instance=ExtResource("8_6qpgj")]
position = Vector2(34, 426)
Target = NodePath("../Node2D")
[node name="Node2D" type="Node2D" parent="Tilemaps/Actors"]
script = ExtResource("17_1mcdj")
[node name="CameraController" type="Camera2D" parent="."]
process_mode = 1
script = ExtResource("7_e816t")
pixel_snap = false
enable_smoothing = false
[node name="ReferenceRect" type="ReferenceRect" parent="."]
visible = false
offset_left = -38.0
offset_top = -39.0
offset_right = 124.0
offset_bottom = 44.0
[node name="InventoryManager" type="Node2D" parent="."]
script = ExtResource("8_t0f5c")
[node name="HUD" parent="." instance=ExtResource("9_grrkd")]
[node name="CameraTarget" type="Node2D" parent="."]
position = Vector2(115, 328)
script = ExtResource("10_uktdb")
[node name="PlayerStartPosition" type="Marker2D" parent="."]
position = Vector2(100, 424)
[node name="AlarmManager" type="Node2D" parent="."]
process_mode = 1
script = ExtResource("11_wr8yc")
[node name="AudioStreamPlayer2D" parent="." instance=ExtResource("12_1mcdj")]
process_mode = 3
autoplay = true

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=141 format=4 uid="uid://bv451a8wgty4u"]
[gd_scene load_steps=140 format=4 uid="uid://bv451a8wgty4u"]
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_8tmoj"]
[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_ksslq"]
@ -104,7 +104,6 @@
[ext_resource type="Resource" uid="uid://bj331rcsq65es" path="res://Resources/Bullets/EmitterTestBullet.tres" id="95_f37sa"]
[ext_resource type="Resource" uid="uid://dodwpect0ldjf" path="res://Resources/Items/Heart_Pickup.tres" id="95_srv0g"]
[ext_resource type="PackedScene" uid="uid://nupd3pg74vua" path="res://Scenes/Activable/ScriptableInvisibleEmitter.tscn" id="96_ygp23"]
[ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="97_0bqta"]
[ext_resource type="Script" uid="uid://c0ndqalsc4jve" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="98_gvbi8"]
[ext_resource type="Script" uid="uid://bngko08ho85p6" path="res://Scripts/Resources/BulletScript.cs" id="99_j6vrf"]
[ext_resource type="PackedScene" uid="uid://1yxieu8ekvkm" path="res://Scenes/Items/Heart_Extend_Pickup.tscn" id="99_xwjvv"]
@ -256,7 +255,7 @@ DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("97_0bqta")]([])
TimeModifiers = []
WaitForCompletion = true
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
@ -1066,7 +1065,7 @@ position = Vector2(-2000, -736)
[node name="ControlPad8" parent="Parallax2D/Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Targets") instance=ExtResource("12_hfkf1")]
position = Vector2(-2027, -735)
Targets = [NodePath("../HorizontalForceField")]
Requirements = Array[ExtResource("6_8tdlb")]([ExtResource("84_ma1ta")])
Requirements = [ExtResource("84_ma1ta")]
[node name="Ammo6" parent="Parallax2D/Factory Tilemaps/LevelProps" instance=ExtResource("34_17pjh")]
position = Vector2(-872, -220)

View file

@ -10,11 +10,11 @@ public partial class ActorSpawner : Node2D, IActivable
[Export] public bool WaitForActorDeath { get; private set; } = true;
public Actor SpawnedActor { get; private set; }
public Node2D SpawnedActor { get; private set; }
public virtual void Spawn()
{
SpawnedActor = this.CreateSibling<Actor>(ActorPrefab);
SpawnedActor = this.CreateSibling<Node2D>(ActorPrefab);
}
public bool Activate(ActivationType activationType = ActivationType.Toggle)

View file

@ -12,7 +12,7 @@ public partial class Boss : Enemy, IActivable, IScriptHost
{
[Export] public string BossName { get; private set; }
//[Export] private Array<BossPhase> Phases;
[Export] public BossScript BossScript { get; private set; }
[Export] public BossScript BossScript { get; set; }
//[Export] private PackedScene BossHudPrefab;
[Export] public Vector2 BossPhaseAnimationStartingPosition = new(180, 10);
@ -20,9 +20,7 @@ public partial class Boss : Enemy, IActivable, IScriptHost
private bool _started = false;
private bool _waiting = false;
private GameManager _gameManager;
public GameManager GameManager => _gameManager;
private Vector2 _homePosition;
public Vector2 HomePosition => _homePosition;
private BossPhase CurrentPhase => BossScript.Phases[currentPhaseIndex];
@ -48,19 +46,17 @@ public partial class Boss : Enemy, IActivable, IScriptHost
GD.PrintErr($"No boss script defined in {this.Name}");
return;
}
_gameManager = this.GetGameManager();
_homePosition = this.GlobalPosition;
_cameraMarker = new Marker2D();
_gameManager.CallDeferred("add_child", _cameraMarker);
GameManager.Instance.CallDeferred("add_child", _cameraMarker);
_cameraMarker.GlobalPosition = _homePosition + CameraOffset;
if (BossScript.HudPrefab is not null)
{
_bossHud = BossScript.HudPrefab.Instantiate<BossHud>();
_gameManager.CallDeferred("add_child", _bossHud);
GameManager.Instance.CallDeferred("add_child", _bossHud);
_bossHud.Name = $"{BossName}_BossHud";
_bossHud.Visible = false;
@ -121,7 +117,7 @@ public partial class Boss : Enemy, IActivable, IScriptHost
_bossHud.QueueFree();
}
_gameManager.CameraTargetPlayer();
GameManager.Instance.CameraTargetPlayer();
base.Explode();
}
@ -155,7 +151,7 @@ public partial class Boss : Enemy, IActivable, IScriptHost
{
_bossHud.Visible = true;
}
_gameManager.CameraTargetObject(_cameraMarker);
GameManager.Instance.CameraTargetObject(_cameraMarker);
StartPhase(CurrentPhase);
return true;

View file

@ -0,0 +1,20 @@
using Cirno.Scripts.Resources.ScriptableBullets;
using Godot;
namespace Cirno.Scripts.Actors;
public partial class BossSpawner : ActorSpawner
{
[Export] public BossScript BossScript { get; private set; }
public override void Spawn()
{
base.Spawn();
if (SpawnedActor is Boss boss)
{
boss.BossScript = BossScript;
boss.Activate();
}
}
}

View file

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