scrump sounds and more work on stg2600

This commit is contained in:
pennyrigate 2023-09-01 18:38:58 -04:00
parent ba12787fcb
commit 8b831ea616
38 changed files with 804 additions and 153 deletions

Binary file not shown.

View file

@ -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

View file

@ -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

Binary file not shown.

View file

@ -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

BIN
audio/sounds/rainbow_laser Normal file

Binary file not shown.

Binary file not shown.

View file

@ -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

Binary file not shown.

View file

@ -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

View file

@ -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

View file

@ -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_bubble = preload("res://audio/sounds/bubble.wav")
const a_select = preload("res://audio/sounds/select.wav") const a_select = preload("res://audio/sounds/select.wav")
const a_confirm = preload("res://audio/sounds/confirm.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 #Plays a sound
func play_sound(snd,player): func play_sound(snd,player):

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

View file

@ -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

View file

@ -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

13
maps/boss/boss2_arena.gd Normal file
View file

@ -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()

View file

@ -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://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/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://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://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/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/environment/moving_platform/moving_platform.tscn" type="PackedScene" id=7]
[ext_resource path="res://objects/collectibles/arrow.tscn" type="PackedScene" id=8] [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/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://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://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"]] [node name="Map" type="Node2D" groups=["map"]]
pause_mode = 1 pause_mode = 1
@ -34,16 +35,23 @@ __meta__ = {
[node name="Ground" type="Node2D" parent="."] [node name="Ground" type="Node2D" parent="."]
[node name="TileMap" type="TileMap" parent="Ground"] [node name="TileMap" type="TileMap" parent="Ground"]
visible = false
tile_set = ExtResource( 1 ) tile_set = ExtResource( 1 )
cell_size = Vector2( 8, 8 ) cell_size = Vector2( 8, 8 )
format = 1 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"] [node name="Ladder" type="TileMap" parent="Ground"]
tile_set = ExtResource( 14 ) tile_set = ExtResource( 14 )
cell_size = Vector2( 8, 8 ) cell_size = Vector2( 8, 8 )
format = 1 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 )] [node name="FallingBlock" parent="Ground" instance=ExtResource( 3 )]
position = Vector2( 96, 152 ) position = Vector2( 96, 152 )
@ -54,19 +62,19 @@ position = Vector2( 72, 40 )
[node name="FallingBlock5" parent="Ground" instance=ExtResource( 3 )] [node name="FallingBlock5" parent="Ground" instance=ExtResource( 3 )]
position = Vector2( 8, 56 ) position = Vector2( 8, 56 )
[node name="FallingBlock6" parent="Ground" instance=ExtResource( 3 )]
position = Vector2( 16, 72 )
[node name="FallingBlock7" parent="Ground" instance=ExtResource( 3 )] [node name="FallingBlock7" parent="Ground" instance=ExtResource( 3 )]
position = Vector2( 32, 40 ) position = Vector2( 32, 40 )
[node name="MovingPlatform" parent="Ground" instance=ExtResource( 7 )] [node name="MovingPlatform" parent="Ground" instance=ExtResource( 7 )]
position = Vector2( 40, 144 ) position = Vector2( 32, 224 )
scale = Vector2( 2, 1 ) scale = Vector2( 2, 1 )
speed = 40 speed = 40
left_up_boundary = 2.0 left_up_boundary = 2.0
right_down_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 )] [node name="Player" parent="." instance=ExtResource( 2 )]
position = Vector2( 24, 176 ) position = Vector2( 24, 176 )
use_iframes = true use_iframes = true
@ -76,26 +84,26 @@ position = Vector2( 48, 216 )
[node name="Ladder2" parent="." instance=ExtResource( 10 )] [node name="Ladder2" parent="." instance=ExtResource( 10 )]
position = Vector2( 96, 80 ) position = Vector2( 96, 80 )
scale = Vector2( 1, 5 ) scale = Vector2( 1, 4 )
[node name="DelayedArrow" parent="." instance=ExtResource( 12 )] [node name="DelayedArrow" parent="." instance=ExtResource( 12 )]
delay = 5.0 delay = 0.1
autostart = true autostart = true
[node name="Arrow" parent="DelayedArrow" instance=ExtResource( 8 )] [node name="Arrow" parent="DelayedArrow" instance=ExtResource( 8 )]
position = Vector2( 104, 32 ) position = Vector2( 64, 168 )
[node name="DelayedArrow2" parent="." instance=ExtResource( 12 )] [node name="DelayedArrow2" parent="." instance=ExtResource( 12 )]
delay = 5.0 delay = 0.1
[node name="Arrow2" parent="DelayedArrow2" instance=ExtResource( 8 )] [node name="Arrow2" parent="DelayedArrow2" instance=ExtResource( 8 )]
position = Vector2( 72, 168 ) position = Vector2( 72, 168 )
[node name="DelayedArrow3" parent="." instance=ExtResource( 12 )] [node name="DelayedArrow3" parent="." instance=ExtResource( 12 )]
delay = 5.0 delay = 0.1
[node name="Arrow3" parent="DelayedArrow3" instance=ExtResource( 8 )] [node name="Arrow3" parent="DelayedArrow3" instance=ExtResource( 8 )]
position = Vector2( 120, 32 ) position = Vector2( 80, 168 )
[node name="DeathTile" parent="." instance=ExtResource( 13 )] [node name="DeathTile" parent="." instance=ExtResource( 13 )]
position = Vector2( 0, 192 ) position = Vector2( 0, 192 )
@ -105,118 +113,8 @@ scale = Vector2( 32, 1 )
wait_time = 5.0 wait_time = 5.0
one_shot = true one_shot = true
[node name="2600" type="Node2D" parent="."] [node name="2600" parent="." instance=ExtResource( 15 )]
position = Vector2( 0, -16 ) position = Vector2( 152, 8 )
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="Enemies" type="Node2D" parent="."] [node name="Enemies" type="Node2D" parent="."]
@ -248,4 +146,4 @@ margin_right = 152.0
margin_bottom = 67.0 margin_bottom = 67.0
[connection signal="timeout" from="ExitTimer" to="." method="_on_ExitTimer_timeout"] [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"]

File diff suppressed because one or more lines are too long

View file

@ -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://objects/enemy/super_slime.tscn" type="PackedScene" id=1]
[ext_resource path="res://tilesets/t_cave.tres" type="TileSet" id=2] [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://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://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://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://tilesets/t_laboratory.tres" type="TileSet" id=9]
[ext_resource path="res://objects/enemy/slime.tscn" type="PackedScene" id=10] [ext_resource path="res://objects/enemy/slime.tscn" type="PackedScene" id=10]
[ext_resource path="res://maps/map.gd" type="Script" id=11] [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"] [node name="AnimatedSprite" parent="RollingFiend" index="0"]
visible = false visible = false
frame = 1
[node name="SawTest2" type="AnimatedSprite" parent="RollingFiend"] [node name="SawTest2" type="AnimatedSprite" parent="RollingFiend"]
material = SubResource( 4 ) material = SubResource( 4 )
@ -317,4 +317,13 @@ jump_speed = 100.0
bottom_jumps = [ 3.0 ] bottom_jumps = [ 3.0 ]
top_jumps = [ 0.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"] [editable path="RollingFiend"]

View file

@ -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)

View file

@ -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"]

View file

@ -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

View file

@ -12,6 +12,7 @@ export var phase3_speed = 150
onready var shoot_timer = $ShootTimer onready var shoot_timer = $ShootTimer
onready var shootpoint = $Position2D onready var shootpoint = $Position2D
onready var blood_position = $BloodPosition onready var blood_position = $BloodPosition
onready var shoot_sound = $ShootSound
onready var map = get_owner() onready var map = get_owner()
const Projectile = preload("res://objects/enemy/boss/scrump_projectile.tscn") const Projectile = preload("res://objects/enemy/boss/scrump_projectile.tscn")
const Gore = preload("res://objects/enemy/boss/scrump_gore.tscn") const Gore = preload("res://objects/enemy/boss/scrump_gore.tscn")
@ -27,6 +28,9 @@ func _ready():
phase3_speed *= Game.enemy_speed_factor phase3_speed *= Game.enemy_speed_factor
func shoot(): 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) Game.instance_node(Projectile,shootpoint.global_position.x,stepify(shootpoint.global_position.y,8),map)
func _on_ShootTimer_timeout(): func _on_ShootTimer_timeout():

View file

@ -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://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/gover.wav" type="AudioStream" id=2]
[ext_resource path="res://audio/sounds/die.wav" type="AudioStream" id=3] [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://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] [sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 5.5, 9.5 ) extents = Vector2( 5.5, 9.5 )
@ -95,7 +96,6 @@ autostart = true
[node name="Sprite" type="AnimatedSprite" parent="."] [node name="Sprite" type="AnimatedSprite" parent="."]
position = Vector2( 26, 27 ) position = Vector2( 26, 27 )
frames = SubResource( 5 ) frames = SubResource( 5 )
frame = 1
playing = true playing = true
[node name="BloodPosition" type="Position2D" parent="."] [node name="BloodPosition" type="Position2D" parent="."]
@ -107,6 +107,10 @@ stream = ExtResource( 3 )
[node name="DeathSound" type="AudioStreamPlayer" parent="."] [node name="DeathSound" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 2 ) 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="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"]
[connection signal="timeout" from="ShootTimer" to="." method="_on_ShootTimer_timeout"] [connection signal="timeout" from="ShootTimer" to="." method="_on_ShootTimer_timeout"]
[connection signal="timeout" from="ArrowSpawnTimer" to="." method="_on_ArrowSpawnTimer_timeout"] [connection signal="timeout" from="ArrowSpawnTimer" to="." method="_on_ArrowSpawnTimer_timeout"]

View file

@ -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")

View file

@ -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"]