0d2bccc3a9
Removed the stomp-kill from walker.gd: landing on an enemy now just costs a heart like any other contact, so the only way past is to weave through the pattern or use the key throw + W warp. Enemies fire a fan of bullets every fire_interval whose directions are computed only from the facing and the exported spread, never from the player, so every volley traces the identical path and can be memorised. Bullets are code-generated circles (no art needed), die on hitting terrain via a probe raycast, and are freed after their lifetime. New laser prefab cycles wait -> blinking warmup -> firing, and only damages during the firing phase.
275 lines
14 KiB
Plaintext
275 lines
14 KiB
Plaintext
[gd_scene format=4 uid="uid://b14qjya7pedi1"]
|
|
|
|
[ext_resource type="PackedScene" path="res://scenes/hud.tscn" id="1_g8vcy"]
|
|
[ext_resource type="PackedScene" path="res://scenes/death_screen.tscn" id="2_cqal4"]
|
|
[ext_resource type="PackedScene" path="res://scenes/level_clear.tscn" id="3_o3sye"]
|
|
[ext_resource type="Texture2D" uid="uid://djmk0srfgyafe" path="res://assets/game/backgrounds/cloud_left.png" id="4_24ks5"]
|
|
[ext_resource type="Texture2D" uid="uid://dptqmtay4plwp" path="res://assets/game/backgrounds/cloud_trees.png" id="5_s4es8"]
|
|
[ext_resource type="Texture2D" uid="uid://dys7320ghojh6" path="res://assets/game/backgrounds/cloud_hills.png" id="6_63e4f"]
|
|
[ext_resource type="Texture2D" uid="uid://1b8hp0rm864l" path="res://assets/game/backgrounds/cloud_right.png" id="7_y6lc1"]
|
|
[ext_resource type="Script" uid="uid://dxwa7fxghp3a2" path="res://scripts/hidden_passages.gd" id="8_ekhvm"]
|
|
[ext_resource type="TileSet" uid="uid://dkowcf1ljh41j" path="res://assets/game/tilesets/kenney_terrain_tileset.tres" id="9_nflru"]
|
|
[ext_resource type="PackedScene" uid="uid://c1u8k6ny02t4y" path="res://scenes/player.tscn" id="10_ikw2v"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazards/spikes_double.tscn" id="11_cgqhq"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazards/spikes_grey.tscn" id="12_ttvjw"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/interactables/spring_red.tscn" id="13_ac7c3"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/interactables/door.tscn" id="14_qo7hg"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/collectibles/coin_gold_round.tscn" id="15_odav0"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/collectibles/key_gold.tscn" id="16_3xffc"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/collectibles/diamond.tscn" id="17_icuov"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemies/walker.tscn" id="18_walker"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemies/laser.tscn" id="19_laser"]
|
|
|
|
[node name="Main" type="Node2D" unique_id=2061129075]
|
|
|
|
[node name="HUD" parent="." unique_id=215179112 instance=ExtResource("1_g8vcy")]
|
|
|
|
[node name="DeathScreen" parent="." unique_id=1952687359 instance=ExtResource("2_cqal4")]
|
|
|
|
[node name="LevelClear" parent="." unique_id=1589634220 instance=ExtResource("3_o3sye")]
|
|
|
|
[node name="Level" type="Node2D" parent="." unique_id=1678372922]
|
|
|
|
[node name="Background" type="Node2D" parent="Level" unique_id=702011751]
|
|
|
|
[node name="SkyColor" type="Polygon2D" parent="Level/Background" unique_id=22763597]
|
|
z_index = -30
|
|
color = Color(0.8509804, 0.9411765, 0.9372549, 1)
|
|
polygon = PackedVector2Array(0, 0, 468, 0, 468, 130.0972, 468, 270, 0, 270)
|
|
|
|
[node name="CloudBand_01" type="Sprite2D" parent="Level/Background" unique_id=589633713]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(12, 150)
|
|
texture = ExtResource("4_24ks5")
|
|
|
|
[node name="CloudBand_02" type="Sprite2D" parent="Level/Background" unique_id=225493882]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(36, 150)
|
|
texture = ExtResource("5_s4es8")
|
|
|
|
[node name="CloudBand_03" type="Sprite2D" parent="Level/Background" unique_id=646834403]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(60, 150)
|
|
texture = ExtResource("6_63e4f")
|
|
|
|
[node name="CloudBand_04" type="Sprite2D" parent="Level/Background" unique_id=1012727532]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(84, 150)
|
|
texture = ExtResource("7_y6lc1")
|
|
|
|
[node name="CloudBand_05" type="Sprite2D" parent="Level/Background" unique_id=1685434781]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(108, 150)
|
|
texture = ExtResource("4_24ks5")
|
|
|
|
[node name="CloudBand_06" type="Sprite2D" parent="Level/Background" unique_id=1425986424]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(132, 150)
|
|
texture = ExtResource("5_s4es8")
|
|
|
|
[node name="CloudBand_07" type="Sprite2D" parent="Level/Background" unique_id=1333305041]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(156, 150)
|
|
texture = ExtResource("6_63e4f")
|
|
|
|
[node name="CloudBand_08" type="Sprite2D" parent="Level/Background" unique_id=55356860]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(180, 150)
|
|
texture = ExtResource("7_y6lc1")
|
|
|
|
[node name="CloudBand_09" type="Sprite2D" parent="Level/Background" unique_id=379152848]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(204, 150)
|
|
texture = ExtResource("4_24ks5")
|
|
|
|
[node name="CloudBand_10" type="Sprite2D" parent="Level/Background" unique_id=325990577]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(228, 150)
|
|
texture = ExtResource("5_s4es8")
|
|
|
|
[node name="CloudBand_11" type="Sprite2D" parent="Level/Background" unique_id=1505438200]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(252, 150)
|
|
texture = ExtResource("6_63e4f")
|
|
|
|
[node name="CloudBand_12" type="Sprite2D" parent="Level/Background" unique_id=190709163]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(276, 150)
|
|
texture = ExtResource("7_y6lc1")
|
|
|
|
[node name="CloudBand_13" type="Sprite2D" parent="Level/Background" unique_id=349156114]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(300, 150)
|
|
texture = ExtResource("4_24ks5")
|
|
|
|
[node name="CloudBand_14" type="Sprite2D" parent="Level/Background" unique_id=1838903106]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(324, 150)
|
|
texture = ExtResource("5_s4es8")
|
|
|
|
[node name="CloudBand_15" type="Sprite2D" parent="Level/Background" unique_id=169474301]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(348, 150)
|
|
texture = ExtResource("6_63e4f")
|
|
|
|
[node name="CloudBand_16" type="Sprite2D" parent="Level/Background" unique_id=156763289]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(372, 150)
|
|
texture = ExtResource("7_y6lc1")
|
|
|
|
[node name="CloudBand_17" type="Sprite2D" parent="Level/Background" unique_id=161240142]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(396, 150)
|
|
texture = ExtResource("4_24ks5")
|
|
|
|
[node name="CloudBand_18" type="Sprite2D" parent="Level/Background" unique_id=1823235224]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(420, 150)
|
|
texture = ExtResource("5_s4es8")
|
|
|
|
[node name="CloudBand_19" type="Sprite2D" parent="Level/Background" unique_id=2092676382]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(444, 150)
|
|
texture = ExtResource("6_63e4f")
|
|
|
|
[node name="CloudBand_20" type="Sprite2D" parent="Level/Background" unique_id=124375716]
|
|
z_index = -20
|
|
texture_filter = 1
|
|
position = Vector2(468, 150)
|
|
texture = ExtResource("7_y6lc1")
|
|
|
|
[node name="TerrainTileMaps" type="Node2D" parent="Level" unique_id=652327492]
|
|
script = ExtResource("8_ekhvm")
|
|
|
|
[node name="TerrainBase" type="TileMapLayer" parent="Level/TerrainTileMaps" unique_id=91115499]
|
|
position = Vector2(9, 9)
|
|
tile_map_data = PackedByteArray("AAD//wkAAAACAAEAAAD//woAAAAEAAAAAAABAA0AAAACAAYAAAACAA0AAAAEAAUAAAACAA4AAAAEAAUAAAADAA0AAAACAAYAAAABAAoAAAACAAYAAAAAAAoAAAAEAAUAAAAAAAkAAAACAAEAAAACAAsAAAAEAAUAAAAAAA0AAAAEAAUAAAD//w0AAAAEAAEAAAAFAA0AAAAEAAUAAAAEAA4AAAAEAAUAAAADAA4AAAACAAYAAAAAAA4AAAACAAYAAAABAA4AAAACAAYAAAAHAAwAAAACAAEAAAALAAwAAAACAAEAAAAKAA0AAAAEAAUAAAAIAA4AAAAEAAUAAAALAA4AAAAEAAUAAAAMAA4AAAACAAYAAAANAA0AAAACAAYAAAAOAA0AAAAEAAUAAAAPAA0AAAAEAAUAAAAQAA0AAAAEAAUAAAARAAwAAAACAAUAAAATAAwAAAACAAUAAAAVAAsAAAACAAYAAAAWAAsAAAAEAAUAAAAUAAwAAAACAAYAAAAQAAwAAAACAAMAAAAKAA4AAAAEAAUAAAAJAA4AAAAEAAUAAAAFAA4AAAACAAYAAAAGAA4AAAAEAAUAAAAHAA4AAAAEAAUAAAANAA4AAAACAAYAAAAOAA4AAAACAAYAAAAPAA4AAAACAAYAAAASAA0AAAACAAYAAAATAA0AAAAEAAUAAAAUAA0AAAACAAYAAAAVAA0AAAACAAYAAAAWAA0AAAACAAYAAAAXAA0AAAAEAAUAAAALAA0AAAAEAAUAAAAMAA0AAAACAAYAAAAPAAwAAAACAAMAAAAXAAsAAAAEAAUAAAAYAAsAAAAEAAUAAAAZAAsAAAACAAYAAAAZAAwAAAACAAYAAAAYAAwAAAAEAAUAAAAZAA4AAAAEAAUAAAAXAA4AAAAEAAUAAAAWAA4AAAAEAAUAAAAVAA4AAAACAAYAAAAUAA4AAAACAAYAAAATAA4AAAACAAYAAAASAA4AAAACAAYAAAAYAA4AAAACAAYAAAARAA4AAAACAAYAAAAEAA0AAAACAAYAAAD//w4AAAAEAAEAAAABAAkAAAACAAEAAAAIAAwAAAACAAEAAAAOAAwAAAACAAMAAAANAAwAAAACAAMAAAAMAAwAAAACAAMAAAAUAAkAAAABAAUAAAAUAAoAAAABAAYAAAAPAAgAAAASAAQAABAWAAoAAAACAAYAAAAXAAcAAAACAAUAAAAYAAkAAAACAAYAAAAYAAoAAAACAAYAAAAXAAoAAAACAAYAAAAXAAkAAAACAAYAAAAZAAkAAAACAAYAAAAZAAoAAAACAAYAAAAQAA4AAAAEAAUAAAARAA0AAAACAAYAAAASAAwAAAACAAUAAAAVAAoAAAACAAYAAAAWAAkAAAACAAUAAAAXAAgAAAAEAAEAAAAUAAsAAAAFAAEAAAAVAAwAAAAEAAUAAAAWAAwAAAACAAYAAAAXAAwAAAAEAAUAAAAYAA0AAAACAAYAAAAZAA0AAAAEAAUAAAAAAAwAAAACAAYAAAACAAwAAAACAAYAAAADAAwAAAAEAAUAAAAEAAwAAAACAAYAAAAFAAwAAAAEAAUAAAAGAAwAAAAEAAUAAAAGAA0AAAACAAYAAAAHAA0AAAACAAYAAAAIAA0AAAAEAAUAAAAJAA0AAAACAAYAAAAJAAwAAAACAAEAAAAKAAwAAAACAAEAAAD//wwAAAAFAAAAAAD//wsAAAAEAAAAAAAAAAsAAAAEAAUAAAABAAsAAAACAAYAAAABAAwAAAACAAYAAAAYAAcAAAACAAUAAAAZAAcAAAADAAUAAAAYAAgAAAACAAYAAAAZAAgAAAACAAYAAAAVAAkAAAACAAUAAAADAAsAAAACAAYAAAAEAAsAAAACAAEAAAAFAAsAAAACAAEAAAAGAAsAAAACAAEAAAACAAoAAAACAAEAAAADAAoAAAACAAEAAAARAAcAAAAOAAcAAAASAAcAAAAOAAcAAAAQAAcAAAAOAAcAAAAPAAcAAAANAAcAAAAIAAYAAAANAAcAAAATAAcAAAAPAAcAAAAMAAYAAAAPAAcAAAALAAYAAAAOAAcAAAAKAAYAAAAOAAcAAAAJAAYAAAAOAAcAAAABAAgAAAARAAYAAAABAAcAAAAQAAUAAAABAAYAAAARAAUAAAABAAUAAAAQAAUAAAAAAAQAAAASAAIAAAABAAQAAAASAAIAAAACAAQAAAASAAIAAAD//wQAAAARAAIAAAAEAAQAAAATAAIAAAADAAQAAAASAAIAAAAAAAMAAAASAAEAAAABAAMAAAASAAEAAAACAAMAAAASAAEAAAADAAMAAAASAAAAAAAEAAMAAAATAAAAAAD//wMAAAARAAEAAAD//wIAAAARAAEAAAD//wEAAAARAAEAAAAAAAEAAAASAAEAAAAAAAIAAAASAAEAAAABAAEAAAASAAEAAAABAAIAAAASAAEAAAACAAEAAAASAAEAAAACAAIAAAASAAEAAAACAAYAAAATAAQAAAA=")
|
|
tile_set = ExtResource("9_nflru")
|
|
|
|
[node name="TerrainDetailsA" type="TileMapLayer" parent="Level/TerrainTileMaps" unique_id=1513560262]
|
|
z_index = 1
|
|
position = Vector2(9, 9)
|
|
tile_map_data = PackedByteArray("AAADAA0AAAADAAYAAAABAAwAAAABAAYAAAABAA0AAAABAAYAAAACAAsAAAACAAEAAAADAAsAAAADAAEAAAACAAwAAAACAAYAAAACAA4AAAACAAYAAAAXAAsAAAADAAUAAAAXAAwAAAADAAYAAAAXAA0AAAADAAYAAAAXAA4AAAADAAYAAAAWAAoAAAAEAAcAAAAWAAsAAAACAAUAAAAWAAwAAAAEAAUAAAAWAA0AAAACAAYAAAAWAA4AAAAEAAUAAAAVAAsAAAABAAUAAAAVAAwAAAABAAYAAAAVAA0AAAABAAYAAAAVAA4AAAABAAYAAAAQAA4AAAADAAYAAAAOAA4AAAAEAAUAAAAPAA4AAAACAAYAAAAQAA0AAAADAAMAAAANAA4AAAABAAYAAAAOAAwAAAAEAAYAAAAPAA0AAAACAAMAAAAOAA0AAAACAAMAAAANAA0AAAABAAMAAAAQAAQAAAATAAIAAAAQAAMAAAATAAEAAAAPAAQAAAASAAIAAAAKAAMAAAARAAAAAAAKAAQAAAARAAIAAAALAAMAAAASAAAAAAAMAAMAAAATAAAAAAAOAAIAAAARAAAAAAAPAAIAAAASAAAAAAAOAAMAAAARAAEAAAAMAAQAAAATAAIAAAALAAQAAAASAAIAAAADAAwAAAADAAYAAAAOAAQAAAARAAIAAAAPAAMAAAASAAEAAAAQAAIAAAATAAAAAAACAA0AAAAEAAUAAAABAA4AAAABAAYAAAADAA4AAAADAAYAAAABAAsAAAABAAEAAAAUAPz/AAASAAcAAAA=")
|
|
tile_set = ExtResource("9_nflru")
|
|
|
|
[node name="TerrainDetailsB" type="TileMapLayer" parent="Level/TerrainTileMaps" unique_id=478648603]
|
|
z_index = 2
|
|
position = Vector2(9, 9)
|
|
tile_map_data = PackedByteArray("AAAGAAwAAAADAAEAAAAGAA0AAAADAAYAAAAFAA4AAAACAAYAAAAFAAsAAAAFAAYAAAAFAAwAAAACAAEAAAAFAA0AAAAEAAUAAAAGAA4AAAADAAYAAAADAAwAAAABAAEAAAADAA0AAAABAAYAAAADAA4AAAABAAYAAAAEAAwAAAACAAEAAAAEAA0AAAACAAYAAAAEAA4AAAAEAAUAAAA=")
|
|
tile_set = ExtResource("9_nflru")
|
|
|
|
[node name="ActorsAndCharacters" type="Node2D" parent="Level" unique_id=2036761714]
|
|
|
|
[node name="Player" parent="Level/ActorsAndCharacters" unique_id=1343528246 instance=ExtResource("10_ikw2v")]
|
|
z_index = 10
|
|
position = Vector2(144, 215)
|
|
rotation = -3.1415927
|
|
scale = Vector2(1, -1)
|
|
|
|
[node name="PrefabInstances" type="Node2D" parent="Level" unique_id=2013556771]
|
|
|
|
[node name="Structures" type="Node2D" parent="Level/PrefabInstances" unique_id=1811607442]
|
|
|
|
[node name="Hazards" type="Node2D" parent="Level/PrefabInstances" unique_id=888595377]
|
|
|
|
[node name="Spikes_01" parent="Level/PrefabInstances/Hazards" unique_id=1025977450 instance=ExtResource("11_cgqhq")]
|
|
z_index = 5
|
|
position = Vector2(270, 216)
|
|
|
|
[node name="Spikes_02" parent="Level/PrefabInstances/Hazards" unique_id=1262276584 instance=ExtResource("11_cgqhq")]
|
|
z_index = 5
|
|
position = Vector2(335, 127)
|
|
|
|
[node name="SpikesGrey_01" parent="Level/PrefabInstances/Hazards" unique_id=214833071 instance=ExtResource("12_ttvjw")]
|
|
z_index = 5
|
|
position = Vector2(109, 199)
|
|
|
|
[node name="SpikesGrey_02" parent="Level/PrefabInstances/Hazards" unique_id=458791480 instance=ExtResource("12_ttvjw")]
|
|
z_index = 5
|
|
position = Vector2(331, 216)
|
|
|
|
[node name="Enemies" type="Node2D" parent="Level/PrefabInstances" unique_id=93211253]
|
|
|
|
[node name="Walker_01" parent="Level/PrefabInstances/Enemies" unique_id=2100888628 instance=ExtResource("18_walker")]
|
|
position = Vector2(216, 216)
|
|
|
|
[node name="Walker_02" parent="Level/PrefabInstances/Enemies" unique_id=1806208529 instance=ExtResource("18_walker")]
|
|
position = Vector2(306, 216)
|
|
start_direction = 1
|
|
|
|
[node name="Walker_03" parent="Level/PrefabInstances/Enemies" unique_id=1711052130 instance=ExtResource("18_walker")]
|
|
position = Vector2(90, 198)
|
|
start_direction = 1
|
|
|
|
[node name="Laser_01" parent="Level/PrefabInstances/Enemies" instance=ExtResource("19_laser")]
|
|
position = Vector2(189, 216)
|
|
rotation = -1.5707964
|
|
|
|
[node name="Laser_02" parent="Level/PrefabInstances/Enemies" instance=ExtResource("19_laser")]
|
|
position = Vector2(297, 216)
|
|
rotation = -1.5707964
|
|
start_delay = 2.4
|
|
length = 108.0
|
|
|
|
[node name="Interactables" type="Node2D" parent="Level/PrefabInstances" unique_id=769532488]
|
|
|
|
[node name="SpringRed_01" parent="Level/PrefabInstances/Interactables" unique_id=34192139 instance=ExtResource("13_ac7c3")]
|
|
visible = false
|
|
z_index = 5
|
|
position = Vector2(448, 125)
|
|
|
|
[node name="Door_01" parent="Level/PrefabInstances/Interactables" unique_id=1264725697 instance=ExtResource("14_qo7hg")]
|
|
z_index = 5
|
|
position = Vector2(288, 37)
|
|
|
|
[node name="Collectibles" type="Node2D" parent="Level/PrefabInstances" unique_id=2086540192]
|
|
|
|
[node name="CoinGoldRound_01" parent="Level/PrefabInstances/Collectibles" unique_id=926105584 instance=ExtResource("15_odav0")]
|
|
z_index = 5
|
|
position = Vector2(79, 56)
|
|
|
|
[node name="CoinGoldRound_02" parent="Level/PrefabInstances/Collectibles" unique_id=1674416025 instance=ExtResource("15_odav0")]
|
|
z_index = 5
|
|
position = Vector2(179, 111)
|
|
|
|
[node name="CoinGoldRound_03" parent="Level/PrefabInstances/Collectibles" unique_id=1087706364 instance=ExtResource("15_odav0")]
|
|
z_index = 5
|
|
position = Vector2(219, 54)
|
|
|
|
[node name="KeyGold_01" parent="Level/PrefabInstances/Collectibles" unique_id=2060959680 instance=ExtResource("16_3xffc")]
|
|
z_index = 5
|
|
position = Vector2(71, 182)
|
|
|
|
[node name="Diamond_01" parent="Level/PrefabInstances/Collectibles" unique_id=909237898 instance=ExtResource("17_icuov")]
|
|
z_index = 5
|
|
position = Vector2(399, 161)
|
|
|
|
[node name="Diamond_02" parent="Level/PrefabInstances/Collectibles" unique_id=234727210 instance=ExtResource("17_icuov")]
|
|
z_index = 5
|
|
position = Vector2(204, 217)
|
|
|
|
[node name="Diamond_03" parent="Level/PrefabInstances/Collectibles" unique_id=1261326529 instance=ExtResource("17_icuov")]
|
|
z_index = 5
|
|
position = Vector2(288, 125)
|
|
|
|
[node name="Signs" type="Node2D" parent="Level/PrefabInstances" unique_id=113197076]
|