mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 10:15:45 +00:00
Now boss FSM Actor movement
This commit is contained in:
parent
4aa7a8322c
commit
c37278075d
19 changed files with 215 additions and 28 deletions
|
|
@ -7,6 +7,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_003ACharacterBody2D_002Ecs_002Fl_003AC_0021_003FUsers_003FMaddo_003FAppData_003FLocal_003FJetBrains_003FShared_003FvAny_003FSourcesCache_003Fbba0bbd7a98ee58286e9484fbe86e01afff6232283f6efd3556eb7116453_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>
|
||||
|
|
|
|||
BIN
ExternalMaterial/Table/Table.png
(Stored with Git LFS)
Normal file
BIN
ExternalMaterial/Table/Table.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
ExternalMaterial/Table/Table.png.import
Normal file
34
ExternalMaterial/Table/Table.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bd2hv6ccjfb0c"
|
||||
path="res://.godot/imported/Table.png-d9d1f491b46f2b20edc0e51d7b631de8.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ExternalMaterial/Table/Table.png"
|
||||
dest_files=["res://.godot/imported/Table.png-d9d1f491b46f2b20edc0e51d7b631de8.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,6 +1,7 @@
|
|||
[gd_resource type="Resource" script_class="BossPhase" load_steps=17 format=3 uid="uid://go6rfnglefe8"]
|
||||
[gd_resource type="Resource" script_class="BossPhase" load_steps=20 format=3 uid="uid://go6rfnglefe8"]
|
||||
|
||||
[ext_resource type="Resource" uid="uid://bpc2kyft8q2qq" path="res://Resources/Bullets/simple_enemy_bullet_big.tres" id="1_favpk"]
|
||||
[ext_resource type="Script" uid="uid://bgwt0pml2omnf" path="res://Scripts/AttackPatterns/NodeMovementPattern.cs" id="1_hmrwn"]
|
||||
[ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="2_36ba4"]
|
||||
[ext_resource type="Script" uid="uid://c0ndqalsc4jve" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="3_agmbo"]
|
||||
[ext_resource type="PackedScene" uid="uid://dohakkayqj4w2" path="res://Scenes/Weapons/Bullets/enemyBullet_green.tscn" id="4_agmbo"]
|
||||
|
|
@ -12,6 +13,7 @@
|
|||
[sub_resource type="Resource" id="Resource_n7vdy"]
|
||||
script = ExtResource("3_agmbo")
|
||||
BulletResource = ExtResource("1_favpk")
|
||||
EmitterOffset = Vector2(0, 0)
|
||||
bulletCount = 16
|
||||
rotationSpeed = 15.0
|
||||
_rotationOffset = 0.0
|
||||
|
|
@ -33,12 +35,21 @@ TimeModifiers = Array[ExtResource("2_36ba4")]([])
|
|||
WaitForCompletion = true
|
||||
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_wkdjr"]
|
||||
script = ExtResource("1_hmrwn")
|
||||
relativeTargetPosition = Vector2(64, 64)
|
||||
moveDuration = 2.0
|
||||
EaseType = 0
|
||||
WaitForCompletion = true
|
||||
metadata/_custom_type_script = "uid://bgwt0pml2omnf"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_du806"]
|
||||
script = ExtResource("5_tppsm")
|
||||
BulletScene = ExtResource("4_agmbo")
|
||||
BulletSpeed = 60.0
|
||||
Direction = Vector2(1, 0)
|
||||
BulletDamage = 12.0
|
||||
Knockback = 1.0
|
||||
LifeTime = 10.0
|
||||
DestroyOnCollision = true
|
||||
Owner = 2
|
||||
|
|
@ -54,6 +65,7 @@ metadata/_custom_type_script = "uid://dslyrfcej3g2n"
|
|||
[sub_resource type="Resource" id="Resource_hmrwn"]
|
||||
script = ExtResource("3_agmbo")
|
||||
BulletResource = SubResource("Resource_du806")
|
||||
EmitterOffset = Vector2(0, 0)
|
||||
bulletCount = 8
|
||||
rotationSpeed = 0.0
|
||||
_rotationOffset = -90.0
|
||||
|
|
@ -75,9 +87,18 @@ TimeModifiers = Array[ExtResource("2_36ba4")]([])
|
|||
WaitForCompletion = true
|
||||
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_hrgj4"]
|
||||
script = ExtResource("1_hmrwn")
|
||||
relativeTargetPosition = Vector2(0, 0)
|
||||
moveDuration = 2.0
|
||||
EaseType = 10
|
||||
WaitForCompletion = true
|
||||
metadata/_custom_type_script = "uid://bgwt0pml2omnf"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_tppsm"]
|
||||
script = ExtResource("3_agmbo")
|
||||
BulletResource = ExtResource("1_favpk")
|
||||
EmitterOffset = Vector2(0, 0)
|
||||
bulletCount = 16
|
||||
rotationSpeed = -15.0
|
||||
_rotationOffset = 0.0
|
||||
|
|
@ -105,6 +126,7 @@ BulletScene = ExtResource("7_du806")
|
|||
BulletSpeed = 120.0
|
||||
Direction = Vector2(1, 0)
|
||||
BulletDamage = 12.0
|
||||
Knockback = 1.0
|
||||
LifeTime = 10.0
|
||||
DestroyOnCollision = true
|
||||
Owner = 2
|
||||
|
|
@ -120,6 +142,7 @@ metadata/_custom_type_script = "uid://dslyrfcej3g2n"
|
|||
[sub_resource type="Resource" id="Resource_ctoyw"]
|
||||
script = ExtResource("3_agmbo")
|
||||
BulletResource = SubResource("Resource_ll7yb")
|
||||
EmitterOffset = Vector2(0, 0)
|
||||
bulletCount = 1
|
||||
rotationSpeed = 0.0
|
||||
_rotationOffset = 0.0
|
||||
|
|
@ -147,6 +170,7 @@ BulletScene = ExtResource("6_tppsm")
|
|||
BulletSpeed = 80.0
|
||||
Direction = Vector2(1, 0)
|
||||
BulletDamage = 12.0
|
||||
Knockback = 1.0
|
||||
LifeTime = 10.0
|
||||
DestroyOnCollision = true
|
||||
Owner = 2
|
||||
|
|
@ -162,6 +186,7 @@ metadata/_custom_type_script = "uid://dslyrfcej3g2n"
|
|||
[sub_resource type="Resource" id="Resource_we0cr"]
|
||||
script = ExtResource("3_agmbo")
|
||||
BulletResource = SubResource("Resource_qhi1m")
|
||||
EmitterOffset = Vector2(0, 0)
|
||||
bulletCount = 1
|
||||
rotationSpeed = 0.0
|
||||
_rotationOffset = 0.0
|
||||
|
|
@ -188,5 +213,5 @@ script = ExtResource("4_tppsm")
|
|||
PhaseName = "Asdf"
|
||||
Threshold = 0
|
||||
PlayAnimation = false
|
||||
Patterns = Array[Object]([SubResource("Resource_n7vdy"), SubResource("Resource_hmrwn"), SubResource("Resource_tppsm"), SubResource("Resource_ctoyw"), SubResource("Resource_we0cr")])
|
||||
Patterns = Array[Object]([SubResource("Resource_n7vdy"), SubResource("Resource_wkdjr"), SubResource("Resource_hmrwn"), SubResource("Resource_hrgj4"), SubResource("Resource_tppsm"), SubResource("Resource_ctoyw"), SubResource("Resource_we0cr")])
|
||||
metadata/_custom_type_script = "uid://cdd6q2h0t1hhq"
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@
|
|||
|
||||
[resource]
|
||||
script = ExtResource("5_odelv")
|
||||
RoomName = &"LongX3Map"
|
||||
RoomName = &"Factory_Vertical_Corridor"
|
||||
Type = 1
|
||||
ScenePath = &"uid://ss7hm1utnvn1"
|
||||
ScenePath = &"uid://o010o1aq0jkp"
|
||||
Size = Vector2i(1, 3)
|
||||
StartShrouded = true
|
||||
DoorGridPositions = Array[Vector2i]([Vector2i(0, -1), Vector2i(0, 1), Vector2i(1, 0), Vector2i(-1, 0)])
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=39 format=3 uid="uid://clyrne78j3f5a"]
|
||||
[gd_scene load_steps=40 format=3 uid="uid://clyrne78j3f5a"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bi2edpdosngll" path="res://Scripts/Components/FSM/Enemy/EnemyFSMProxy.cs" id="1_krhq1"]
|
||||
[ext_resource type="Resource" uid="uid://ng3lpe8ifbsn" path="res://Resources/Enemies/Boss_1.tres" id="2_u32k8"]
|
||||
|
|
@ -30,6 +30,7 @@
|
|||
[ext_resource type="Script" uid="uid://dq338w2lw5phl" path="res://Scripts/Components/Actors/KeyboardInputProvider.cs" id="25_8rqch"]
|
||||
[ext_resource type="Script" uid="uid://d208gvthkstvc" path="res://Scripts/Components/Actors/PlayerCrosshairProvider.cs" id="26_q2yik"]
|
||||
[ext_resource type="Texture2D" uid="uid://cf2855sd3hqty" path="res://Sprites/Actors/Aiming_Reticule_Small.png" id="27_8kytv"]
|
||||
[ext_resource type="Script" uid="uid://c2mngevyoefky" path="res://Scripts/Components/FSM/Boss/BossScriptHostModule.cs" id="31_003dv"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_pnkma"]
|
||||
radius = 23.0217
|
||||
|
|
@ -111,17 +112,14 @@ DamageReceiver = NodePath("../../DamageReceiver")
|
|||
NavigationModule = NodePath("../../NavigationModule")
|
||||
_moduleNodes = [NodePath("../../AnimationModule")]
|
||||
|
||||
[node name="Shooting" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("DamageReceiver", "EquippedWeapon", "StorageModule", "_moduleNodes")]
|
||||
[node name="Shooting" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("DamageReceiver", "EquippedWeapon", "StorageModule", "BossScriptHostModule", "_moduleNodes")]
|
||||
script = ExtResource("7_u32k8")
|
||||
DamageReceiver = NodePath("../../DamageReceiver")
|
||||
EquippedWeapon = NodePath("../../EnemyWeapon")
|
||||
StorageModule = NodePath("../../Storage")
|
||||
BossScriptHostModule = NodePath("../../ScriptHostModule")
|
||||
BossScript = ExtResource("8_q8sxg")
|
||||
_moduleNodes = [NodePath("../../AnimationModule")]
|
||||
|
||||
[node name="BulletSpawner" type="Node2D" parent="StateMachine/Shooting"]
|
||||
script = ExtResource("13_3n0dy")
|
||||
BulletScene = ExtResource("14_d5ed4")
|
||||
_moduleNodes = [NodePath("../../AnimationModule"), NodePath("../../ScriptHostModule")]
|
||||
|
||||
[node name="Dead" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("StorageModule", "DropsProvider")]
|
||||
script = ExtResource("8_3n0dy")
|
||||
|
|
@ -232,6 +230,14 @@ CrosshairDistance = 35.0
|
|||
[node name="Crosshair" type="AnimatedSprite2D" parent="CrosshairProvider"]
|
||||
sprite_frames = SubResource("SpriteFrames_biwfl")
|
||||
|
||||
[node name="ScriptHostModule" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule")]
|
||||
script = ExtResource("31_003dv")
|
||||
StorageModule = NodePath("../Storage")
|
||||
|
||||
[node name="BulletSpawner" type="Node2D" parent="ScriptHostModule"]
|
||||
script = ExtResource("13_3n0dy")
|
||||
BulletScene = ExtResource("14_d5ed4")
|
||||
|
||||
[connection signal="area_entered" from="PlayerDetection" to="PlayerDetection" method="_on_area_entered"]
|
||||
[connection signal="area_exited" from="PlayerDetection" to="PlayerDetection" method="_on_area_exited"]
|
||||
[connection signal="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"]
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ process_mode = 1
|
|||
y_sort_enabled = true
|
||||
script = ExtResource("4_jtlua")
|
||||
MapThemes = Array[Object]([ExtResource("25_7gtqx")])
|
||||
ManualSeed = "10654867435605601236"
|
||||
|
||||
[node name="CameraController" parent="." instance=ExtResource("6_gwtv6")]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,20 @@
|
|||
[gd_scene load_steps=12 format=4 uid="uid://o010o1aq0jkp"]
|
||||
[gd_scene load_steps=15 format=4 uid="uid://o010o1aq0jkp"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_cr0e6"]
|
||||
[ext_resource type="Resource" uid="uid://dyant7sb34jt1" path="res://Resources/RogueliteMaps/Factory_Vertical_Corridor.tres" id="2_cr0e6"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="3_xdgau"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="4_2w7cp"]
|
||||
[ext_resource type="Script" uid="uid://8umfjejbkcsm" path="res://Scripts/Actors/RogueliteEnemySpawner.cs" id="5_7gtxd"]
|
||||
[ext_resource type="PackedScene" uid="uid://dcbcyp1qogcl0" path="res://Scenes/Props/BigTankHorizontal.tscn" id="5_xdgau"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="6_2w7cp"]
|
||||
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="6_mrmg4"]
|
||||
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="7_fgi8q"]
|
||||
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="8_5wqsi"]
|
||||
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="9_2w7cp"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(166, 58, 294, 58, 294, 454, 166, 454, 166, 470, 154, 470, 154, 454, 154, 58, 26, 454, 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(56, 436, 56, 438, 40, 438, 26, 436, 26, 454, 40, 454, 218, 170, 265, 182, 265, 198, 264, 198, 72, 196, 136, 180, 166, 58, 262, 58, 262, 77, 218, 70, 294, 77, 294, 86, 248, 86, 248, 132, 294, 132, 294, 182, 264, 214, 182, 214, 182, 282, 248, 282, 248, 292, 182, 310, 138, 310, 136, 294, 294, 292, 294, 310, 278, 310, 278, 378, 280, 378, 280, 436, 264, 404, 294, 436, 294, 454, 280, 438, 280, 454, 250, 438, 250, 404, 264, 378, 266, 378, 266, 310, 136, 406, 182, 394, 200, 394, 200, 420, 166, 454, 154, 454, 136, 452, 214, 420, 214, 454, 166, 470, 154, 470, 106, 454, 106, 452, 106, 406, 106, 394, 138, 394, 136, 310, 105, 294, 105, 310, 54, 310, 88, 292, 54, 378, 70, 378, 70, 422, 56, 406, 56, 422, 26, 406, 42, 378, 26, 378, 42, 310, 26, 310, 26, 292, 88, 282, 138, 282, 138, 214, 40, 214, 40, 198, 26, 198, 26, 136, 40, 196, 40, 102, 26, 102, 26, 84, 40, 84, 40, 78, 86, 78, 86, 154, 40, 136, 72, 166, 88, 154, 88, 164, 104, 164, 104, 180, 136, 171, 169, 171, 169, 170, 218, 120, 232, 120, 232, 86, 218, 86, 138, 70, 138, 58, 154, 58, 154, 10, 166, 10, 40, 166)
|
||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(4, 3, 2, 5), PackedInt32Array(6, 7, 8, 9, 10, 11), PackedInt32Array(12, 13, 14, 15), PackedInt32Array(14, 16, 17, 18), PackedInt32Array(19, 20, 21, 7, 6), PackedInt32Array(9, 22, 23, 10), PackedInt32Array(24, 25, 26, 27, 28, 29), PackedInt32Array(26, 30, 31, 32), PackedInt32Array(33, 34, 35, 36), PackedInt32Array(35, 37, 38, 39), PackedInt32Array(38, 40, 39), PackedInt32Array(35, 39, 41, 42, 36), PackedInt32Array(36, 43, 44), PackedInt32Array(33, 36, 44, 32), PackedInt32Array(32, 44, 45), PackedInt32Array(26, 32, 45), PackedInt32Array(26, 45, 27), PackedInt32Array(46, 47, 48, 49, 50, 51, 52), PackedInt32Array(49, 53, 54, 50), PackedInt32Array(50, 55, 56, 51), PackedInt32Array(51, 57, 58, 52), PackedInt32Array(46, 59, 60, 61), PackedInt32Array(28, 62, 29), PackedInt32Array(63, 64, 65, 66), PackedInt32Array(67, 68, 69, 70), PackedInt32Array(69, 71, 70), PackedInt32Array(67, 70, 72, 73), PackedInt32Array(72, 74, 73), PackedInt32Array(65, 67, 73, 75), PackedInt32Array(75, 76, 77, 66), PackedInt32Array(65, 75, 66), PackedInt32Array(63, 66, 78, 79, 29), PackedInt32Array(80, 81, 82, 10), PackedInt32Array(82, 83, 84, 85), PackedInt32Array(86, 87, 88, 89), PackedInt32Array(89, 90, 91, 92), PackedInt32Array(86, 89, 92), PackedInt32Array(93, 86, 92), PackedInt32Array(94, 92, 95, 96, 10), PackedInt32Array(96, 97, 98, 10), PackedInt32Array(11, 99, 100), PackedInt32Array(100, 101, 6), PackedInt32Array(6, 102, 103, 19), PackedInt32Array(104, 105, 15, 14), PackedInt32Array(15, 106, 107, 108), PackedInt32Array(108, 109, 110, 12), PackedInt32Array(15, 108, 12), PackedInt32Array(104, 14, 18), PackedInt32Array(104, 18, 19, 103), PackedInt32Array(47, 46, 61, 27), PackedInt32Array(27, 61, 28), PackedInt32Array(24, 29, 79, 23), PackedInt32Array(23, 79, 80), PackedInt32Array(10, 23, 80), PackedInt32Array(85, 10, 82), PackedInt32Array(111, 85, 84), PackedInt32Array(111, 84, 93, 92, 94), PackedInt32Array(10, 98, 11), PackedInt32Array(6, 11, 100)])
|
||||
outlines = Array[PackedVector2Array]([PackedVector2Array(17, 36, 14, 12, 47, 15, 49, 34)])
|
||||
parsed_collision_mask = 353
|
||||
source_geometry_mode = 1
|
||||
|
|
@ -40,12 +43,13 @@ _solidLayers = [NodePath("../Solid"), NodePath("../Props")]
|
|||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Solid" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAATAAAAAAABAAsAAAASAAAAAAABAAQAAAARAAAAAAABAAQAAAAQAAAAAAABAAQAAAAPAAAAAAABAAQAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAAEAAsAAAAGAAAAAAAFAAsAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAAAAQAAAATAAEAAAAAAAQAAAAAAAIAAAAAAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAQAAAAAAAgAAAAAAAQAAAAAAAcAAAAAAAQAAAAAAAYAAAAAAAQAAAATAAkAAAAAAAQAAAATAAgAAAAAAAQAAAATAAcAAAAAAAQAAAATAAYAAAAAAAQAAAATAAMAAAAAAAQAAAATAAQAAAAAAAQAAAALAAEAAAAPAAgAAAALAAIAAAAPAAkAAAAMAAEAAAAPAAgAAAAMAAIAAAAPAAkAAAANAAEAAAAPAAgAAAANAAIAAAAPAAkAAAAOAAEAAAAPAAgAAAAOAAIAAAAPAAkAAAAPAAEAAAAPAAgAAAAPAAIAAAAPAAkAAAAQAAEAAAAPAAgAAAAQAAIAAAAPAAkAAAARAAEAAAAPAAgAAAARAAIAAAAPAAkAAAASAAEAAAAPAAgAAAASAAIAAAAPAAkAAAABAAEAAAAPAAgAAAABAAIAAAAPAAkAAAACAAEAAAAPAAgAAAACAAIAAAAPAAkAAAADAAEAAAAPAAgAAAADAAIAAAAPAAkAAAAEAAEAAAAPAAgAAAAEAAIAAAAPAAkAAAAFAAEAAAAPAAgAAAAFAAIAAAAPAAkAAAAGAAEAAAAAAAYAAAAGAAIAAAAAAAYAAAAHAAEAAAACAAYAAAAHAAIAAAACAAYAAAAIAAEAAAAPAAgAAAAIAAIAAAAPAAkAAAAAAAMAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAoAAAAAAAQAAAAAAAsAAAAAAAQAAAAAAAwAAAAAAAQAAAAAAA0AAAAAAAQAAAAAAA4AAAABAA4AAAAAABAAAAAAAAQAAAAAABEAAAAAAAQAAAAAABIAAAAAAAQAAAAAABMAAAAAAAQAAAATAAoAAAAAAAQAAAATAAsAAAAAAAQAAAATAAwAAAAAAAQAAAATAA0AAAAAAAQAAAATAA4AAAABAA0AAAATABAAAAAAAAQAAAATABEAAAAAAAQAAAATABIAAAAAAAQAAAATABMAAAAAAAQAAAAAABQAAAABAA4AAAAAABUAAAAAAAQAAAAAABYAAAAAAAQAAAAAABcAAAAAAAQAAAAAABgAAAAAAAQAAAAAABoAAAAAAAQAAAAAABsAAAAAAAQAAAAAABwAAAAAAAQAAAAAAB0AAAAAAAwAAAABAB0AAAABAAQAAAACAB0AAAABAAQAAAADAB0AAAABAAQAAAAEAB0AAAABAAQAAAAFAB0AAAAAAA4AAAAGAB0AAAABAAQAAAAHAB0AAAABAAQAAAAIAB0AAAADAAQAAAALAB0AAAACAAQAAAAMAB0AAAABAAQAAAANAB0AAAABAAQAAAAOAB0AAAAAAA4AAAAPAB0AAAABAAQAAAAQAB0AAAABAAQAAAARAB0AAAABAAQAAAASAB0AAAABAAQAAAATABQAAAABAA0AAAATABUAAAAAAAQAAAATABYAAAAAAAQAAAATABcAAAAAAAQAAAATABgAAAAAAAQAAAATABoAAAAAAAQAAAATABsAAAAAAAQAAAATABwAAAAAAAQAAAATAB0AAAABAAwAAAAAAAUAAAAAAAQAAAAAAA8AAAAAAAQAAAAAABkAAAAAAAQAAAATAAUAAAAAAAQAAAATAA8AAAAAAAQAAAATABkAAAAAAAQAAAAHAAMAAAACAAYAAAAHAAQAAAACAAYAAAAGAAQAAAAAAAYAAAAGAAMAAAAAAAYAAAAMAAYAAAACAAYAAAAMAAUAAAACAAUAAAALAAYAAAABAAgAAAALAAUAAAABAAUAAAAKAAYAAAABAAcAAAAKAAUAAAABAAUAAAAJAAYAAAABAAcAAAAJAAUAAAABAAUAAAAIAAYAAAABAAcAAAAIAAUAAAABAAUAAAAHAAYAAAABAAcAAAAHAAUAAAAAAAkAAAAGAAYAAAAAAAcAAAAGAAUAAAAAAAYAAAAMAAcAAAACAAcAAAALAAcAAAAAAAcAAAAOABwAAAAAAAQAAAAOABsAAAAAAAQAAAAOABoAAAAAAAQAAAAOABkAAAAAAAQAAAAFABwAAAAAAAQAAAAFABsAAAAAAAQAAAAFABoAAAAAAAQAAAAFABkAAAAAAAQAAAAFABgAAAAAAAQAAAAOABgAAAAAAAQAAAAFABcAAAAAAAQAAAAOABcAAAAAAAQAAAAFABYAAAAAAAQAAAAFABUAAAACAAsAAAAHABUAAAACAAcAAAAGABUAAAABAAcAAAAOABUAAAADAAsAAAANABUAAAABAAcAAAAMABUAAAAAAAcAAAAOABYAAAAAAAQAAAAGABYAAAAPAAgAAAAGABcAAAAPAAkAAAAHABYAAAAPAAgAAAAHABcAAAAPAAkAAAAMABYAAAAPAAgAAAAMABcAAAAPAAkAAAANABYAAAAPAAgAAAANABcAAAAPAAkAAAAHABQAAAACAAUAAAAGABQAAAABAAUAAAAFABQAAAAFAAsAAAAOABQAAAAEAAsAAAANABQAAAABAAUAAAAMABQAAAAAAAUAAAAHAA4AAAADAAQAAAAGAA4AAAABAAQAAAAFAA4AAAABAAQAAAAEAA4AAAABAAQAAAADAA4AAAABAAQAAAACAA4AAAABAAQAAAABAA4AAAABAAQAAAASAA4AAAABAAQAAAARAA4AAAABAAQAAAAQAA4AAAABAAQAAAAPAA4AAAABAAQAAAAOAA4AAAABAAQAAAANAA4AAAABAAQAAAAMAA4AAAACAAQAAAAHAA8AAAAPAAgAAAAHABAAAAAPAAkAAAAGAA8AAAAPAAgAAAAGABAAAAAPAAkAAAAFAA8AAAAPAAgAAAAFABAAAAAPAAkAAAAEAA8AAAAPAAgAAAAEABAAAAAPAAkAAAADAA8AAAAPAAgAAAADABAAAAAPAAkAAAACAA8AAAAPAAgAAAACABAAAAAPAAkAAAABAA8AAAAPAAgAAAABABAAAAAPAAkAAAAMAA8AAAAPAAgAAAAMABAAAAAPAAkAAAANAA8AAAAPAAgAAAANABAAAAAPAAkAAAAOAA8AAAAPAAgAAAAOABAAAAAPAAkAAAAPAA8AAAAPAAgAAAAPABAAAAAPAAkAAAAQAA8AAAAPAAgAAAAQABAAAAAPAAkAAAARAA8AAAAPAAgAAAARABAAAAAPAAkAAAASAA8AAAAPAAgAAAASABAAAAAPAAkAAAAEABQAAAACAAQAAAABABQAAAADAAQAAAAPABQAAAADAAQAAAASABQAAAACAAQAAAASABUAAAAPAAgAAAASABYAAAAPAAkAAAAPABUAAAAPAAgAAAAPABYAAAAPAAkAAAAEABUAAAAPAAgAAAAEABYAAAAPAAkAAAABABUAAAAPAAgAAAABABYAAAAPAAkAAAALAAgAAAAPAAgAAAALAAkAAAAPAAkAAAAMAAgAAAAPAAgAAAAMAAkAAAAPAAkAAAAGAAcAAAAPAAgAAAAGAAgAAAAPAAkAAAAHAAcAAAAPAAgAAAAHAAgAAAAPAAkAAAAIAAcAAAAPAAgAAAAIAAgAAAAPAAkAAAAJAAcAAAAPAAgAAAAJAAgAAAAPAAkAAAAKAAcAAAAPAAgAAAAKAAgAAAAPAAkAAAA=")
|
||||
tile_map_data = PackedByteArray("AAATAAAAAAABAAsAAAASAAAAAAABAAQAAAARAAAAAAABAAQAAAAQAAAAAAABAAQAAAAPAAAAAAABAAQAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAAEAAsAAAAGAAAAAAAFAAsAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAAAAQAAAATAAEAAAAAAAQAAAAAAAIAAAAAAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAQAAAAAAAgAAAAAAAQAAAAAAAcAAAAAAAQAAAAAAAYAAAAAAAQAAAATAAkAAAAAAAQAAAATAAgAAAAAAAQAAAATAAcAAAAAAAQAAAATAAYAAAAAAAQAAAATAAMAAAAAAAQAAAATAAQAAAAAAAQAAAALAAEAAAAPAAgAAAALAAIAAAAPAAkAAAAMAAEAAAAJAAIAAAAMAAIAAAAJAAMAAAANAAEAAAAKAAIAAAANAAIAAAAKAAMAAAAOAAEAAAAKAAoAAAAOAAIAAAAKAAsAAAAPAAEAAAAJAAoAAAAPAAIAAAAJAAsAAAAQAAEAAAAJAAIAAAAQAAIAAAAJAAMAAAARAAEAAAAKAAIAAAARAAIAAAAKAAMAAAASAAEAAAAPAAgAAAASAAIAAAAPAAkAAAABAAEAAAAPAAgAAAABAAIAAAAPAAkAAAACAAEAAAAJAAoAAAACAAIAAAAJAAsAAAADAAEAAAAKAAoAAAADAAIAAAAKAAsAAAAEAAEAAAAJAAoAAAAEAAIAAAAJAAsAAAAFAAEAAAAPAAgAAAAFAAIAAAAPAAkAAAAGAAEAAAAAAAYAAAAGAAIAAAAAAAYAAAAHAAEAAAACAAYAAAAHAAIAAAACAAYAAAAIAAEAAAAPAAgAAAAIAAIAAAAPAAkAAAAAAAMAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAoAAAAAAAQAAAAAAAsAAAAAAAQAAAAAAAwAAAAAAAQAAAAAAA0AAAAAAAQAAAAAAA4AAAABAA4AAAAAABAAAAAAAAQAAAAAABEAAAAAAAQAAAAAABIAAAAAAAQAAAAAABMAAAAAAAQAAAATAAoAAAAAAAQAAAATAAsAAAAAAAQAAAATAAwAAAAAAAQAAAATAA0AAAAAAAQAAAATAA4AAAABAA0AAAATABAAAAAAAAQAAAATABEAAAAAAAQAAAATABIAAAAAAAQAAAATABMAAAAAAAQAAAAAABQAAAABAA4AAAAAABUAAAAAAAQAAAAAABYAAAAAAAQAAAAAABcAAAAAAAQAAAAAABgAAAAAAAQAAAAAABoAAAAAAAQAAAAAABsAAAAAAAQAAAAAABwAAAAAAAQAAAAAAB0AAAAAAAwAAAABAB0AAAABAAQAAAACAB0AAAABAAQAAAADAB0AAAABAAQAAAAEAB0AAAABAAQAAAAFAB0AAAAAAA4AAAAGAB0AAAABAAQAAAAHAB0AAAABAAQAAAAIAB0AAAADAAQAAAALAB0AAAACAAQAAAAMAB0AAAABAAQAAAANAB0AAAABAAQAAAAOAB0AAAAAAA4AAAAPAB0AAAABAAQAAAAQAB0AAAABAAQAAAARAB0AAAABAAQAAAASAB0AAAABAAQAAAATABQAAAABAA0AAAATABUAAAAAAAQAAAATABYAAAAAAAQAAAATABcAAAAAAAQAAAATABgAAAAAAAQAAAATABoAAAAAAAQAAAATABsAAAAAAAQAAAATABwAAAAAAAQAAAATAB0AAAABAAwAAAAAAAUAAAAAAAQAAAAAAA8AAAAAAAQAAAAAABkAAAAAAAQAAAATAAUAAAAAAAQAAAATAA8AAAAAAAQAAAATABkAAAAAAAQAAAAHAAMAAAACAAYAAAAHAAQAAAACAAYAAAAGAAQAAAAAAAYAAAAGAAMAAAAAAAYAAAAMAAYAAAACAAYAAAAMAAUAAAACAAUAAAALAAYAAAABAAgAAAALAAUAAAABAAUAAAAKAAYAAAABAAcAAAAKAAUAAAABAAUAAAAJAAYAAAABAAcAAAAJAAUAAAABAAUAAAAIAAYAAAABAAcAAAAIAAUAAAABAAUAAAAHAAYAAAABAAcAAAAHAAUAAAAAAAkAAAAGAAYAAAAAAAcAAAAGAAUAAAAAAAYAAAAMAAcAAAACAAcAAAALAAcAAAAAAAcAAAAOABwAAAAAAAQAAAAOABsAAAAAAAQAAAAOABoAAAAAAAQAAAAOABkAAAAAAAQAAAAFABwAAAAAAAQAAAAFABsAAAAAAAQAAAAFABoAAAAAAAQAAAAFABkAAAAAAAQAAAAFABgAAAAAAAQAAAAOABgAAAAAAAQAAAAFABcAAAAAAAQAAAAOABcAAAAAAAQAAAAFABYAAAAAAAQAAAAFABUAAAACAAsAAAAHABUAAAACAAcAAAAGABUAAAABAAcAAAAOABUAAAADAAsAAAANABUAAAABAAcAAAAMABUAAAAAAAcAAAAOABYAAAAAAAQAAAAGABYAAAAPAAIAAAAGABcAAAAPAAIAAAAHABYAAAAPAAIAAAAHABcAAAAPAAIAAAAMABYAAAAPAAIAAAAMABcAAAAPAAIAAAANABYAAAAPAAIAAAANABcAAAAPAAIAAAAHABQAAAACAAUAAAAGABQAAAABAAUAAAAFABQAAAAFAAsAAAAOABQAAAAEAAsAAAANABQAAAABAAUAAAAMABQAAAAAAAUAAAAHAA4AAAADAAQAAAAGAA4AAAABAAQAAAAFAA4AAAABAAQAAAAEAA4AAAABAAQAAAADAA4AAAABAAQAAAACAA4AAAABAAQAAAABAA4AAAABAAQAAAASAA4AAAABAAQAAAARAA4AAAABAAQAAAAQAA4AAAABAAQAAAAPAA4AAAABAAQAAAAOAA4AAAABAAQAAAANAA4AAAABAAQAAAAMAA4AAAACAAQAAAAHAA8AAAAPAAgAAAAHABAAAAAPAAkAAAAGAA8AAAAKAAIAAAAGABAAAAAKAAMAAAAFAA8AAAAJAAIAAAAFABAAAAAJAAMAAAAEAA8AAAAKAAoAAAAEABAAAAAKAAsAAAADAA8AAAAJAAoAAAADABAAAAAJAAsAAAACAA8AAAAJAAoAAAACABAAAAAJAAsAAAABAA8AAAAPAAgAAAABABAAAAAPAAkAAAAMAA8AAAAPAAgAAAAMABAAAAAPAAkAAAANAA8AAAAJAAIAAAANABAAAAAJAAMAAAAOAA8AAAAKAAIAAAAOABAAAAAKAAMAAAAPAA8AAAAKAAoAAAAPABAAAAAKAAsAAAAQAA8AAAAJAAoAAAAQABAAAAAJAAsAAAARAA8AAAAJAAoAAAARABAAAAAJAAsAAAASAA8AAAAPAAgAAAASABAAAAAPAAkAAAAEABQAAAACAAQAAAABABQAAAADAAQAAAAPABQAAAADAAQAAAASABQAAAACAAQAAAASABUAAAAPAAgAAAASABYAAAAPAAkAAAAPABUAAAAPAAgAAAAPABYAAAAPAAkAAAAEABUAAAAPAAgAAAAEABYAAAAPAAkAAAABABUAAAAPAAgAAAABABYAAAAPAAkAAAALAAgAAAAPAAgAAAALAAkAAAAPAAkAAAAMAAgAAAAPAAgAAAAMAAkAAAAPAAkAAAAGAAcAAAAPAAgAAAAGAAgAAAAPAAkAAAAHAAcAAAAJAAIAAAAHAAgAAAAJAAMAAAAIAAcAAAAKAAIAAAAIAAgAAAAKAAMAAAAJAAcAAAAPAAgAAAAJAAgAAAAPAAkAAAAKAAcAAAAKAAAAAAAKAAgAAAAKAAEAAAA=")
|
||||
tile_set = ExtResource("3_xdgau")
|
||||
navigation_enabled = false
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAARABEAAAAGAAAAAAASABEAAAAHAAAAAAABABEAAAAGAAAAAAACABEAAAAHAAAAAAAJABkAAAANAAgAAAAJABoAAAANAAkAAAAKABkAAAAOAAgAAAAKABoAAAAOAAkAAAAMABYAAAAJAAwAAAAMABcAAAAJAA0AAAAMAA8AAAAJAAwAAAAMABAAAAAJAA0AAAASABUAAAAJAAwAAAASABYAAAAJAA0AAAAEABUAAAAJAAwAAAAEABYAAAAJAA0AAAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAAGAAcAAAAJAAwAAAAGAAgAAAAJAA0AAAAHABYAAAAKAAwAAAAHABcAAAAKAA0AAAABABUAAAAKAAwAAAABABYAAAAKAA0AAAAPABUAAAAKAAwAAAAPABYAAAAKAA0AAAAHAA8AAAAKAAwAAAAHABAAAAAKAA0AAAAMAAgAAAAKAAwAAAAMAAkAAAAKAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAALAAgAAAAJAAwAAAALAAkAAAAJAA0AAAADABEAAQAAAAAAAgAEABEAAQAAAAAAAgAQABEAAQAAAAAAAgASABcAAQAAAAAAAgASABgAAQAAAAAAAgAQABwAAQAAAAAAAgADABwAAQAAAAAAAgAHAAkAAQAAAAAAAgAHAAoAAQAAAAAAAgAGAAkAAQAAAAAAAgABAAMAAQAAAAAAAgABAAQAAQAAAAAAAgABAAcAAQAAAAAAAQAHABMAAQAAAAAAAQAKAAkAAQAAAAAAAQANAAYAAQAAAAAAAQARAAwAAQAAAAAAAQASAA0AAQAAAAAADQARAA0AAQAAAAAADQAPABgAAQAAAAAADQAPABcAAQAAAAAADQABAA0AAQAAAAAADQAEABsAAQAAAAAAEAAEABwAAQAAAAAAEAABABoAAQAAAAAAEAACABoAAQAAAAAAEAASABoAAQAAAAAAEAASABkAAQAAAAAAEAAHABoAAQAAAAAAEAAHABsAAQAAAAAAEAANABgAAQAAAAAAEAANABkAAQAAAAAAEAAQAAYAAQAAAAAAEAAQAAcAAQAAAAAAEAARAAYAAQAAAAAAEAARAAcAAQAAAAAAEAADAAsAAQAAAAAAEAA=")
|
||||
tile_set = ExtResource("3_xdgau")
|
||||
navigation_enabled = false
|
||||
metadata/_edit_lock_ = true
|
||||
|
|
@ -53,6 +57,18 @@ metadata/_edit_lock_ = true
|
|||
[node name="Actors" type="Node2D" parent="Tilemaps"]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="BigTankHorizontal" parent="Tilemaps/Actors" instance=ExtResource("5_xdgau")]
|
||||
position = Vector2(80, 55)
|
||||
|
||||
[node name="BigTankHorizontal2" parent="Tilemaps/Actors" instance=ExtResource("5_xdgau")]
|
||||
position = Vector2(146, 148)
|
||||
|
||||
[node name="BigTank" parent="Tilemaps/Actors" instance=ExtResource("6_2w7cp")]
|
||||
position = Vector2(288, 50)
|
||||
|
||||
[node name="BigTank2" parent="Tilemaps/Actors" instance=ExtResource("6_2w7cp")]
|
||||
position = Vector2(49, 51)
|
||||
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="RogueliteEnemySpawner6" type="Marker2D" parent="EnemySpawners"]
|
||||
|
|
@ -60,6 +76,31 @@ position = Vector2(165, 301)
|
|||
script = ExtResource("5_7gtxd")
|
||||
Enemy = ExtResource("6_mrmg4")
|
||||
|
||||
[node name="RogueliteEnemySpawner7" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(233.374, 179.149)
|
||||
script = ExtResource("5_7gtxd")
|
||||
Enemy = ExtResource("6_mrmg4")
|
||||
|
||||
[node name="RogueliteEnemySpawner8" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(44.4718, 144.374)
|
||||
script = ExtResource("5_7gtxd")
|
||||
Enemy = ExtResource("9_2w7cp")
|
||||
|
||||
[node name="RogueliteEnemySpawner9" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(272.442, 388.229)
|
||||
script = ExtResource("5_7gtxd")
|
||||
Enemy = ExtResource("6_mrmg4")
|
||||
|
||||
[node name="RogueliteEnemySpawner10" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(45.7598, 358.177)
|
||||
script = ExtResource("5_7gtxd")
|
||||
Enemy = ExtResource("6_mrmg4")
|
||||
|
||||
[node name="RogueliteEnemySpawner11" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(241.482, 101.284)
|
||||
script = ExtResource("5_7gtxd")
|
||||
Enemy = ExtResource("9_2w7cp")
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
|
@ -83,7 +124,7 @@ MarkerTexture = SubResource("AtlasTexture_mr604")
|
|||
SpawnChance = 10.0
|
||||
|
||||
[node name="Chest2" type="Marker2D" parent="Features"]
|
||||
position = Vector2(429, 141)
|
||||
position = Vector2(248, 455)
|
||||
script = ExtResource("7_fgi8q")
|
||||
MarkerTexture = SubResource("AtlasTexture_mr604")
|
||||
SpawnChance = 10.0
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ public partial class Boss : Enemy, IActivable, IScriptHost
|
|||
|
||||
private Vector2 _homePosition;
|
||||
public Vector2 HomePosition => _homePosition;
|
||||
public CharacterBody2D Body => this;
|
||||
public Node2D ParentObject => this;
|
||||
private BossPhase CurrentPhase => BossScript.Phases[currentPhaseIndex];
|
||||
|
||||
private Marker2D _cameraMarker;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ namespace Cirno.Scripts.Actors;
|
|||
|
||||
public partial class ScriptableBulletsEmitter : Node2D, IActivable, IScriptHost
|
||||
{
|
||||
public Node2D ParentObject => this;
|
||||
|
||||
[Export]
|
||||
public BulletScript Script { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ namespace Cirno.Scripts.AttackPatterns;
|
|||
|
||||
public partial class AutonomousBulletEmitter : Node2D, IScriptHost
|
||||
{
|
||||
public Node2D ParentObject => this;
|
||||
[Export]
|
||||
public BulletScript Script { get; set; }
|
||||
[Export]
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ namespace Cirno.Scripts.AttackPatterns;
|
|||
|
||||
public interface IScriptHost
|
||||
{
|
||||
public Node2D ParentObject { get; }
|
||||
public Vector2 HomePosition { get; }
|
||||
public void ChangeSpriteDirection(Vector2 direction);
|
||||
|
||||
}
|
||||
|
|
@ -1,5 +1,9 @@
|
|||
using Cirno.Scripts.Resources;
|
||||
using Godot;
|
||||
using GTweens.Builders;
|
||||
using GTweens.Easings;
|
||||
using GTweens.Tweens;
|
||||
using GTweensGodot.Extensions;
|
||||
|
||||
namespace Cirno.Scripts.AttackPatterns;
|
||||
|
||||
|
|
@ -8,8 +12,8 @@ public partial class NodeMovementPattern : AttackPattern
|
|||
{
|
||||
[Export] private Vector2 relativeTargetPosition;
|
||||
[Export] private float moveDuration = 2f;
|
||||
[Export] private Tween.TransitionType transitionType = Tween.TransitionType.Linear;
|
||||
[Export] private Tween.EaseType easeType = Tween.EaseType.InOut;
|
||||
// [Export] private Tween.TransitionType transitionType = Tween.TransitionType.Linear;
|
||||
[Export] public GTweens.Easings.Easing EaseType { get; private set; } = Easing.Linear;
|
||||
|
||||
public override IPatternMachine MakeMachine(Node2D parent)
|
||||
{
|
||||
|
|
@ -20,7 +24,7 @@ public partial class NodeMovementPattern : AttackPattern
|
|||
{
|
||||
public Node2D Parent => parent;
|
||||
|
||||
private Tween tween;
|
||||
private GTween _tween;
|
||||
private bool isComplete = false;
|
||||
|
||||
public void Start()
|
||||
|
|
@ -32,18 +36,30 @@ public partial class NodeMovementPattern : AttackPattern
|
|||
return;
|
||||
}
|
||||
|
||||
tween = Parent.CreateTween();
|
||||
_tween?.Complete();
|
||||
|
||||
isComplete = false;
|
||||
|
||||
Vector2 targetPosition = (scriptHost?.HomePosition ?? Parent.GlobalPosition) + pattern.relativeTargetPosition;
|
||||
|
||||
tween.TweenProperty(Parent, "global_position", targetPosition, pattern.moveDuration)
|
||||
.SetTrans(pattern.transitionType)
|
||||
.SetEase(pattern.easeType)
|
||||
.Finished += () =>
|
||||
{
|
||||
isComplete = true;
|
||||
};
|
||||
_tween = GTweenSequenceBuilder.New()
|
||||
.Append(scriptHost.ParentObject.TweenGlobalPosition(targetPosition, pattern.moveDuration))
|
||||
.AppendCallback(() =>
|
||||
{
|
||||
isComplete = true;
|
||||
})
|
||||
.Build();
|
||||
|
||||
_tween.SetEasing(pattern.EaseType);
|
||||
|
||||
_tween.Play();
|
||||
// tween.TweenProperty(Parent, "global_position", targetPosition, pattern.moveDuration)
|
||||
// .SetTrans(pattern.transitionType)
|
||||
// .SetEase(pattern.easeType)
|
||||
// .Finished += () =>
|
||||
// {
|
||||
// isComplete = true;
|
||||
// };
|
||||
}
|
||||
|
||||
public void UpdatePattern(double delta) { }
|
||||
|
|
|
|||
47
Scripts/Components/FSM/Boss/BossScriptHostModule.cs
Normal file
47
Scripts/Components/FSM/Boss/BossScriptHostModule.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
using Cirno.Scripts.AttackPatterns;
|
||||
using Cirno.Scripts.Components.FSM.Enemy;
|
||||
using Cirno.Scripts.Enums;
|
||||
using Godot;
|
||||
|
||||
namespace Cirno.Scripts.Components.FSM.Boss;
|
||||
|
||||
public partial class BossScriptHostModule : ModuleBase<EnemyState, CharacterBody2D>, IScriptHost
|
||||
{
|
||||
[Export]
|
||||
public EnemyStorageModule StorageModule { get; private set; }
|
||||
|
||||
public Node2D ParentObject => _machine.MainObject;
|
||||
public Vector2 HomePosition => StorageModule.HomePosition;
|
||||
|
||||
private IStateMachine<EnemyState, CharacterBody2D> _machine;
|
||||
|
||||
public void ChangeSpriteDirection(Vector2 direction)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void EnterState(EnemyState state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void ExitState(EnemyState state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void Init(IStateMachine<EnemyState, CharacterBody2D> machine)
|
||||
{
|
||||
_machine = machine;
|
||||
}
|
||||
|
||||
public override void Process(double delta)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void PhysicsProcess(double delta)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
1
Scripts/Components/FSM/Boss/BossScriptHostModule.cs.uid
Normal file
1
Scripts/Components/FSM/Boss/BossScriptHostModule.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://c2mngevyoefky
|
||||
|
|
@ -19,6 +19,9 @@ public partial class Idle : EnemyStateBase
|
|||
public override void EnterState()
|
||||
{
|
||||
base.EnterState();
|
||||
|
||||
StorageModule.HomePosition = StateMachine.MainObject.GlobalPosition;
|
||||
|
||||
DamageReceiver.ChangeState(false);
|
||||
GD.Print("Boss idle");
|
||||
_ = DelayStart();
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ public partial class Shooting : EnemyStateBase
|
|||
|
||||
[Export] public EnemyStorageModule StorageModule { get; private set; }
|
||||
|
||||
[Export] public BossScriptHostModule BossScriptHostModule { get; private set; }
|
||||
|
||||
[Export] public BossScript BossScript { get; set; }
|
||||
|
||||
// private Marker2D _cameraMarker;
|
||||
|
|
@ -101,7 +103,7 @@ public partial class Shooting : EnemyStateBase
|
|||
}
|
||||
else
|
||||
{
|
||||
phase.Start(this);
|
||||
phase.Start(BossScriptHostModule);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue