diff --git a/audio/sounds/bullet_barrage.ogg b/audio/sounds/bullet_barrage.ogg new file mode 100644 index 0000000..c4e4def Binary files /dev/null and b/audio/sounds/bullet_barrage.ogg differ diff --git a/audio/sounds/bullet_barrage.ogg.import b/audio/sounds/bullet_barrage.ogg.import new file mode 100644 index 0000000..14697d0 --- /dev/null +++ b/audio/sounds/bullet_barrage.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/bullet_barrage.ogg-cecd7e8158fd71975520f9b40ca8b8e8.oggstr" + +[deps] + +source_file="res://audio/sounds/bullet_barrage.ogg" +dest_files=[ "res://.import/bullet_barrage.ogg-cecd7e8158fd71975520f9b40ca8b8e8.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/audio/sounds/bullet_barrage0.ogg.import b/audio/sounds/bullet_barrage0.ogg.import new file mode 100644 index 0000000..94ba3ac --- /dev/null +++ b/audio/sounds/bullet_barrage0.ogg.import @@ -0,0 +1,13 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +valid=false + +[deps] + +source_file="res://audio/sounds/bullet_barrage0.ogg" +[params] + +loop=false +loop_offset=0 diff --git a/audio/sounds/collapse_block_fall.wav b/audio/sounds/collapse_block_fall.wav new file mode 100644 index 0000000..4f1bb16 Binary files /dev/null and b/audio/sounds/collapse_block_fall.wav differ diff --git a/audio/sounds/collapse_block_fall.wav.import b/audio/sounds/collapse_block_fall.wav.import new file mode 100644 index 0000000..5f7e94d --- /dev/null +++ b/audio/sounds/collapse_block_fall.wav.import @@ -0,0 +1,23 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/collapse_block_fall.wav-704a0337fd7b28cea85887f1caf3648b.sample" + +[deps] + +source_file="res://audio/sounds/collapse_block_fall.wav" +dest_files=[ "res://.import/collapse_block_fall.wav-704a0337fd7b28cea85887f1caf3648b.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/audio/sounds/rainbow_laser b/audio/sounds/rainbow_laser new file mode 100644 index 0000000..dedadf5 Binary files /dev/null and b/audio/sounds/rainbow_laser differ diff --git a/audio/sounds/rainbow_laser.ogg b/audio/sounds/rainbow_laser.ogg new file mode 100644 index 0000000..4586f2d Binary files /dev/null and b/audio/sounds/rainbow_laser.ogg differ diff --git a/audio/sounds/rainbow_laser.ogg.import b/audio/sounds/rainbow_laser.ogg.import new file mode 100644 index 0000000..6f94e6d --- /dev/null +++ b/audio/sounds/rainbow_laser.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/rainbow_laser.ogg-7d2683f3b74c09ae5cb1bcff7c94d244.oggstr" + +[deps] + +source_file="res://audio/sounds/rainbow_laser.ogg" +dest_files=[ "res://.import/rainbow_laser.ogg-7d2683f3b74c09ae5cb1bcff7c94d244.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/audio/sounds/scrump_shot.ogg b/audio/sounds/scrump_shot.ogg new file mode 100644 index 0000000..7ad05df Binary files /dev/null and b/audio/sounds/scrump_shot.ogg differ diff --git a/audio/sounds/scrump_shot.ogg.import b/audio/sounds/scrump_shot.ogg.import new file mode 100644 index 0000000..7135eb3 --- /dev/null +++ b/audio/sounds/scrump_shot.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/scrump_shot.ogg-2121233fd7311b12322d43621754312b.oggstr" + +[deps] + +source_file="res://audio/sounds/scrump_shot.ogg" +dest_files=[ "res://.import/scrump_shot.ogg-2121233fd7311b12322d43621754312b.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/audio/sounds/scrump_shot0.ogg.import b/audio/sounds/scrump_shot0.ogg.import new file mode 100644 index 0000000..fe71fde --- /dev/null +++ b/audio/sounds/scrump_shot0.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/scrump_shot0.ogg-32f9f0aede5e72eee38db4d875309816.oggstr" + +[deps] + +source_file="res://audio/sounds/scrump_shot0.ogg" +dest_files=[ "res://.import/scrump_shot0.ogg-32f9f0aede5e72eee38db4d875309816.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/autoloads/audio.gd b/autoloads/audio.gd index 9e7359b..e629e88 100644 --- a/autoloads/audio.gd +++ b/autoloads/audio.gd @@ -29,7 +29,8 @@ const a_boss_hurt = preload("res://audio/sounds/boss_hurt.wav") const a_bubble = preload("res://audio/sounds/bubble.wav") const a_select = preload("res://audio/sounds/select.wav") const a_confirm = preload("res://audio/sounds/confirm.wav") - +const a_bullet_barrage = preload("res://audio/sounds/bullet_barrage.ogg") +const a_rainbow_laser = preload("res://audio/sounds/rainbow_laser.ogg") #Plays a sound func play_sound(snd,player): diff --git a/graphics/enemy/boss/stg2600_beam.png b/graphics/enemy/boss/stg2600_beam.png new file mode 100644 index 0000000..ff3ad0d Binary files /dev/null and b/graphics/enemy/boss/stg2600_beam.png differ diff --git a/graphics/enemy/boss/stg2600_beam.png.import b/graphics/enemy/boss/stg2600_beam.png.import new file mode 100644 index 0000000..7487c6a --- /dev/null +++ b/graphics/enemy/boss/stg2600_beam.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/stg2600_beam.png-fb234b289a938ec2639514f944c5940f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/stg2600_beam.png" +dest_files=[ "res://.import/stg2600_beam.png-fb234b289a938ec2639514f944c5940f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/enemy/boss/stg2600_head.png b/graphics/enemy/boss/stg2600_head.png new file mode 100644 index 0000000..c206bd3 Binary files /dev/null and b/graphics/enemy/boss/stg2600_head.png differ diff --git a/graphics/enemy/boss/stg2600_head.png.import b/graphics/enemy/boss/stg2600_head.png.import new file mode 100644 index 0000000..ebb6434 --- /dev/null +++ b/graphics/enemy/boss/stg2600_head.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/stg2600_head.png-7f6eac4b8ce6ce153476551d67bc94ab.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/stg2600_head.png" +dest_files=[ "res://.import/stg2600_head.png-7f6eac4b8ce6ce153476551d67bc94ab.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/enemy/boss/stg2600_head_broken.png b/graphics/enemy/boss/stg2600_head_broken.png new file mode 100644 index 0000000..e3d98ab Binary files /dev/null and b/graphics/enemy/boss/stg2600_head_broken.png differ diff --git a/graphics/enemy/boss/stg2600_head_broken.png.import b/graphics/enemy/boss/stg2600_head_broken.png.import new file mode 100644 index 0000000..95e795c --- /dev/null +++ b/graphics/enemy/boss/stg2600_head_broken.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/stg2600_head_broken.png-f11802992dc57b057ed8315e0bcb6027.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/stg2600_head_broken.png" +dest_files=[ "res://.import/stg2600_head_broken.png-f11802992dc57b057ed8315e0bcb6027.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/enemy/boss/stg2600_head_cracked.png b/graphics/enemy/boss/stg2600_head_cracked.png new file mode 100644 index 0000000..c0b6f76 Binary files /dev/null and b/graphics/enemy/boss/stg2600_head_cracked.png differ diff --git a/graphics/enemy/boss/stg2600_head_cracked.png.import b/graphics/enemy/boss/stg2600_head_cracked.png.import new file mode 100644 index 0000000..3c0a32d --- /dev/null +++ b/graphics/enemy/boss/stg2600_head_cracked.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/stg2600_head_cracked.png-ce070313d82d80420ae671eda2d5fa7b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/stg2600_head_cracked.png" +dest_files=[ "res://.import/stg2600_head_cracked.png-ce070313d82d80420ae671eda2d5fa7b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/enemy/boss/stg2600_leg.png b/graphics/enemy/boss/stg2600_leg.png new file mode 100644 index 0000000..dfb190c Binary files /dev/null and b/graphics/enemy/boss/stg2600_leg.png differ diff --git a/graphics/enemy/boss/stg2600_leg.png.import b/graphics/enemy/boss/stg2600_leg.png.import new file mode 100644 index 0000000..338e751 --- /dev/null +++ b/graphics/enemy/boss/stg2600_leg.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/stg2600_leg.png-108ef670d4bc684a89af85dbd1afa5b5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/stg2600_leg.png" +dest_files=[ "res://.import/stg2600_leg.png-108ef670d4bc684a89af85dbd1afa5b5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/npc/intelli_idle.png b/graphics/npc/intelli_idle.png new file mode 100644 index 0000000..ccc4bdf Binary files /dev/null and b/graphics/npc/intelli_idle.png differ diff --git a/graphics/npc/intelli_idle.png.import b/graphics/npc/intelli_idle.png.import new file mode 100644 index 0000000..26c174b --- /dev/null +++ b/graphics/npc/intelli_idle.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/intelli_idle.png-7a45754f787286146055a5bdc790c40a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/npc/intelli_idle.png" +dest_files=[ "res://.import/intelli_idle.png-7a45754f787286146055a5bdc790c40a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/npc/intelli_pod.png b/graphics/npc/intelli_pod.png new file mode 100644 index 0000000..724a9bb Binary files /dev/null and b/graphics/npc/intelli_pod.png differ diff --git a/graphics/npc/intelli_pod.png.import b/graphics/npc/intelli_pod.png.import new file mode 100644 index 0000000..2ee5deb --- /dev/null +++ b/graphics/npc/intelli_pod.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/intelli_pod.png-bebe1d4f21b18e23f590810c176320c5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/npc/intelli_pod.png" +dest_files=[ "res://.import/intelli_pod.png-bebe1d4f21b18e23f590810c176320c5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/maps/boss/2600.gd b/maps/boss/2600.gd deleted file mode 100644 index 497f875..0000000 --- a/maps/boss/2600.gd +++ /dev/null @@ -1,16 +0,0 @@ -extends Node2D - -onready var Bullet = preload("res://objects/enemy/2600_bullet.tscn") -onready var positions = $Positions -export var shot_speed = 50 -export var fire_rate: float = 1 -onready var shoot_timer = $ShootTimer - -func _on_ShootTimer_timeout(): - for pos in positions.get_children(): - var bullet = Bullet.instance() - bullet.global_position = pos.global_position - bullet.direction = Vector2.LEFT.rotated(pos.rotation) - bullet.speed = shot_speed - get_parent().add_child(bullet) - shoot_timer.wait_time = fire_rate diff --git a/maps/boss/boss2_arena.gd b/maps/boss/boss2_arena.gd new file mode 100644 index 0000000..cf5e00c --- /dev/null +++ b/maps/boss/boss2_arena.gd @@ -0,0 +1,13 @@ +extends "res://maps/map.gd" + +func _ready(): + Game.current_sector = Vector2.ZERO + +func _on_2600_entered_phase(phase): + match phase: + 2: + $DelayedArrow2.start() + 3: + $DelayedArrow3.start() + 4: + $ExitTimer.start() diff --git a/maps/boss/boss2_arena.tscn b/maps/boss/boss2_arena.tscn index ad8d5e5..778588e 100644 --- a/maps/boss/boss2_arena.tscn +++ b/maps/boss/boss2_arena.tscn @@ -1,10 +1,10 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=17 format=2] [ext_resource path="res://tilesets/t_factory.tres" type="TileSet" id=1] [ext_resource path="res://objects/player/player.tscn" type="PackedScene" id=2] [ext_resource path="res://objects/environment/falling_block/falling_block_graveyard.tscn" type="PackedScene" id=3] [ext_resource path="res://graphics/backgrounds/factory.png" type="Texture" id=4] -[ext_resource path="res://maps/map.gd" type="Script" id=5] +[ext_resource path="res://maps/boss/boss2_arena.gd" type="Script" id=5] [ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=6] [ext_resource path="res://objects/environment/moving_platform/moving_platform.tscn" type="PackedScene" id=7] [ext_resource path="res://objects/collectibles/arrow.tscn" type="PackedScene" id=8] @@ -14,7 +14,8 @@ [ext_resource path="res://objects/delayed_instance.tscn" type="PackedScene" id=12] [ext_resource path="res://objects/environment/death tile/death_tile.tscn" type="PackedScene" id=13] [ext_resource path="res://tilesets/t_ladders.tres" type="TileSet" id=14] -[ext_resource path="res://maps/boss/2600.gd" type="Script" id=16] +[ext_resource path="res://objects/enemy/boss/2600.tscn" type="PackedScene" id=15] +[ext_resource path="res://objects/enemy/boss/collapse_blocks.tscn" type="PackedScene" id=16] [node name="Map" type="Node2D" groups=["map"]] pause_mode = 1 @@ -34,16 +35,23 @@ __meta__ = { [node name="Ground" type="Node2D" parent="."] [node name="TileMap" type="TileMap" parent="Ground"] +visible = false tile_set = ExtResource( 1 ) cell_size = Vector2( 8, 8 ) format = 1 -tile_data = PoolIntArray( 327693, 0, 0, 327694, 0, 0, 327695, 0, 0, 458763, 0, 131074, 458764, 0, 131074, 458765, 0, 131074, 458766, 0, 131074, 524298, 0, 131074, 524299, 0, 131074, 524300, 0, 131074, 524301, 0, 131074, 524302, 0, 131074, 589829, 0, 0, 589830, 0, 0, 589832, 0, 0, 589833, 0, 0, 589839, 0, 131074, 589840, 0, 131074, 655376, 0, 131074, 720909, 0, 131074, 720910, 0, 131074, 720911, 0, 131074, 720912, 0, 131074, 786447, 0, 131074, 851971, 0, 0, 917504, 0, 0, 917510, 0, 0, 917511, 0, 0, 917512, 0, 0, 917513, 0, 0, 917514, 0, 0, 917515, 0, 0, 983040, 0, 0, 1048576, 0, 0, 1048577, 0, 0, 1048583, 0, 131074, 1114112, 0, 0, 1114113, 0, 0, 1114114, 0, 0, 1114119, 0, 131074, 1114120, 0, 131074, 1179656, 0, 0, 1310734, 0, 0, 1310735, 0, 0, 1441792, 0, 1, 1441793, 0, 2, 1441794, 0, 2, 1441795, 0, 2, 1441796, 0, 2, 1441797, 0, 2, 1441798, 0, 2, 1441799, 0, 2, 1441800, 0, 2, 1441801, 0, 2, 1441802, 0, 2, 1441803, 0, 2, 1441804, 0, 2, 1441805, 0, 2, 1441806, 0, 2, 1441807, 0, 2, 1441808, 0, 2, 1441809, 0, 2, 1441810, 0, 2, 1441811, 0, 2, 1441812, 0, 2, 1441813, 0, 2, 1441814, 0, 2, 1441815, 0, 2, 1441816, 0, 2, 1441817, 0, 2, 1441818, 0, 2, 1441819, 0, 2, 1441820, 0, 2, 1441821, 0, 2, 1441822, 0, 2, 1441823, 0, 3, 1507328, 0, 65536, 1507329, 0, 0, 1507330, 0, 65536, 1507331, 0, 0, 1507332, 0, 65536, 1507333, 0, 0, 1507334, 0, 65536, 1507335, 0, 0, 1507336, 0, 65536, 1507337, 0, 0, 1507338, 0, 65536, 1507339, 0, 0, 1507340, 0, 65536, 1507341, 0, 0, 1507342, 0, 65536, 1507343, 0, 0, 1507344, 0, 65536, 1507345, 0, 0, 1507346, 0, 65536, 1507347, 0, 0, 1507348, 0, 65536, 1507349, 0, 0, 1507350, 0, 65536, 1507351, 0, 0, 1507352, 0, 65536, 1507353, 0, 0, 1507354, 0, 65536, 1507355, 0, 0, 1507356, 0, 65536, 1507357, 0, 0, 1507358, 0, 65536, 1507359, 0, 0 ) +tile_data = PoolIntArray( 65535, 0, 0, 131071, 0, 0, 196607, 0, 0, 262143, 0, 0, 327679, 0, 0, 393215, 0, 0, 327693, 0, 0, 327694, 0, 0, 327695, 0, 0, 458751, 0, 0, 524287, 0, 0, 458763, 0, 131074, 458764, 0, 131074, 458765, 0, 131074, 458766, 0, 131074, 589823, 0, 0, 524298, 0, 131074, 524299, 0, 131074, 524300, 0, 131074, 524301, 0, 131074, 524302, 0, 131074, 655359, 0, 0, 589829, 0, 0, 589830, 0, 0, 589834, 0, 0, 589839, 0, 131074, 589840, 0, 131074, 720895, 0, 0, 655376, 0, 131074, 786431, 0, 0, 720909, 0, 131074, 720910, 0, 131074, 720911, 0, 131074, 720912, 0, 131074, 851967, 0, 0, 786447, 0, 131074, 917503, 0, 0, 851972, 0, 0, 851973, 0, 0, 851974, 0, 0, 851977, 0, 0, 851978, 0, 0, 851979, 0, 0, 983039, 0, 0, 917504, 0, 0, 1048575, 0, 0, 983040, 0, 0, 1114111, 0, 0, 1048576, 0, 0, 1048577, 0, 0, 1048583, 0, 131074, 1179647, 0, 0, 1114112, 0, 0, 1114113, 0, 0, 1114114, 0, 0, 1114119, 0, 131074, 1245183, 0, 0, 1179650, 0, 0, 1179651, 0, 0, 1179654, 0, 0, 1179655, 0, 0, 1179656, 0, 0, 1179657, 0, 0, 1310719, 0, 0, 1376255, 0, 0, 1310734, 0, 0, 1310735, 0, 0, 1441791, 0, 0, 1507327, 0, 0, 1441792, 0, 1, 1441793, 0, 2, 1441794, 0, 2, 1441795, 0, 2, 1441796, 0, 2, 1441797, 0, 2, 1441798, 0, 2, 1441799, 0, 2, 1441800, 0, 2, 1441801, 0, 2, 1441802, 0, 2, 1441803, 0, 2, 1441804, 0, 2, 1441805, 0, 2, 1441806, 0, 2, 1441807, 0, 2, 1441808, 0, 2, 1441809, 0, 2, 1441810, 0, 2, 1441811, 0, 2, 1441812, 0, 2, 1441813, 0, 2, 1441814, 0, 2, 1441815, 0, 2, 1441816, 0, 2, 1441817, 0, 2, 1441818, 0, 2, 1441819, 0, 2, 1441820, 0, 2, 1441821, 0, 2, 1441822, 0, 2, 1441823, 0, 3, 1572863, 0, 0, 1507328, 0, 65536, 1507329, 0, 0, 1507330, 0, 65536, 1507331, 0, 0, 1507332, 0, 65536, 1507333, 0, 0, 1507334, 0, 65536, 1507335, 0, 0, 1507336, 0, 65536, 1507337, 0, 0, 1507338, 0, 65536, 1507339, 0, 0, 1507340, 0, 65536, 1507341, 0, 0, 1507342, 0, 65536, 1507343, 0, 0, 1507344, 0, 65536, 1507345, 0, 0, 1507346, 0, 65536, 1507347, 0, 0, 1507348, 0, 65536, 1507349, 0, 0, 1507350, 0, 65536, 1507351, 0, 0, 1507352, 0, 65536, 1507353, 0, 0, 1507354, 0, 65536, 1507355, 0, 0, 1507356, 0, 65536, 1507357, 0, 0, 1507358, 0, 65536, 1507359, 0, 0 ) + +[node name="Collapse" type="TileMap" parent="Ground" groups=["delete_on_collapse"]] +tile_set = ExtResource( 1 ) +cell_size = Vector2( 8, 8 ) +format = 1 +tile_data = PoolIntArray( 589826, 0, 0, 589827, 0, 0, 589828, 0, 0, 589831, 0, 0, 589832, 0, 0, 589833, 0, 0, 851975, 0, 0, 851976, 0, 0, 1179652, 0, 0, 1179653, 0, 0 ) [node name="Ladder" type="TileMap" parent="Ground"] tile_set = ExtResource( 14 ) cell_size = Vector2( 8, 8 ) format = 1 -tile_data = PoolIntArray( 655372, 0, 196609, 720908, 0, 196609, 786444, 0, 196609, 851980, 0, 196609, 917516, 0, 196609 ) +tile_data = PoolIntArray( 655372, 0, 196609, 720908, 0, 196609, 786444, 0, 196609, 851980, 0, 196609 ) [node name="FallingBlock" parent="Ground" instance=ExtResource( 3 )] position = Vector2( 96, 152 ) @@ -54,19 +62,19 @@ position = Vector2( 72, 40 ) [node name="FallingBlock5" parent="Ground" instance=ExtResource( 3 )] position = Vector2( 8, 56 ) -[node name="FallingBlock6" parent="Ground" instance=ExtResource( 3 )] -position = Vector2( 16, 72 ) - [node name="FallingBlock7" parent="Ground" instance=ExtResource( 3 )] position = Vector2( 32, 40 ) [node name="MovingPlatform" parent="Ground" instance=ExtResource( 7 )] -position = Vector2( 40, 144 ) +position = Vector2( 32, 224 ) scale = Vector2( 2, 1 ) speed = 40 left_up_boundary = 2.0 right_down_boundary = 2.0 +[node name="CollapseBlocks" parent="Ground" instance=ExtResource( 16 )] +visible = false + [node name="Player" parent="." instance=ExtResource( 2 )] position = Vector2( 24, 176 ) use_iframes = true @@ -76,26 +84,26 @@ position = Vector2( 48, 216 ) [node name="Ladder2" parent="." instance=ExtResource( 10 )] position = Vector2( 96, 80 ) -scale = Vector2( 1, 5 ) +scale = Vector2( 1, 4 ) [node name="DelayedArrow" parent="." instance=ExtResource( 12 )] -delay = 5.0 +delay = 0.1 autostart = true [node name="Arrow" parent="DelayedArrow" instance=ExtResource( 8 )] -position = Vector2( 104, 32 ) +position = Vector2( 64, 168 ) [node name="DelayedArrow2" parent="." instance=ExtResource( 12 )] -delay = 5.0 +delay = 0.1 [node name="Arrow2" parent="DelayedArrow2" instance=ExtResource( 8 )] position = Vector2( 72, 168 ) [node name="DelayedArrow3" parent="." instance=ExtResource( 12 )] -delay = 5.0 +delay = 0.1 [node name="Arrow3" parent="DelayedArrow3" instance=ExtResource( 8 )] -position = Vector2( 120, 32 ) +position = Vector2( 80, 168 ) [node name="DeathTile" parent="." instance=ExtResource( 13 )] position = Vector2( 0, 192 ) @@ -105,118 +113,8 @@ scale = Vector2( 32, 1 ) wait_time = 5.0 one_shot = true -[node name="2600" type="Node2D" parent="."] -position = Vector2( 0, -16 ) -script = ExtResource( 16 ) -shot_speed = 70 -fire_rate = 0.8 - -[node name="Leg2" type="Node2D" parent="2600"] -position = Vector2( -23, 0 ) - -[node name="ColorRect2" type="ColorRect" parent="2600/Leg2"] -margin_left = 200.0 -margin_top = 80.0 -margin_right = 232.0 -margin_bottom = 112.0 -color = Color( 0.286275, 0.298039, 0.305882, 1 ) - -[node name="ColorRect3" type="ColorRect" parent="2600/Leg2"] -margin_left = 208.0 -margin_top = 104.0 -margin_right = 224.0 -margin_bottom = 152.0 -rect_rotation = -30.0 -color = Color( 0.286275, 0.298039, 0.305882, 1 ) - -[node name="ColorRect5" type="ColorRect" parent="2600/Leg2"] -margin_left = 232.0 -margin_top = 128.0 -margin_right = 248.0 -margin_bottom = 176.0 -rect_rotation = 30.0 -color = Color( 0.286275, 0.298039, 0.305882, 1 ) - -[node name="ColorRect4" type="ColorRect" parent="2600/Leg2"] -margin_left = 222.0 -margin_top = 125.0 -margin_right = 246.0 -margin_bottom = 149.0 -color = Color( 0.286275, 0.298039, 0.305882, 1 ) - -[node name="ColorRect6" type="ColorRect" parent="2600/Leg2"] -margin_left = 177.0 -margin_top = 168.0 -margin_right = 229.0 -margin_bottom = 192.0 -color = Color( 0.286275, 0.298039, 0.305882, 1 ) - -[node name="Head" type="ColorRect" parent="2600"] -margin_left = 152.0 -margin_top = 40.0 -margin_right = 240.0 -margin_bottom = 104.0 -color = Color( 0.505882, 0.537255, 0.54902, 1 ) - -[node name="ColorRect2" type="ColorRect" parent="2600/Head"] -margin_right = 57.0 -margin_bottom = 32.0 -color = Color( 0, 0.882353, 1, 1 ) - -[node name="Leg" type="Node2D" parent="2600"] - -[node name="ColorRect2" type="ColorRect" parent="2600/Leg"] -margin_left = 200.0 -margin_top = 80.0 -margin_right = 232.0 -margin_bottom = 112.0 -color = Color( 0.45098, 0.47451, 0.486275, 1 ) - -[node name="ColorRect3" type="ColorRect" parent="2600/Leg"] -margin_left = 208.0 -margin_top = 104.0 -margin_right = 224.0 -margin_bottom = 152.0 -rect_rotation = -30.0 -color = Color( 0.505882, 0.537255, 0.54902, 1 ) - -[node name="ColorRect5" type="ColorRect" parent="2600/Leg"] -margin_left = 232.0 -margin_top = 128.0 -margin_right = 248.0 -margin_bottom = 176.0 -rect_rotation = 30.0 -color = Color( 0.505882, 0.537255, 0.54902, 1 ) - -[node name="ColorRect4" type="ColorRect" parent="2600/Leg"] -margin_left = 222.0 -margin_top = 125.0 -margin_right = 246.0 -margin_bottom = 149.0 -color = Color( 0.45098, 0.47451, 0.486275, 1 ) - -[node name="ColorRect6" type="ColorRect" parent="2600/Leg"] -margin_left = 177.0 -margin_top = 168.0 -margin_right = 229.0 -margin_bottom = 192.0 -color = Color( 0.45098, 0.47451, 0.486275, 1 ) - -[node name="Positions" type="Node2D" parent="2600"] - -[node name="Position2D" type="Position2D" parent="2600/Positions"] -position = Vector2( 152, 80 ) - -[node name="Position2D2" type="Position2D" parent="2600/Positions"] -position = Vector2( 152, 88 ) -rotation = -0.436332 - -[node name="Position2D3" type="Position2D" parent="2600/Positions"] -position = Vector2( 152, 96 ) -rotation = -0.872665 - -[node name="ShootTimer" type="Timer" parent="2600"] -autostart = true +[node name="2600" parent="." instance=ExtResource( 15 )] +position = Vector2( 152, 8 ) [node name="Enemies" type="Node2D" parent="."] @@ -248,4 +146,4 @@ margin_right = 152.0 margin_bottom = 67.0 [connection signal="timeout" from="ExitTimer" to="." method="_on_ExitTimer_timeout"] -[connection signal="timeout" from="2600/ShootTimer" to="2600" method="_on_ShootTimer_timeout"] +[connection signal="entered_phase" from="2600" to="." method="_on_2600_entered_phase"] diff --git a/maps/hills_scholar.tscn b/maps/hills_scholar.tscn index a576ca7..a2b2e38 100644 --- a/maps/hills_scholar.tscn +++ b/maps/hills_scholar.tscn @@ -57,7 +57,7 @@ format = 1 tile_set = ExtResource( 8 ) cell_size = Vector2( 8, 8 ) format = 1 -tile_data = PoolIntArray( 65535, 3, 0, 96, 3, 0, 131071, 3, 65536, 65632, 3, 65536, 196607, 3, 65536, 131168, 3, 65536, 262143, 3, 65536, 196634, 2, 2, 196695, 2, 1, 196698, 3, 1, 196699, 3, 3, 196704, 3, 65536, 327679, 3, 65536, 262170, 3, 1, 262171, 3, 196610, 262172, 3, 196611, 262187, 2, 1, 262196, 3, 196609, 262197, 3, 196611, 262200, 3, 196609, 262201, 3, 196610, 262202, 3, 196611, 262227, 2, 2, 262230, 3, 1, 262231, 3, 3, 262234, 3, 65537, 262235, 3, 65539, 262236, 2, 2, 262240, 3, 65536, 393215, 3, 65536, 327683, 3, 1, 327684, 3, 2, 327685, 3, 2, 327686, 3, 3, 327690, 3, 196609, 327691, 3, 196610, 327692, 3, 196610, 327693, 3, 196610, 327694, 3, 196610, 327695, 3, 196611, 327706, 3, 65536, 327710, 3, 0, 327719, 3, 196609, 327720, 3, 196610, 327721, 3, 196610, 327722, 3, 196610, 327723, 3, 196610, 327724, 3, 196610, 327725, 3, 196611, 327762, 3, 1, 327763, 3, 2, 327764, 3, 2, 327765, 3, 2, 327766, 3, 65538, 327767, 3, 65538, 327768, 3, 2, 327769, 3, 2, 327770, 3, 65538, 327771, 3, 65538, 327772, 3, 3, 327776, 3, 65536, 458751, 3, 65536, 393219, 3, 131073, 393220, 3, 131074, 393221, 3, 131074, 393222, 3, 131075, 393241, 3, 1, 393242, 3, 65539, 393246, 3, 65536, 393291, 2, 1, 393295, 2, 0, 393298, 3, 65537, 393299, 3, 65538, 393300, 3, 65538, 393301, 3, 131074, 393302, 3, 131074, 393303, 3, 131074, 393304, 3, 131074, 393305, 3, 131074, 393306, 3, 131074, 393307, 3, 131074, 393308, 3, 131075, 393312, 3, 65536, 524287, 3, 65536, 458770, 3, 1, 458771, 3, 2, 458772, 3, 2, 458773, 3, 3, 458776, 3, 196609, 458777, 3, 131074, 458778, 3, 131074, 458779, 3, 196610, 458780, 3, 196610, 458781, 3, 196610, 458782, 3, 131075, 458787, 3, 196609, 458788, 3, 196610, 458789, 3, 196611, 458827, 3, 1, 458828, 3, 196610, 458829, 3, 196610, 458830, 3, 196610, 458831, 3, 196610, 458832, 3, 196610, 458833, 3, 196610, 458834, 3, 131074, 458835, 3, 131074, 458836, 3, 65539, 458848, 3, 65536, 589823, 3, 65536, 524306, 3, 65537, 524307, 3, 65538, 524308, 3, 65538, 524309, 3, 65539, 524334, 2, 3, 524341, 2, 1, 524348, 2, 2, 524349, 3, 1, 524350, 3, 196610, 524351, 3, 196610, 524352, 3, 196610, 524353, 3, 196610, 524354, 3, 196610, 524355, 3, 3, 524359, 2, 3, 524363, 3, 65536, 524372, 3, 65536, 524384, 3, 65536, 655359, 3, 65536, 589835, 2, 3, 589842, 3, 65537, 589843, 3, 131074, 589844, 3, 131074, 589845, 3, 131074, 589846, 3, 3, 589858, 2, 1, 589860, 2, 0, 589863, 3, 0, 589870, 3, 196609, 589871, 3, 196610, 589872, 3, 196610, 589873, 3, 196610, 589874, 3, 196610, 589875, 3, 196610, 589876, 3, 196610, 589877, 3, 196610, 589878, 3, 2, 589879, 3, 196610, 589880, 3, 196610, 589881, 3, 196610, 589882, 3, 196610, 589883, 3, 196610, 589884, 3, 196610, 589885, 3, 131075, 589891, 3, 131073, 589892, 3, 196610, 589893, 3, 196610, 589894, 3, 196610, 589895, 3, 196610, 589896, 3, 196610, 589897, 3, 196610, 589898, 3, 196610, 589899, 3, 131075, 589908, 3, 65536, 589919, 3, 1, 589920, 3, 65539, 720895, 3, 65536, 655366, 3, 196609, 655367, 3, 196610, 655368, 3, 196610, 655369, 3, 196610, 655370, 3, 196610, 655371, 3, 196610, 655372, 3, 196611, 655374, 3, 196609, 655375, 3, 196610, 655376, 3, 196610, 655377, 3, 196610, 655378, 3, 131075, 655382, 3, 131073, 655383, 3, 3, 655385, 2, 1, 655390, 3, 1, 655391, 3, 2, 655392, 3, 196610, 655393, 3, 196610, 655394, 3, 196610, 655395, 3, 196610, 655396, 3, 196610, 655397, 3, 196610, 655398, 3, 196610, 655399, 3, 131075, 655414, 3, 65536, 655444, 3, 65536, 655449, 2, 1, 655452, 2, 2, 655455, 3, 65537, 655456, 3, 65539, 786431, 3, 65536, 720919, 3, 131073, 720920, 3, 196610, 720921, 3, 196610, 720922, 3, 196610, 720923, 3, 196610, 720924, 3, 196611, 720926, 3, 131073, 720927, 3, 131075, 720950, 3, 65536, 720977, 3, 1, 720978, 3, 2, 720979, 3, 2, 720980, 3, 131075, 720982, 3, 196609, 720983, 3, 196610, 720984, 3, 196610, 720985, 3, 196610, 720986, 3, 196610, 720987, 3, 196610, 720988, 3, 196610, 720989, 3, 196610, 720990, 3, 196610, 720991, 3, 131074, 720992, 3, 65539, 851967, 3, 65536, 786486, 3, 65536, 786513, 3, 131073, 786514, 3, 131074, 786515, 3, 131075, 786528, 3, 65536, 917503, 3, 65537, 851968, 3, 2, 851969, 3, 2, 851970, 3, 2, 851971, 3, 3, 851981, 3, 196609, 851982, 3, 196610, 851983, 3, 196611, 852012, 2, 2, 852015, 2, 0, 852022, 3, 131072, 852037, 2, 2, 852040, 2, 1, 852044, 3, 1, 852045, 3, 2, 852046, 3, 3, 852064, 3, 65536, 983039, 3, 65537, 917504, 3, 131074, 917505, 3, 131074, 917506, 3, 131074, 917507, 3, 131075, 917516, 3, 0, 917522, 3, 0, 917531, 2, 3, 917548, 3, 196609, 917549, 3, 196610, 917550, 3, 196610, 917551, 3, 196611, 917554, 3, 196609, 917555, 3, 196610, 917556, 3, 196611, 917573, 3, 1, 917574, 3, 2, 917575, 3, 2, 917576, 3, 3, 917580, 3, 131073, 917581, 3, 131074, 917582, 3, 131075, 917600, 3, 65536, 1048575, 3, 65536, 983051, 2, 1, 983052, 3, 65536, 983058, 3, 65537, 983059, 3, 2, 983060, 3, 2, 983061, 3, 2, 983062, 3, 3, 983065, 3, 196609, 983066, 3, 196610, 983067, 3, 196610, 983068, 3, 196610, 983069, 3, 3, 983078, 2, 2, 983109, 3, 131073, 983110, 3, 131074, 983111, 3, 131074, 983112, 3, 131075, 983134, 3, 196609, 983135, 3, 196610, 983136, 3, 65539, 1114111, 3, 65536, 1048587, 3, 196609, 1048588, 3, 131074, 1048589, 3, 196610, 1048590, 3, 196610, 1048591, 3, 196610, 1048592, 3, 196610, 1048593, 3, 196610, 1048594, 3, 131074, 1048595, 3, 131074, 1048596, 3, 131074, 1048597, 3, 131074, 1048598, 3, 131075, 1048605, 3, 131073, 1048606, 3, 196610, 1048607, 3, 196610, 1048608, 3, 196610, 1048609, 3, 196611, 1048612, 3, 196609, 1048613, 3, 196610, 1048614, 3, 196610, 1048615, 3, 196610, 1048616, 3, 196611, 1048636, 3, 1, 1048637, 3, 2, 1048638, 3, 2, 1048639, 3, 2, 1048640, 3, 2, 1048641, 3, 2, 1048642, 3, 3, 1048659, 3, 1, 1048660, 3, 2, 1048661, 3, 2, 1048662, 3, 3, 1048665, 3, 196608, 1048668, 3, 196608, 1048672, 3, 65536, 1179647, 3, 65536, 1114168, 2, 3, 1114172, 3, 131073, 1114173, 3, 131074, 1114174, 3, 131074, 1114175, 3, 131074, 1114176, 3, 131074, 1114177, 3, 131074, 1114178, 3, 131075, 1114194, 3, 1, 1114195, 3, 65538, 1114196, 3, 65538, 1114197, 3, 131074, 1114198, 3, 131075, 1114208, 3, 65536, 1245183, 3, 65537, 1179648, 3, 196610, 1179649, 3, 196610, 1179650, 3, 196611, 1179653, 3, 196609, 1179654, 3, 196610, 1179655, 3, 196610, 1179656, 3, 196611, 1179702, 3, 196609, 1179703, 3, 196610, 1179704, 3, 196610, 1179705, 3, 196610, 1179706, 3, 196611, 1179728, 3, 1, 1179729, 3, 2, 1179730, 3, 65538, 1179731, 3, 131074, 1179732, 3, 131075, 1179744, 3, 65536, 1310719, 3, 65536, 1245225, 2, 0, 1245228, 2, 1, 1245264, 3, 131073, 1245265, 3, 131074, 1245266, 3, 131075, 1245280, 3, 65536, 1376255, 3, 65536, 1310731, 3, 1, 1310732, 3, 2, 1310733, 3, 2, 1310734, 3, 2, 1310735, 3, 3, 1310761, 3, 1, 1310762, 3, 2, 1310763, 3, 2, 1310764, 3, 3, 1310816, 3, 65536, 1441791, 3, 65536, 1376261, 2, 3, 1376264, 2, 1, 1376266, 3, 1, 1376267, 3, 65538, 1376268, 3, 65538, 1376269, 3, 65538, 1376270, 3, 65538, 1376271, 3, 65538, 1376272, 3, 3, 1376283, 2, 0, 1376287, 2, 1, 1376289, 2, 2, 1376293, 2, 1, 1376297, 3, 65537, 1376298, 3, 65538, 1376299, 3, 65538, 1376300, 3, 65539, 1376309, 2, 3, 1376312, 2, 0, 1376316, 2, 2, 1376319, 2, 1, 1376322, 2, 0, 1376331, 2, 3, 1376335, 2, 2, 1376339, 2, 0, 1376343, 2, 1, 1376352, 3, 65536, 1507327, 3, 65537, 1441792, 3, 2, 1441793, 3, 2, 1441794, 3, 2, 1441795, 3, 2, 1441796, 3, 2, 1441797, 3, 2, 1441798, 3, 2, 1441799, 3, 2, 1441800, 3, 2, 1441801, 3, 2, 1441802, 3, 65538, 1441803, 3, 65538, 1441804, 3, 65538, 1441805, 3, 65538, 1441806, 3, 65538, 1441807, 3, 65538, 1441808, 3, 65538, 1441809, 3, 2, 1441810, 3, 2, 1441811, 3, 2, 1441812, 3, 2, 1441813, 3, 3, 1441817, 3, 1, 1441818, 3, 2, 1441819, 3, 2, 1441820, 3, 2, 1441821, 3, 2, 1441822, 3, 2, 1441823, 3, 2, 1441824, 3, 2, 1441825, 3, 2, 1441826, 3, 2, 1441827, 3, 2, 1441828, 3, 2, 1441829, 3, 2, 1441830, 3, 2, 1441831, 3, 2, 1441832, 3, 2, 1441833, 3, 65538, 1441834, 3, 65538, 1441835, 3, 65538, 1441836, 3, 65539, 1441845, 3, 1, 1441846, 3, 2, 1441847, 3, 2, 1441848, 3, 2, 1441849, 3, 2, 1441850, 3, 2, 1441851, 3, 2, 1441852, 3, 2, 1441853, 3, 2, 1441854, 3, 2, 1441855, 3, 2, 1441856, 3, 2, 1441857, 3, 2, 1441858, 3, 2, 1441859, 3, 2, 1441860, 3, 2, 1441861, 3, 2, 1441862, 3, 2, 1441863, 3, 3, 1441867, 3, 1, 1441868, 3, 2, 1441869, 3, 2, 1441870, 3, 2, 1441871, 3, 2, 1441872, 3, 2, 1441873, 3, 2, 1441874, 3, 2, 1441875, 3, 2, 1441876, 3, 2, 1441877, 3, 2, 1441878, 3, 2, 1441879, 3, 2, 1441880, 3, 2, 1441881, 3, 2, 1441882, 3, 2, 1441883, 3, 2, 1441884, 3, 2, 1441885, 3, 2, 1441886, 3, 2, 1441887, 3, 2, 1441888, 3, 65539, 1572863, 3, 65537, 1507328, 3, 65538, 1507329, 3, 65538, 1507330, 3, 65538, 1507331, 3, 65538, 1507332, 3, 65538, 1507333, 3, 65538, 1507334, 3, 65538, 1507335, 3, 65538, 1507336, 3, 65538, 1507337, 3, 65538, 1507338, 3, 65538, 1507339, 3, 65538, 1507340, 3, 65538, 1507341, 3, 65538, 1507342, 3, 65538, 1507343, 3, 65538, 1507344, 3, 65538, 1507345, 3, 65538, 1507346, 3, 65538, 1507347, 3, 65538, 1507348, 3, 65538, 1507349, 3, 65539, 1507353, 3, 65537, 1507354, 3, 65538, 1507355, 3, 65538, 1507356, 3, 65538, 1507357, 3, 65538, 1507358, 3, 65538, 1507359, 3, 65538, 1507360, 3, 65538, 1507361, 3, 65538, 1507362, 3, 65538, 1507363, 3, 65538, 1507364, 3, 65538, 1507365, 3, 65538, 1507366, 3, 65538, 1507367, 3, 65538, 1507368, 3, 65538, 1507369, 3, 65538, 1507370, 3, 65538, 1507371, 3, 65538, 1507372, 3, 65539, 1507381, 3, 65537, 1507382, 3, 65538, 1507383, 3, 65538, 1507384, 3, 65538, 1507385, 3, 65538, 1507386, 3, 65538, 1507387, 3, 65538, 1507388, 3, 65538, 1507389, 3, 65538, 1507390, 3, 65538, 1507391, 3, 65538, 1507392, 3, 65538, 1507393, 3, 65538, 1507394, 3, 65538, 1507395, 3, 65538, 1507396, 3, 65538, 1507397, 3, 65538, 1507398, 3, 65538, 1507399, 3, 65539, 1507403, 3, 65537, 1507404, 3, 65538, 1507405, 3, 65538, 1507406, 3, 65538, 1507407, 3, 65538, 1507408, 3, 65538, 1507409, 3, 65538, 1507410, 3, 65538, 1507411, 3, 65538, 1507412, 3, 65538, 1507413, 3, 65538, 1507414, 3, 65538, 1507415, 3, 65538, 1507416, 3, 65538, 1507417, 3, 65538, 1507418, 3, 65538, 1507419, 3, 65538, 1507420, 3, 65538, 1507421, 3, 65538, 1507422, 3, 65538, 1507423, 3, 65538, 1507424, 3, 65539, 1638399, 3, 131073, 1572864, 3, 131074, 1572865, 3, 131074, 1572866, 3, 131074, 1572867, 3, 131074, 1572868, 3, 131074, 1572869, 3, 131074, 1572870, 3, 131074, 1572871, 3, 131074, 1572872, 3, 131074, 1572873, 3, 131074, 1572874, 3, 131074, 1572875, 3, 131074, 1572876, 3, 131074, 1572877, 3, 131074, 1572878, 3, 131074, 1572879, 3, 131074, 1572880, 3, 131074, 1572881, 3, 131074, 1572882, 3, 131074, 1572883, 3, 131074, 1572884, 3, 131074, 1572885, 3, 131075, 1572889, 3, 131073, 1572890, 3, 131074, 1572891, 3, 131074, 1572892, 3, 131074, 1572893, 3, 131074, 1572894, 3, 131074, 1572895, 3, 131074, 1572896, 3, 131074, 1572897, 3, 131074, 1572898, 3, 131074, 1572899, 3, 131074, 1572900, 3, 131074, 1572901, 3, 131074, 1572902, 3, 131074, 1572903, 3, 131074, 1572904, 3, 131074, 1572905, 3, 131074, 1572906, 3, 131074, 1572907, 3, 131074, 1572908, 3, 131075, 1572917, 3, 131073, 1572918, 3, 131074, 1572919, 3, 131074, 1572920, 3, 131074, 1572921, 3, 131074, 1572922, 3, 131074, 1572923, 3, 131074, 1572924, 3, 131074, 1572925, 3, 131074, 1572926, 3, 131074, 1572927, 3, 131074, 1572928, 3, 131074, 1572929, 3, 131074, 1572930, 3, 131074, 1572931, 3, 131074, 1572932, 3, 131074, 1572933, 3, 131074, 1572934, 3, 131074, 1572935, 3, 131075, 1572939, 3, 131073, 1572940, 3, 131074, 1572941, 3, 131074, 1572942, 3, 131074, 1572943, 3, 131074, 1572944, 3, 131074, 1572945, 3, 131074, 1572946, 3, 131074, 1572947, 3, 131074, 1572948, 3, 131074, 1572949, 3, 131074, 1572950, 3, 131074, 1572951, 3, 131074, 1572952, 3, 131074, 1572953, 3, 131074, 1572954, 3, 131074, 1572955, 3, 131074, 1572956, 3, 131074, 1572957, 3, 131074, 1572958, 3, 131074, 1572959, 3, 131074, 1572960, 3, 131075 ) +tile_data = PoolIntArray( 65535, 3, 0, 96, 3, 0, 131071, 3, 65536, 65632, 3, 65536, 196607, 3, 65536, 131168, 3, 65536, 262143, 3, 65536, 196634, 2, 2, 196695, 2, 1, 196698, 3, 1, 196699, 3, 3, 196704, 3, 65536, 327679, 3, 65536, 262170, 3, 1, 262171, 3, 196610, 262172, 3, 196611, 262187, 2, 1, 262196, 3, 196609, 262197, 3, 196611, 262200, 3, 196609, 262201, 3, 196610, 262202, 3, 196611, 262227, 2, 2, 262230, 3, 1, 262231, 3, 3, 262234, 3, 65537, 262235, 3, 65539, 262236, 2, 2, 262240, 3, 65536, 393215, 3, 65536, 327683, 3, 1, 327684, 3, 2, 327685, 3, 2, 327686, 3, 3, 327690, 3, 196609, 327691, 3, 196610, 327692, 3, 196610, 327693, 3, 196610, 327694, 3, 196610, 327695, 3, 196611, 327706, 3, 65536, 327710, 3, 0, 327719, 3, 196609, 327720, 3, 196610, 327721, 3, 196610, 327722, 3, 196610, 327723, 3, 196610, 327724, 3, 196610, 327725, 3, 196611, 327762, 3, 1, 327763, 3, 2, 327764, 3, 2, 327765, 3, 2, 327766, 3, 65538, 327767, 3, 65538, 327768, 3, 2, 327769, 3, 2, 327770, 3, 65538, 327771, 3, 65538, 327772, 3, 3, 327776, 3, 65536, 458751, 3, 65536, 393219, 3, 131073, 393220, 3, 131074, 393221, 3, 131074, 393222, 3, 131075, 393241, 3, 1, 393242, 3, 65539, 393246, 3, 65536, 393291, 2, 1, 393295, 2, 0, 393298, 3, 65537, 393299, 3, 65538, 393300, 3, 65538, 393301, 3, 131074, 393302, 3, 131074, 393303, 3, 131074, 393304, 3, 131074, 393305, 3, 131074, 393306, 3, 131074, 393307, 3, 131074, 393308, 3, 131075, 393312, 3, 65536, 524287, 3, 65536, 458770, 3, 1, 458771, 3, 2, 458772, 3, 2, 458773, 3, 3, 458776, 3, 196609, 458777, 3, 131074, 458778, 3, 131074, 458779, 3, 196610, 458780, 3, 196610, 458781, 3, 196610, 458782, 3, 131075, 458787, 3, 196609, 458788, 3, 196610, 458789, 3, 196611, 458827, 3, 1, 458828, 3, 196610, 458829, 3, 196610, 458830, 3, 196610, 458831, 3, 196610, 458832, 3, 196610, 458833, 3, 196610, 458834, 3, 131074, 458835, 3, 131074, 458836, 3, 65539, 458848, 3, 65536, 589823, 3, 65536, 524306, 3, 65537, 524307, 3, 65538, 524308, 3, 65538, 524309, 3, 65539, 524334, 2, 3, 524341, 2, 1, 524348, 2, 2, 524349, 3, 1, 524350, 3, 196610, 524351, 3, 196610, 524352, 3, 196610, 524353, 3, 196610, 524354, 3, 196610, 524355, 3, 3, 524359, 2, 3, 524363, 3, 65536, 524372, 3, 65536, 524384, 3, 65536, 655359, 3, 65536, 589835, 2, 3, 589842, 3, 65537, 589843, 3, 131074, 589844, 3, 131074, 589845, 3, 131074, 589846, 3, 3, 589858, 2, 1, 589860, 2, 0, 589863, 3, 0, 589870, 3, 196609, 589871, 3, 196610, 589872, 3, 196610, 589873, 3, 196610, 589874, 3, 196610, 589875, 3, 196610, 589876, 3, 196610, 589877, 3, 196610, 589878, 3, 2, 589879, 3, 196610, 589880, 3, 196610, 589881, 3, 196610, 589882, 3, 196610, 589883, 3, 196610, 589884, 3, 196610, 589885, 3, 131075, 589891, 3, 131073, 589892, 3, 196610, 589893, 3, 196610, 589894, 3, 196610, 589895, 3, 196610, 589896, 3, 196610, 589897, 3, 196610, 589898, 3, 196610, 589899, 3, 131075, 589908, 3, 65536, 589919, 3, 1, 589920, 3, 65539, 720895, 3, 65536, 655366, 3, 196609, 655367, 3, 196610, 655368, 3, 196610, 655369, 3, 196610, 655370, 3, 196610, 655371, 3, 196610, 655372, 3, 196611, 655374, 3, 196609, 655375, 3, 196610, 655376, 3, 196610, 655377, 3, 196610, 655378, 3, 131075, 655382, 3, 131073, 655383, 3, 3, 655385, 2, 1, 655390, 3, 1, 655391, 3, 2, 655392, 3, 196610, 655393, 3, 196610, 655394, 3, 196610, 655395, 3, 196610, 655396, 3, 196610, 655397, 3, 196610, 655398, 3, 196610, 655399, 3, 131075, 655414, 3, 65536, 655444, 3, 65536, 655449, 2, 1, 655452, 2, 2, 655455, 3, 65537, 655456, 3, 65539, 786431, 3, 65536, 720919, 3, 131073, 720920, 3, 196610, 720921, 3, 196610, 720922, 3, 196610, 720923, 3, 196610, 720924, 3, 196611, 720926, 3, 131073, 720927, 3, 131075, 720950, 3, 65536, 720977, 3, 1, 720978, 3, 2, 720979, 3, 2, 720980, 3, 131075, 720982, 3, 196609, 720983, 3, 196610, 720984, 3, 196610, 720985, 3, 196610, 720986, 3, 196610, 720987, 3, 196610, 720988, 3, 196610, 720989, 3, 196610, 720990, 3, 196610, 720991, 3, 131074, 720992, 3, 65539, 851967, 3, 65536, 786486, 3, 65536, 786513, 3, 131073, 786514, 3, 131074, 786515, 3, 131075, 786528, 3, 65536, 917503, 3, 65537, 851968, 3, 196610, 851969, 3, 196610, 851970, 3, 196611, 851981, 3, 196609, 851982, 3, 196610, 851983, 3, 196611, 852012, 2, 2, 852015, 2, 0, 852022, 3, 131072, 852037, 2, 2, 852040, 2, 1, 852044, 3, 1, 852045, 3, 2, 852046, 3, 3, 852064, 3, 65536, 983039, 3, 65536, 917516, 3, 0, 917522, 3, 0, 917531, 2, 3, 917548, 3, 196609, 917549, 3, 196610, 917550, 3, 196610, 917551, 3, 196611, 917554, 3, 196609, 917555, 3, 196610, 917556, 3, 196611, 917573, 3, 1, 917574, 3, 2, 917575, 3, 2, 917576, 3, 3, 917580, 3, 131073, 917581, 3, 131074, 917582, 3, 131075, 917600, 3, 65536, 1048575, 3, 65536, 983051, 2, 1, 983052, 3, 65536, 983058, 3, 65537, 983059, 3, 2, 983060, 3, 2, 983061, 3, 2, 983062, 3, 3, 983065, 3, 196609, 983066, 3, 196610, 983067, 3, 196610, 983068, 3, 196610, 983069, 3, 3, 983078, 2, 2, 983109, 3, 131073, 983110, 3, 131074, 983111, 3, 131074, 983112, 3, 131075, 983134, 3, 196609, 983135, 3, 196610, 983136, 3, 65539, 1114111, 3, 65536, 1048587, 3, 196609, 1048588, 3, 131074, 1048589, 3, 196610, 1048590, 3, 196610, 1048591, 3, 196610, 1048592, 3, 196610, 1048593, 3, 196610, 1048594, 3, 131074, 1048595, 3, 131074, 1048596, 3, 131074, 1048597, 3, 131074, 1048598, 3, 131075, 1048605, 3, 131073, 1048606, 3, 196610, 1048607, 3, 196610, 1048608, 3, 196610, 1048609, 3, 196611, 1048612, 3, 196609, 1048613, 3, 196610, 1048614, 3, 196610, 1048615, 3, 196610, 1048616, 3, 196611, 1048636, 3, 1, 1048637, 3, 2, 1048638, 3, 2, 1048639, 3, 2, 1048640, 3, 2, 1048641, 3, 2, 1048642, 3, 3, 1048659, 3, 1, 1048660, 3, 2, 1048661, 3, 2, 1048662, 3, 3, 1048665, 3, 196608, 1048668, 3, 196608, 1048672, 3, 65536, 1179647, 3, 65536, 1114168, 2, 3, 1114172, 3, 131073, 1114173, 3, 131074, 1114174, 3, 131074, 1114175, 3, 131074, 1114176, 3, 131074, 1114177, 3, 131074, 1114178, 3, 131075, 1114194, 3, 1, 1114195, 3, 65538, 1114196, 3, 65538, 1114197, 3, 131074, 1114198, 3, 131075, 1114208, 3, 65536, 1245183, 3, 65537, 1179648, 3, 196610, 1179649, 3, 196611, 1179652, 3, 196609, 1179653, 3, 196610, 1179654, 3, 196610, 1179655, 3, 196610, 1179656, 3, 196611, 1179702, 3, 196609, 1179703, 3, 196610, 1179704, 3, 196610, 1179705, 3, 196610, 1179706, 3, 196611, 1179728, 3, 1, 1179729, 3, 2, 1179730, 3, 65538, 1179731, 3, 131074, 1179732, 3, 131075, 1179744, 3, 65536, 1310719, 3, 65536, 1245225, 2, 0, 1245228, 2, 1, 1245264, 3, 131073, 1245265, 3, 131074, 1245266, 3, 131075, 1245280, 3, 65536, 1376255, 3, 65536, 1310731, 3, 1, 1310732, 3, 2, 1310733, 3, 2, 1310734, 3, 2, 1310735, 3, 3, 1310761, 3, 1, 1310762, 3, 2, 1310763, 3, 2, 1310764, 3, 3, 1310816, 3, 65536, 1441791, 3, 65536, 1376261, 2, 3, 1376264, 2, 1, 1376266, 3, 1, 1376267, 3, 65538, 1376268, 3, 65538, 1376269, 3, 65538, 1376270, 3, 65538, 1376271, 3, 65538, 1376272, 3, 3, 1376283, 2, 0, 1376287, 2, 1, 1376289, 2, 2, 1376293, 2, 1, 1376297, 3, 65537, 1376298, 3, 65538, 1376299, 3, 65538, 1376300, 3, 65539, 1376309, 2, 3, 1376312, 2, 0, 1376316, 2, 2, 1376319, 2, 1, 1376322, 2, 0, 1376331, 2, 3, 1376335, 2, 2, 1376339, 2, 0, 1376343, 2, 1, 1376352, 3, 65536, 1507327, 3, 65537, 1441792, 3, 2, 1441793, 3, 2, 1441794, 3, 2, 1441795, 3, 2, 1441796, 3, 2, 1441797, 3, 2, 1441798, 3, 2, 1441799, 3, 2, 1441800, 3, 2, 1441801, 3, 2, 1441802, 3, 65538, 1441803, 3, 65538, 1441804, 3, 65538, 1441805, 3, 65538, 1441806, 3, 65538, 1441807, 3, 65538, 1441808, 3, 65538, 1441809, 3, 2, 1441810, 3, 2, 1441811, 3, 2, 1441812, 3, 2, 1441813, 3, 3, 1441817, 3, 1, 1441818, 3, 2, 1441819, 3, 2, 1441820, 3, 2, 1441821, 3, 2, 1441822, 3, 2, 1441823, 3, 2, 1441824, 3, 2, 1441825, 3, 2, 1441826, 3, 2, 1441827, 3, 2, 1441828, 3, 2, 1441829, 3, 2, 1441830, 3, 2, 1441831, 3, 2, 1441832, 3, 2, 1441833, 3, 65538, 1441834, 3, 65538, 1441835, 3, 65538, 1441836, 3, 65539, 1441845, 3, 1, 1441846, 3, 2, 1441847, 3, 2, 1441848, 3, 2, 1441849, 3, 2, 1441850, 3, 2, 1441851, 3, 2, 1441852, 3, 2, 1441853, 3, 2, 1441854, 3, 2, 1441855, 3, 2, 1441856, 3, 2, 1441857, 3, 2, 1441858, 3, 2, 1441859, 3, 2, 1441860, 3, 2, 1441861, 3, 2, 1441862, 3, 2, 1441863, 3, 3, 1441867, 3, 1, 1441868, 3, 2, 1441869, 3, 2, 1441870, 3, 2, 1441871, 3, 2, 1441872, 3, 2, 1441873, 3, 2, 1441874, 3, 2, 1441875, 3, 2, 1441876, 3, 2, 1441877, 3, 2, 1441878, 3, 2, 1441879, 3, 2, 1441880, 3, 2, 1441881, 3, 2, 1441882, 3, 2, 1441883, 3, 2, 1441884, 3, 2, 1441885, 3, 2, 1441886, 3, 2, 1441887, 3, 2, 1441888, 3, 65539, 1572863, 3, 65537, 1507328, 3, 65538, 1507329, 3, 65538, 1507330, 3, 65538, 1507331, 3, 65538, 1507332, 3, 65538, 1507333, 3, 65538, 1507334, 3, 65538, 1507335, 3, 65538, 1507336, 3, 65538, 1507337, 3, 65538, 1507338, 3, 65538, 1507339, 3, 65538, 1507340, 3, 65538, 1507341, 3, 65538, 1507342, 3, 65538, 1507343, 3, 65538, 1507344, 3, 65538, 1507345, 3, 65538, 1507346, 3, 65538, 1507347, 3, 65538, 1507348, 3, 65538, 1507349, 3, 65539, 1507353, 3, 65537, 1507354, 3, 65538, 1507355, 3, 65538, 1507356, 3, 65538, 1507357, 3, 65538, 1507358, 3, 65538, 1507359, 3, 65538, 1507360, 3, 65538, 1507361, 3, 65538, 1507362, 3, 65538, 1507363, 3, 65538, 1507364, 3, 65538, 1507365, 3, 65538, 1507366, 3, 65538, 1507367, 3, 65538, 1507368, 3, 65538, 1507369, 3, 65538, 1507370, 3, 65538, 1507371, 3, 65538, 1507372, 3, 65539, 1507381, 3, 65537, 1507382, 3, 65538, 1507383, 3, 65538, 1507384, 3, 65538, 1507385, 3, 65538, 1507386, 3, 65538, 1507387, 3, 65538, 1507388, 3, 65538, 1507389, 3, 65538, 1507390, 3, 65538, 1507391, 3, 65538, 1507392, 3, 65538, 1507393, 3, 65538, 1507394, 3, 65538, 1507395, 3, 65538, 1507396, 3, 65538, 1507397, 3, 65538, 1507398, 3, 65538, 1507399, 3, 65539, 1507403, 3, 65537, 1507404, 3, 65538, 1507405, 3, 65538, 1507406, 3, 65538, 1507407, 3, 65538, 1507408, 3, 65538, 1507409, 3, 65538, 1507410, 3, 65538, 1507411, 3, 65538, 1507412, 3, 65538, 1507413, 3, 65538, 1507414, 3, 65538, 1507415, 3, 65538, 1507416, 3, 65538, 1507417, 3, 65538, 1507418, 3, 65538, 1507419, 3, 65538, 1507420, 3, 65538, 1507421, 3, 65538, 1507422, 3, 65538, 1507423, 3, 65538, 1507424, 3, 65539, 1638399, 3, 131073, 1572864, 3, 131074, 1572865, 3, 131074, 1572866, 3, 131074, 1572867, 3, 131074, 1572868, 3, 131074, 1572869, 3, 131074, 1572870, 3, 131074, 1572871, 3, 131074, 1572872, 3, 131074, 1572873, 3, 131074, 1572874, 3, 131074, 1572875, 3, 131074, 1572876, 3, 131074, 1572877, 3, 131074, 1572878, 3, 131074, 1572879, 3, 131074, 1572880, 3, 131074, 1572881, 3, 131074, 1572882, 3, 131074, 1572883, 3, 131074, 1572884, 3, 131074, 1572885, 3, 131075, 1572889, 3, 131073, 1572890, 3, 131074, 1572891, 3, 131074, 1572892, 3, 131074, 1572893, 3, 131074, 1572894, 3, 131074, 1572895, 3, 131074, 1572896, 3, 131074, 1572897, 3, 131074, 1572898, 3, 131074, 1572899, 3, 131074, 1572900, 3, 131074, 1572901, 3, 131074, 1572902, 3, 131074, 1572903, 3, 131074, 1572904, 3, 131074, 1572905, 3, 131074, 1572906, 3, 131074, 1572907, 3, 131074, 1572908, 3, 131075, 1572917, 3, 131073, 1572918, 3, 131074, 1572919, 3, 131074, 1572920, 3, 131074, 1572921, 3, 131074, 1572922, 3, 131074, 1572923, 3, 131074, 1572924, 3, 131074, 1572925, 3, 131074, 1572926, 3, 131074, 1572927, 3, 131074, 1572928, 3, 131074, 1572929, 3, 131074, 1572930, 3, 131074, 1572931, 3, 131074, 1572932, 3, 131074, 1572933, 3, 131074, 1572934, 3, 131074, 1572935, 3, 131075, 1572939, 3, 131073, 1572940, 3, 131074, 1572941, 3, 131074, 1572942, 3, 131074, 1572943, 3, 131074, 1572944, 3, 131074, 1572945, 3, 131074, 1572946, 3, 131074, 1572947, 3, 131074, 1572948, 3, 131074, 1572949, 3, 131074, 1572950, 3, 131074, 1572951, 3, 131074, 1572952, 3, 131074, 1572953, 3, 131074, 1572954, 3, 131074, 1572955, 3, 131074, 1572956, 3, 131074, 1572957, 3, 131074, 1572958, 3, 131074, 1572959, 3, 131074, 1572960, 3, 131075 ) [node name="Player" parent="." instance=ExtResource( 26 )] position = Vector2( 24, 176 ) @@ -145,7 +145,7 @@ cost = 30 [node name="Collectibles" type="Node2D" parent="."] [node name="Star" parent="Collectibles" instance=ExtResource( 4 )] -position = Vector2( 8, 136 ) +position = Vector2( 0, 136 ) [node name="Star2" parent="Collectibles" instance=ExtResource( 4 )] position = Vector2( 104, 120 ) @@ -337,7 +337,7 @@ color = 2 [node name="Enemies" type="Node2D" parent="."] [node name="Bat" parent="Enemies" instance=ExtResource( 12 )] -position = Vector2( 40, 104 ) +position = Vector2( 32, 104 ) left_up_boundary = 4.0 right_down_boundary = 5.0 @@ -392,7 +392,7 @@ speed = 30 [node name="Snake2" parent="Enemies" instance=ExtResource( 14 )] position = Vector2( 96, 32 ) left_up_boundary = 2.0 -right_down_boundary = 5.0 +right_down_boundary = 4.0 speed = 30 [node name="Slime7" parent="Enemies" instance=ExtResource( 15 )] diff --git a/maps/test_room.tscn b/maps/test_room.tscn index fd31a5f..68171ea 100644 --- a/maps/test_room.tscn +++ b/maps/test_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=32 format=2] +[gd_scene load_steps=33 format=2] [ext_resource path="res://objects/enemy/super_slime.tscn" type="PackedScene" id=1] [ext_resource path="res://tilesets/t_cave.tres" type="TileSet" id=2] @@ -7,6 +7,7 @@ [ext_resource path="res://tilesets/t_death.tres" type="TileSet" id=5] [ext_resource path="res://objects/environment/moving_platform/moving_platform.tscn" type="PackedScene" id=6] [ext_resource path="res://graphics/backgrounds/canopy.png" type="Texture" id=7] +[ext_resource path="res://objects/environment/collapse_block/collapse_block.tscn" type="PackedScene" id=8] [ext_resource path="res://tilesets/t_laboratory.tres" type="TileSet" id=9] [ext_resource path="res://objects/enemy/slime.tscn" type="PackedScene" id=10] [ext_resource path="res://maps/map.gd" type="Script" id=11] @@ -254,7 +255,6 @@ position = Vector2( 48, 120 ) [node name="AnimatedSprite" parent="RollingFiend" index="0"] visible = false -frame = 1 [node name="SawTest2" type="AnimatedSprite" parent="RollingFiend"] material = SubResource( 4 ) @@ -317,4 +317,13 @@ jump_speed = 100.0 bottom_jumps = [ 3.0 ] top_jumps = [ 0.0 ] +[node name="CollapseBlock" parent="." instance=ExtResource( 8 )] +position = Vector2( 136, 128 ) + +[node name="CollapseBlock2" parent="." instance=ExtResource( 8 )] +position = Vector2( 144, 128 ) + +[node name="CollapseBlock3" parent="." instance=ExtResource( 8 )] +position = Vector2( 152, 128 ) + [editable path="RollingFiend"] diff --git a/objects/enemy/boss/2600.gd b/objects/enemy/boss/2600.gd new file mode 100644 index 0000000..31fcb1e --- /dev/null +++ b/objects/enemy/boss/2600.gd @@ -0,0 +1,51 @@ +extends "res://objects/enemy/enemy.gd" + +signal entered_phase(phase) + +export var shot_speed = 50 +export var fire_rate: float = 1 +export var can_shoot = false + +var hp = 3 + +onready var Bullet = preload("res://objects/enemy/2600_bullet.tscn") +onready var positions = $Positions +onready var shoot_timer = $ShootTimer +onready var anims = $AnimationPlayer +onready var head_sprite = $Body/Head + +#func _ready(): +# for node in get_tree().get_nodes_in_group("collapse_block"): +# if node.has_method("_on_collapse"): +# connect("collapse", node, "_on_collapse") + +func _on_ShootTimer_timeout(): + if can_shoot: + Audio.play_sound(Audio.a_bullet_barrage,Audio.ac_boss) + for pos in positions.get_children(): + var bullet = Bullet.instance() + bullet.global_position = pos.global_position + bullet.direction = Vector2.LEFT.rotated(pos.rotation) + bullet.speed = shot_speed + get_parent().add_child(bullet) + shoot_timer.wait_time = fire_rate + +func _play_laser_sound(): + Audio.play_sound(Audio.a_rainbow_laser,Audio.ac_boss) + +func die(): + hp -= 1 + anims.play("Beam") + match hp: + 2: + Game.instance_node(load("res://objects/enemy/boss/collapse_blocks.tscn"),0,0,get_parent()) + emit_signal("entered_phase", 2) + head_sprite.texture = load("res://graphics/enemy/boss/stg2600_head_cracked.png") + 1: + shot_speed = 70 + fire_rate = 0.8 + emit_signal("entered_phase", 3) + head_sprite.texture = load("res://graphics/enemy/boss/stg2600_head_broken.png") + 0: + queue_free() + emit_signal("entered_phase", 4) diff --git a/objects/enemy/boss/2600.tscn b/objects/enemy/boss/2600.tscn new file mode 100644 index 0000000..7d9b993 --- /dev/null +++ b/objects/enemy/boss/2600.tscn @@ -0,0 +1,229 @@ +[gd_scene load_steps=13 format=2] + +[ext_resource path="res://objects/enemy/boss/2600.gd" type="Script" id=1] +[ext_resource path="res://graphics/enemy/boss/stg2600_head.png" type="Texture" id=2] +[ext_resource path="res://graphics/enemy/boss/stg2600_leg.png" type="Texture" id=3] +[ext_resource path="res://graphics/enemy/boss/stg2600_beam.png" type="Texture" id=4] +[ext_resource path="res://graphics/npc/intelli_idle.png" type="Texture" id=5] + +[sub_resource type="CanvasItemMaterial" id=7] +blend_mode = 1 + +[sub_resource type="RectangleShape2D" id=6] +extents = Vector2( 7.97672, 8 ) + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 28.5, 16 ) + +[sub_resource type="RectangleShape2D" id=2] +extents = Vector2( 44, 16 ) + +[sub_resource type="RectangleShape2D" id=3] +extents = Vector2( 38, 13 ) + +[sub_resource type="Animation" id=4] +resource_name = "Beam" +length = 8.0 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Head/Beam:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.201388, 0.3, 0.4, 0.5, 0.6, 0.701388, 0.8, 0.9, 1, 1.1, 1.20139, 1.3, 1.4, 1.5, 1.6, 1.70139, 1.8, 1.9, 2, 2.1, 2.20139, 2.3, 2.4, 2.5, 2.59861, 2.69861, 2.79861, 2.89861, 3, 3.09861, 3.19861, 3.29861, 3.39861, 3.5, 3.59861, 3.69861, 3.79861, 3.89861, 4, 4.09861, 4.19861, 4.3, 4.39861, 4.49861, 4.59861, 4.69861, 4.8, 4.89861, 4.99861, 5.09861, 5.19861, 5.3, 5.39861, 5.49861, 5.59861, 5.69861, 5.8, 5.89861, 5.99861 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), +"update": 0, +"values": [ Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Body/Head/Beam:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 1.5, 5.5 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 1, +"values": [ false, true, true ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("Body/Head:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0, 1.5, 1.6, 5.5, 5.6, 5.9 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), +"update": 0, +"values": [ 0.0, 15.0, 15.0, -15.0, -15.0, 0.0 ] +} +tracks/3/type = "value" +tracks/3/path = NodePath("Body/Head/Beam:scale") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0, 1.5, 1.6 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector2( 13.4376, 1 ), Vector2( 0, 1 ), Vector2( 14, 1 ) ] +} +tracks/4/type = "value" +tracks/4/path = NodePath("Body/Head/Beam:position") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0, 5.5, 5.6, 5.9 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 0, +"values": [ Vector2( -70, -8 ), Vector2( -70, -8 ), Vector2( -500, -8 ), Vector2( -500, -8 ) ] +} +tracks/5/type = "value" +tracks/5/path = NodePath(".:can_shoot") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0, 5.9 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ false, true ] +} +tracks/6/type = "value" +tracks/6/path = NodePath("AnimationPlayer:current_animation") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"times": PoolRealArray( 7.9 ), +"transitions": PoolRealArray( 1 ), +"update": 2, +"values": [ "RESET" ] +} +tracks/7/type = "value" +tracks/7/path = NodePath("Body/Head/Beam/Hitbox/CollisionShape2D:disabled") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0, 1.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ true, false ] +} +tracks/8/type = "method" +tracks/8/path = NodePath(".") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"times": PoolRealArray( 1.6 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "_play_laser_sound" +} ] +} + +[sub_resource type="Animation" id=5] +length = 0.001 + +[node name="2600" type="Node2D"] +position = Vector2( 0, -16 ) +script = ExtResource( 1 ) +can_shoot = true + +[node name="Intelli" type="Sprite" parent="."] +position = Vector2( 32, 41 ) +rotation = 3.14159 +scale = Vector2( 1, -1 ) +texture = ExtResource( 5 ) +region_enabled = true +region_rect = Rect2( 0, 0, 20, 14 ) + +[node name="Body" type="Node2D" parent="."] +position = Vector2( 1, 0 ) + +[node name="LegR" type="Sprite" parent="Body"] +position = Vector2( 44, 112 ) +texture = ExtResource( 3 ) + +[node name="Head" type="Sprite" parent="Body"] +position = Vector2( 73, 72 ) +texture = ExtResource( 2 ) +offset = Vector2( -23, -24 ) + +[node name="Beam" type="Sprite" parent="Body/Head"] +visible = false +modulate = Color( 1, 0.423529, 0.4, 1 ) +material = SubResource( 7 ) +position = Vector2( -70, -8 ) +scale = Vector2( 13.4376, 1 ) +texture = ExtResource( 4 ) +offset = Vector2( -8, 0 ) + +[node name="Hitbox" type="Area2D" parent="Body/Head/Beam" groups=["blocks arrow", "enemy_hitbox"]] +position = Vector2( -8.03715, 0 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Body/Head/Beam/Hitbox"] +position = Vector2( 0.0139904, 0 ) +shape = SubResource( 6 ) +disabled = true + +[node name="LegL" type="Sprite" parent="Body"] +position = Vector2( 67, 112 ) +texture = ExtResource( 3 ) + +[node name="Positions" type="Node2D" parent="."] +position = Vector2( -153, -24 ) + +[node name="Position2D" type="Position2D" parent="Positions"] +position = Vector2( 152, 80 ) + +[node name="Position2D2" type="Position2D" parent="Positions"] +position = Vector2( 152, 88 ) +rotation = -0.436332 + +[node name="Position2D3" type="Position2D" parent="Positions"] +position = Vector2( 152, 96 ) +rotation = -0.872665 + +[node name="ShootTimer" type="Timer" parent="."] +autostart = true + +[node name="WeakSpot" type="Area2D" parent="." groups=["boss_weakspot", "enemy_hitbox"]] +position = Vector2( 1, 0 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="WeakSpot"] +position = Vector2( 27.5, 32 ) +shape = SubResource( 1 ) + +[node name="Hitbox" type="Area2D" parent="." groups=["blocks_arrow", "enemy_hitbox"]] +position = Vector2( 1, 0 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] +position = Vector2( 43, 64 ) +shape = SubResource( 2 ) + +[node name="CollisionShape2D2" type="CollisionShape2D" parent="Hitbox"] +position = Vector2( 48, 155 ) +shape = SubResource( 3 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/Beam = SubResource( 4 ) +anims/RESET = SubResource( 5 ) + +[connection signal="area_entered" from="Body/Head/Beam/Hitbox" to="." method="_on_Hitbox_area_entered"] +[connection signal="timeout" from="ShootTimer" to="." method="_on_ShootTimer_timeout"] +[connection signal="area_entered" from="WeakSpot" to="." method="_on_WeakSpot_area_entered"] +[connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"] diff --git a/objects/enemy/boss/collapse_blocks.tscn b/objects/enemy/boss/collapse_blocks.tscn new file mode 100644 index 0000000..cea66a3 --- /dev/null +++ b/objects/enemy/boss/collapse_blocks.tscn @@ -0,0 +1,46 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://objects/environment/collapse_block/collapse_block.tscn" type="PackedScene" id=1] +[ext_resource path="res://audio/sounds/collapse_block_fall.wav" type="AudioStream" id=2] + +[sub_resource type="PhysicsMaterial" id=2] +bounce = 0.07 + +[node name="CollapseBlocks" type="Node2D"] + +[node name="CollapseBlock" parent="." instance=ExtResource( 1 )] +position = Vector2( 16, 72 ) +physics_material_override = SubResource( 2 ) + +[node name="CollapseBlock2" parent="." instance=ExtResource( 1 )] +position = Vector2( 24, 72 ) +physics_material_override = SubResource( 2 ) + +[node name="CollapseBlock3" parent="." instance=ExtResource( 1 )] +position = Vector2( 32, 72 ) +physics_material_override = SubResource( 2 ) + +[node name="CollapseBlock4" parent="." instance=ExtResource( 1 )] +position = Vector2( 72, 72 ) +physics_material_override = SubResource( 2 ) + +[node name="CollapseBlock5" parent="." instance=ExtResource( 1 )] +position = Vector2( 64, 72 ) +physics_material_override = SubResource( 2 ) + +[node name="CollapseBlock9" parent="." instance=ExtResource( 1 )] +position = Vector2( 56, 72 ) +physics_material_override = SubResource( 2 ) + +[node name="CollapseBlock7" parent="." instance=ExtResource( 1 )] +position = Vector2( 64, 104 ) +physics_material_override = SubResource( 2 ) + +[node name="CollapseBlock8" parent="." instance=ExtResource( 1 )] +position = Vector2( 72, 104 ) +physics_material_override = SubResource( 2 ) + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 2 ) +volume_db = -8.0 +autoplay = true diff --git a/objects/enemy/boss/scrump.gd b/objects/enemy/boss/scrump.gd index ac9dfee..99b9058 100644 --- a/objects/enemy/boss/scrump.gd +++ b/objects/enemy/boss/scrump.gd @@ -12,6 +12,7 @@ export var phase3_speed = 150 onready var shoot_timer = $ShootTimer onready var shootpoint = $Position2D onready var blood_position = $BloodPosition +onready var shoot_sound = $ShootSound onready var map = get_owner() const Projectile = preload("res://objects/enemy/boss/scrump_projectile.tscn") const Gore = preload("res://objects/enemy/boss/scrump_gore.tscn") @@ -27,6 +28,9 @@ func _ready(): phase3_speed *= Game.enemy_speed_factor func shoot(): + var r = rand_range(0.8,1.2) + shoot_sound.pitch_scale = r + shoot_sound.play() Game.instance_node(Projectile,shootpoint.global_position.x,stepify(shootpoint.global_position.y,8),map) func _on_ShootTimer_timeout(): diff --git a/objects/enemy/boss/scrump.tscn b/objects/enemy/boss/scrump.tscn index e993e8b..8407e6d 100644 --- a/objects/enemy/boss/scrump.tscn +++ b/objects/enemy/boss/scrump.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=11 format=2] [ext_resource path="res://objects/enemy/boss/scrump.gd" type="Script" id=1] [ext_resource path="res://audio/sounds/gover.wav" type="AudioStream" id=2] [ext_resource path="res://audio/sounds/die.wav" type="AudioStream" id=3] [ext_resource path="res://graphics/enemy/boss/the_scrump.png" type="Texture" id=4] +[ext_resource path="res://audio/sounds/scrump_shot.ogg" type="AudioStream" id=5] [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 5.5, 9.5 ) @@ -95,7 +96,6 @@ autostart = true [node name="Sprite" type="AnimatedSprite" parent="."] position = Vector2( 26, 27 ) frames = SubResource( 5 ) -frame = 1 playing = true [node name="BloodPosition" type="Position2D" parent="."] @@ -107,6 +107,10 @@ stream = ExtResource( 3 ) [node name="DeathSound" type="AudioStreamPlayer" parent="."] stream = ExtResource( 2 ) +[node name="ShootSound" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 5 ) +volume_db = -8.0 + [connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"] [connection signal="timeout" from="ShootTimer" to="." method="_on_ShootTimer_timeout"] [connection signal="timeout" from="ArrowSpawnTimer" to="." method="_on_ArrowSpawnTimer_timeout"] diff --git a/objects/environment/collapse_block/collapse_block.gd b/objects/environment/collapse_block/collapse_block.gd new file mode 100644 index 0000000..9908026 --- /dev/null +++ b/objects/environment/collapse_block/collapse_block.gd @@ -0,0 +1,14 @@ +extends RigidBody2D + +onready var start_position = Vector2(position.x,position.y) +onready var sound = $AudioStreamPlayer + +func _ready(): + for node in get_tree().get_nodes_in_group("delete_on_collapse"): + node.queue_free() + +func _on_AnimationPlayer_animation_finished(anim_name): + queue_free() + +func _on_Timer_timeout(): + $AnimationPlayer.play("die") diff --git a/objects/environment/collapse_block/collapse_block.tscn b/objects/environment/collapse_block/collapse_block.tscn new file mode 100644 index 0000000..bf72c3f --- /dev/null +++ b/objects/environment/collapse_block/collapse_block.tscn @@ -0,0 +1,57 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://tilesets/t_factory.tres" type="TileSet" id=1] +[ext_resource path="res://objects/environment/collapse_block/collapse_block.gd" type="Script" id=2] + +[sub_resource type="PhysicsMaterial" id=2] +bounce = 0.07 + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 4, 4 ) + +[sub_resource type="Animation" id=3] +length = 0.001 + +[sub_resource type="Animation" id=4] +resource_name = "die" +length = 1.5 +tracks/0/type = "value" +tracks/0/path = NodePath("TileMap:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), +"update": 1, +"values": [ true, false, true, false, true, false, true, false ] +} + +[node name="CollapseBlock" type="RigidBody2D" groups=["collapse_block"]] +physics_material_override = SubResource( 2 ) +script = ExtResource( 2 ) + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource( 1 ) +collision_layer = 0 +collision_mask = 0 +format = 1 +tile_data = PoolIntArray( 0, 0, 0 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 4, 4 ) +shape = SubResource( 1 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/RESET = SubResource( 3 ) +anims/die = SubResource( 4 ) + +[node name="Timer" type="Timer" parent="."] +wait_time = 3.0 +one_shot = true +autostart = true + +[connection signal="body_entered" from="." to="." method="_on_CollapseBlock_body_entered"] +[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"] +[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]