diff --git a/game.tscn b/game.tscn index da0cea6..bdb58d7 100644 --- a/game.tscn +++ b/game.tscn @@ -23,3 +23,6 @@ volume_db = -12.0 [node name="CodeEntrySound" type="AudioStreamPlayer" parent="."] volume_db = -12.0 + +[node name="BossSound" type="AudioStreamPlayer" parent="."] +volume_db = -12.0 diff --git a/graphics/enemy/boss/scrump_gore/brain1.png b/graphics/enemy/boss/scrump_gore/brain1.png new file mode 100644 index 0000000..5593884 Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/brain1.png differ diff --git a/graphics/enemy/boss/scrump_gore/brain1.png.import b/graphics/enemy/boss/scrump_gore/brain1.png.import new file mode 100644 index 0000000..abff7b5 --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/brain1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/brain1.png-1158e09185c1ea5503436abba618a779.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/brain1.png" +dest_files=[ "res://.import/brain1.png-1158e09185c1ea5503436abba618a779.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/scrump_gore/brain2.png b/graphics/enemy/boss/scrump_gore/brain2.png new file mode 100644 index 0000000..753e563 Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/brain2.png differ diff --git a/graphics/enemy/boss/scrump_gore/brain2.png.import b/graphics/enemy/boss/scrump_gore/brain2.png.import new file mode 100644 index 0000000..c2717f6 --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/brain2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/brain2.png-2250df685cd477f1289fb2afa9805a3b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/brain2.png" +dest_files=[ "res://.import/brain2.png-2250df685cd477f1289fb2afa9805a3b.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/scrump_gore/brain3.png b/graphics/enemy/boss/scrump_gore/brain3.png new file mode 100644 index 0000000..2100a49 Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/brain3.png differ diff --git a/graphics/enemy/boss/scrump_gore/brain3.png.import b/graphics/enemy/boss/scrump_gore/brain3.png.import new file mode 100644 index 0000000..a6b2c1f --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/brain3.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/brain3.png-4d4ddcec1be58de1f6459b0ee86b2bc0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/brain3.png" +dest_files=[ "res://.import/brain3.png-4d4ddcec1be58de1f6459b0ee86b2bc0.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/scrump_gore/brain4.png b/graphics/enemy/boss/scrump_gore/brain4.png new file mode 100644 index 0000000..7360fea Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/brain4.png differ diff --git a/graphics/enemy/boss/scrump_gore/brain4.png.import b/graphics/enemy/boss/scrump_gore/brain4.png.import new file mode 100644 index 0000000..7d5a70f --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/brain4.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/brain4.png-109d7c623bdbccda56ce2e16b44930f5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/brain4.png" +dest_files=[ "res://.import/brain4.png-109d7c623bdbccda56ce2e16b44930f5.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/scrump_gore/eye.png b/graphics/enemy/boss/scrump_gore/eye.png new file mode 100644 index 0000000..6a1d1fe Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/eye.png differ diff --git a/graphics/enemy/boss/scrump_gore/eye.png.import b/graphics/enemy/boss/scrump_gore/eye.png.import new file mode 100644 index 0000000..d244d7f --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/eye.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/eye.png-59017e84b7d250914b0edece5a3dbe4c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/eye.png" +dest_files=[ "res://.import/eye.png-59017e84b7d250914b0edece5a3dbe4c.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/scrump_gore/eyestalk.png b/graphics/enemy/boss/scrump_gore/eyestalk.png new file mode 100644 index 0000000..feffc04 Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/eyestalk.png differ diff --git a/graphics/enemy/boss/scrump_gore/eyestalk.png.import b/graphics/enemy/boss/scrump_gore/eyestalk.png.import new file mode 100644 index 0000000..fa0ac7e --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/eyestalk.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/eyestalk.png-4ace80160a0fb54f0cadd22cd1eefed7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/eyestalk.png" +dest_files=[ "res://.import/eyestalk.png-4ace80160a0fb54f0cadd22cd1eefed7.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/scrump_gore/headlower.png b/graphics/enemy/boss/scrump_gore/headlower.png new file mode 100644 index 0000000..917bde2 Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/headlower.png differ diff --git a/graphics/enemy/boss/scrump_gore/headlower.png.import b/graphics/enemy/boss/scrump_gore/headlower.png.import new file mode 100644 index 0000000..ce50600 --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/headlower.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/headlower.png-8a896df396494abd24a6cea552fcd875.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/headlower.png" +dest_files=[ "res://.import/headlower.png-8a896df396494abd24a6cea552fcd875.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/scrump_gore/headupper.png b/graphics/enemy/boss/scrump_gore/headupper.png new file mode 100644 index 0000000..463fe04 Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/headupper.png differ diff --git a/graphics/enemy/boss/scrump_gore/headupper.png.import b/graphics/enemy/boss/scrump_gore/headupper.png.import new file mode 100644 index 0000000..0bb99c9 --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/headupper.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/headupper.png-4c1bc34d2bdb2eb54ca8588fd1c55ea5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/headupper.png" +dest_files=[ "res://.import/headupper.png-4c1bc34d2bdb2eb54ca8588fd1c55ea5.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/scrump_gore/tentacle1.png b/graphics/enemy/boss/scrump_gore/tentacle1.png new file mode 100644 index 0000000..e64bf40 Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/tentacle1.png differ diff --git a/graphics/enemy/boss/scrump_gore/tentacle1.png.import b/graphics/enemy/boss/scrump_gore/tentacle1.png.import new file mode 100644 index 0000000..84df8bf --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/tentacle1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tentacle1.png-1e1d4b85b51f27875445a7b33b412617.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/tentacle1.png" +dest_files=[ "res://.import/tentacle1.png-1e1d4b85b51f27875445a7b33b412617.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/scrump_gore/tentacle2.png b/graphics/enemy/boss/scrump_gore/tentacle2.png new file mode 100644 index 0000000..782955e Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/tentacle2.png differ diff --git a/graphics/enemy/boss/scrump_gore/tentacle2.png.import b/graphics/enemy/boss/scrump_gore/tentacle2.png.import new file mode 100644 index 0000000..e7b28ff --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/tentacle2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tentacle2.png-835d05b55680976174a62f32f51ddc20.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/tentacle2.png" +dest_files=[ "res://.import/tentacle2.png-835d05b55680976174a62f32f51ddc20.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/scrump_gore/tentacle3.png b/graphics/enemy/boss/scrump_gore/tentacle3.png new file mode 100644 index 0000000..cd2024a Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/tentacle3.png differ diff --git a/graphics/enemy/boss/scrump_gore/tentacle3.png.import b/graphics/enemy/boss/scrump_gore/tentacle3.png.import new file mode 100644 index 0000000..60ebf8b --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/tentacle3.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tentacle3.png-85addbc9cd47f50ad26b6a2dc46b92a5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/tentacle3.png" +dest_files=[ "res://.import/tentacle3.png-85addbc9cd47f50ad26b6a2dc46b92a5.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/scrump_gore/tentacle4.png b/graphics/enemy/boss/scrump_gore/tentacle4.png new file mode 100644 index 0000000..63144bb Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/tentacle4.png differ diff --git a/graphics/enemy/boss/scrump_gore/tentacle4.png.import b/graphics/enemy/boss/scrump_gore/tentacle4.png.import new file mode 100644 index 0000000..68ad508 --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/tentacle4.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tentacle4.png-b0a2f40eb4e9ded19420aa6b6663b1f7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/tentacle4.png" +dest_files=[ "res://.import/tentacle4.png-b0a2f40eb4e9ded19420aa6b6663b1f7.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/scrump_gore/tentacle5.png b/graphics/enemy/boss/scrump_gore/tentacle5.png new file mode 100644 index 0000000..e3e04f2 Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/tentacle5.png differ diff --git a/graphics/enemy/boss/scrump_gore/tentacle5.png.import b/graphics/enemy/boss/scrump_gore/tentacle5.png.import new file mode 100644 index 0000000..21d78d4 --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/tentacle5.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tentacle5.png-8e7223bc5d1918d75d16b5098d66b7d7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/tentacle5.png" +dest_files=[ "res://.import/tentacle5.png-8e7223bc5d1918d75d16b5098d66b7d7.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/scrump_gore/tentacle6.png b/graphics/enemy/boss/scrump_gore/tentacle6.png new file mode 100644 index 0000000..a441140 Binary files /dev/null and b/graphics/enemy/boss/scrump_gore/tentacle6.png differ diff --git a/graphics/enemy/boss/scrump_gore/tentacle6.png.import b/graphics/enemy/boss/scrump_gore/tentacle6.png.import new file mode 100644 index 0000000..0943b4e --- /dev/null +++ b/graphics/enemy/boss/scrump_gore/tentacle6.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tentacle6.png-21ece83eb93c3f03b8142e110a83ddb3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_gore/tentacle6.png" +dest_files=[ "res://.import/tentacle6.png-21ece83eb93c3f03b8142e110a83ddb3.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/scrump_hurt.png b/graphics/enemy/boss/scrump_hurt.png new file mode 100644 index 0000000..712519c Binary files /dev/null and b/graphics/enemy/boss/scrump_hurt.png differ diff --git a/graphics/enemy/boss/scrump_hurt.png.import b/graphics/enemy/boss/scrump_hurt.png.import new file mode 100644 index 0000000..093ca2a --- /dev/null +++ b/graphics/enemy/boss/scrump_hurt.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/scrump_hurt.png-85e46fd66a97b9f216f29dc521d0aa83.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/scrump_hurt.png" +dest_files=[ "res://.import/scrump_hurt.png-85e46fd66a97b9f216f29dc521d0aa83.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/boss1_arena.gd b/maps/boss/boss1_arena.gd index cf7dd9f..3b4e095 100644 --- a/maps/boss/boss1_arena.gd +++ b/maps/boss/boss1_arena.gd @@ -12,3 +12,10 @@ func _on_Boss1_entered_phase(phase): $DelayedArrow2.start() 3: $DelayedArrow3.start() + 4: + $ExitTimer.start() + + +func _on_ExitTimer_timeout(): + Game.save() + Game.change_map(load("res://maps/level_select.tscn")) diff --git a/maps/boss/boss1_arena.tscn b/maps/boss/boss1_arena.tscn index 168bb41..d0eb06c 100644 --- a/maps/boss/boss1_arena.tscn +++ b/maps/boss/boss1_arena.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=14 format=2] [ext_resource path="res://objects/enemy/boss/boss1.tscn" type="PackedScene" id=1] [ext_resource path="res://objects/player/player.tscn" type="PackedScene" id=2] @@ -12,6 +12,7 @@ [ext_resource path="res://objects/environment/ladder/ladder.tscn" type="PackedScene" id=10] [ext_resource path="res://audio/music/klystron.mp3" type="AudioStream" id=11] [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] [node name="Map" type="Node2D" groups=["map"]] pause_mode = 1 @@ -40,7 +41,11 @@ __meta__ = { tile_set = ExtResource( 5 ) cell_size = Vector2( 8, 8 ) format = 1 -tile_data = PoolIntArray( 720907, 0, 65536, 720908, 0, 65537, 720909, 0, 65538, 851972, 0, 65536, 851973, 0, 65538, 851974, 0, 65538, 1114122, 0, 65536, 1114123, 0, 65537, 1114124, 0, 65537, 1114125, 0, 65538, 1310723, 0, 65536, 1310724, 0, 65537, 1310725, 0, 65537, 1310726, 0, 65537, 1310727, 0, 65537, 1310728, 0, 65537, 1310729, 0, 65537, 1310730, 0, 65537, 1310731, 0, 65537, 1310732, 0, 65537, 1310733, 0, 65537, 1310734, 0, 65537, 1310735, 0, 65537, 1310736, 0, 65537, 1310737, 0, 65537, 1310738, 0, 65537, 1310739, 0, 65537, 1310740, 0, 65538 ) +tile_data = PoolIntArray( -65537, 0, 0, -131072, 0, 0, -131071, 0, 0, -131070, 0, 0, -131069, 0, 0, -131068, 0, 0, -131067, 0, 0, -131066, 0, 0, -131065, 0, 0, -131064, 0, 0, -131063, 0, 0, -131062, 0, 0, -131061, 0, 0, -131060, 0, 0, -131059, 0, 0, -131058, 0, 0, -131057, 0, 0, -131056, 0, 0, -131055, 0, 0, -131054, 0, 0, -131053, 0, 0, -131052, 0, 0, -131051, 0, 0, -131050, 0, 0, -131049, 0, 0, -131048, 0, 0, -131047, 0, 0, -131046, 0, 0, -131045, 0, 0, -131044, 0, 0, -131043, 0, 0, -131042, 0, 0, -131041, 0, 0, -131040, 0, 0, -1, 0, 0, -65504, 0, 0, 65535, 0, 0, 32, 0, 0, 131071, 0, 0, 65568, 0, 0, 196607, 0, 0, 131104, 0, 0, 262143, 0, 0, 196640, 0, 0, 327679, 0, 0, 262176, 0, 0, 393215, 0, 0, 327712, 0, 0, 458751, 0, 0, 393248, 0, 0, 524287, 0, 0, 458784, 0, 0, 589823, 0, 0, 524320, 0, 0, 655359, 0, 0, 589856, 0, 0, 720895, 0, 0, 655392, 0, 0, 786431, 0, 0, 720907, 0, 65536, 720908, 0, 65537, 720909, 0, 65538, 720928, 0, 0, 851967, 0, 0, 786464, 0, 0, 917503, 0, 0, 851972, 0, 65536, 851973, 0, 65538, 851974, 0, 65538, 852000, 0, 0, 983039, 0, 0, 917536, 0, 0, 1048575, 0, 0, 983072, 0, 0, 1114111, 0, 0, 1048608, 0, 0, 1179647, 0, 0, 1114122, 0, 65536, 1114123, 0, 65537, 1114124, 0, 65537, 1114125, 0, 65538, 1114144, 0, 0, 1245183, 0, 0, 1179680, 0, 0, 1310719, 0, 0, 1245216, 0, 0, 1376255, 0, 0, 1310723, 0, 65536, 1310724, 0, 65537, 1310725, 0, 65537, 1310726, 0, 65537, 1310727, 0, 65537, 1310728, 0, 65537, 1310729, 0, 65537, 1310730, 0, 65537, 1310731, 0, 65537, 1310732, 0, 65537, 1310733, 0, 65537, 1310734, 0, 65537, 1310735, 0, 65537, 1310736, 0, 65537, 1310737, 0, 65537, 1310738, 0, 65537, 1310739, 0, 65537, 1310740, 0, 65538, 1310752, 0, 0, 1441791, 0, 0, 1376288, 0, 0, 1507327, 0, 0, 1441824, 0, 0, 1572863, 0, 0, 1507360, 0, 0, 1638399, 0, 0, 1572896, 0, 0 ) + +[node name="Player" parent="." instance=ExtResource( 2 )] +position = Vector2( 48, 144 ) +use_iframes = true [node name="Ladder" type="TileMap" parent="."] tile_set = ExtResource( 5 ) @@ -48,10 +53,6 @@ cell_size = Vector2( 8, 8 ) format = 1 tile_data = PoolIntArray( 851973, 0, 65537, 851976, 1, 0, 917512, 1, 0, 983048, 1, 0, 1310723, 0, 65536, 1310724, 0, 65537, 1310725, 0, 65537, 1310726, 0, 65537, 1310727, 0, 65537, 1310728, 0, 65537, 1310729, 0, 65537, 1310730, 0, 65537, 1310731, 0, 65537, 1310732, 0, 65537, 1310733, 0, 65537, 1310734, 0, 65537, 1310735, 0, 65537, 1310736, 0, 65537, 1310737, 0, 65537, 1310738, 0, 65537, 1310739, 0, 65537, 1310740, 0, 65538 ) -[node name="Player" parent="." instance=ExtResource( 2 )] -position = Vector2( 48, 144 ) -use_iframes = true - [node name="Boss1" parent="." instance=ExtResource( 1 )] position = Vector2( 168, 112 ) left_up_boundry = 10.0 @@ -86,5 +87,14 @@ delay = 5.0 [node name="Arrow3" parent="DelayedArrow3" instance=ExtResource( 8 )] position = Vector2( 96, 80 ) +[node name="DeathTile" parent="." instance=ExtResource( 13 )] +position = Vector2( 0, 192 ) +scale = Vector2( 32, 1 ) + +[node name="ExitTimer" type="Timer" parent="."] +wait_time = 5.0 +one_shot = true + [connection signal="died" from="Boss1" to="." method="_on_Boss1_died"] [connection signal="entered_phase" from="Boss1" to="." method="_on_Boss1_entered_phase"] +[connection signal="timeout" from="ExitTimer" to="." method="_on_ExitTimer_timeout"] diff --git a/objects/enemy/boss/boss1.gd b/objects/enemy/boss/boss1.gd index e555fbd..132c9a1 100644 --- a/objects/enemy/boss/boss1.gd +++ b/objects/enemy/boss/boss1.gd @@ -14,6 +14,7 @@ onready var shootpoint = $Position2D onready var blood_position = $BloodPosition onready var map = get_owner() const Projectile = preload("res://objects/enemy/boss/boss1_projectile.tscn") +const Gore = preload("res://objects/enemy/boss/boss1_gore.tscn") func _ready(): @@ -28,6 +29,7 @@ func _on_ShootTimer_timeout(): func die(): hp -= 1 + Game.play_sound(Game.a_die,Game.ac_boss) match hp: 2: emit_signal("entered_phase", 2) @@ -38,9 +40,15 @@ func die(): speed = phase3_speed shoot_time = Vector2(0.3,0.5) 0: - .die() + Game.instance_node(Gore,position.x,position.y,map) + Game.play_sound(Game.a_gover,Game.ac_boss) + emit_signal("entered_phase",4) + queue_free() + #Bleed particles var death_particles = DeathParticles.instance() death_particles.global_position = blood_position.global_position death_particles.emitting = true + death_particles.amount = 64 + death_particles.lifetime = 0.45 get_parent().add_child(death_particles) diff --git a/objects/enemy/boss/boss1.tscn b/objects/enemy/boss/boss1.tscn index 26f08f3..f66f5c5 100644 --- a/objects/enemy/boss/boss1.tscn +++ b/objects/enemy/boss/boss1.tscn @@ -1,7 +1,9 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=7 format=2] [ext_resource path="res://graphics/enemy/boss/scrump.png" type="Texture" id=1] [ext_resource path="res://objects/enemy/boss/boss1.gd" type="Script" id=2] +[ext_resource path="res://audio/sounds/die.wav" type="AudioStream" id=3] +[ext_resource path="res://audio/sounds/gover.wav" type="AudioStream" id=4] [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 5.5, 9.5 ) @@ -13,6 +15,8 @@ extents = Vector2( 20, 27 ) script = ExtResource( 2 ) move_direction = 1 flip_sprite = false +phase2_speed = 75 +phase3_speed = 100 [node name="Sus" type="ColorRect" parent="."] visible = false @@ -80,6 +84,12 @@ texture = ExtResource( 1 ) [node name="BloodPosition" type="Position2D" parent="."] position = Vector2( 0, 14 ) +[node name="HurtSound" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 3 ) + +[node name="DeathSound" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 4 ) + [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/enemy/boss/boss1_gore.gd b/objects/enemy/boss/boss1_gore.gd new file mode 100644 index 0000000..e2c3e58 --- /dev/null +++ b/objects/enemy/boss/boss1_gore.gd @@ -0,0 +1,13 @@ +extends RigidBody2D + +#MINUMUM AND MAXIMUM IMPULSE +var impulse_min = 100 +var impulse_max = 300 + +var rot = 0 + +func _ready(): +#SHOOT OFF AT A RANDOM DIRECTION + var impulse_strength = rand_range(impulse_min, impulse_max) + var angle = rand_range(-360,360) + apply_central_impulse(Vector2(cos(angle), sin(angle)) * impulse_strength) diff --git a/objects/enemy/boss/boss1_gore.tscn b/objects/enemy/boss/boss1_gore.tscn new file mode 100644 index 0000000..f06fade --- /dev/null +++ b/objects/enemy/boss/boss1_gore.tscn @@ -0,0 +1,349 @@ +[gd_scene load_steps=35 format=2] + +[ext_resource path="res://graphics/enemy/boss/scrump_gore/eyestalk.png" type="Texture" id=1] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/eye.png" type="Texture" id=2] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/headupper.png" type="Texture" id=3] +[ext_resource path="res://objects/enemy/boss/boss1_gore.gd" type="Script" id=4] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/headlower.png" type="Texture" id=5] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle5.png" type="Texture" id=6] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle3.png" type="Texture" id=7] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle4.png" type="Texture" id=8] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle1.png" type="Texture" id=9] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle6.png" type="Texture" id=10] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle2.png" type="Texture" id=11] +[ext_resource path="res://objects/enemy/constant_bleed.tscn" type="PackedScene" id=12] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/brain4.png" type="Texture" id=13] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/brain3.png" type="Texture" id=14] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/brain1.png" type="Texture" id=15] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/brain2.png" type="Texture" id=16] + +[sub_resource type="PhysicsMaterial" id=21] +bounce = 0.3 + +[sub_resource type="CapsuleShape2D" id=17] +radius = 7.26425 +height = 4.59118 + +[sub_resource type="CapsuleShape2D" id=18] +radius = 4.7065 +height = 9.55582 + +[sub_resource type="CapsuleShape2D" id=19] +radius = 7.26425 +height = 6.06268 + +[sub_resource type="CapsuleShape2D" id=20] +radius = 2.66902 +height = 10.9959 + +[sub_resource type="PhysicsMaterial" id=4] +bounce = 1.0 + +[sub_resource type="CircleShape2D" id=3] +radius = 6.0 + +[sub_resource type="CapsuleShape2D" id=13] +radius = 1.27316 +height = 11.6157 + +[sub_resource type="CapsuleShape2D" id=14] +radius = 1.27316 +height = 9.45369 + +[sub_resource type="CapsuleShape2D" id=15] +radius = 1.27316 +height = 9.45369 + +[sub_resource type="CapsuleShape2D" id=5] +radius = 12.0465 +height = 15.9447 + +[sub_resource type="CapsuleShape2D" id=6] +radius = 7.00002 + +[sub_resource type="CapsuleShape2D" id=7] +radius = 2.0 +height = 10.5018 + +[sub_resource type="CapsuleShape2D" id=8] +radius = 2.0 +height = 12.0 + +[sub_resource type="CapsuleShape2D" id=9] +radius = 3.0 +height = 14.0 + +[sub_resource type="CapsuleShape2D" id=10] +radius = 3.0 +height = 12.0 + +[sub_resource type="CapsuleShape2D" id=11] +radius = 2.0 +height = 12.0 + +[sub_resource type="CapsuleShape2D" id=12] +radius = 3.0 +height = 14.0 + +[node name="Gore" type="Node2D"] + +[node name="Brain1" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) + +[node name="Sprite" type="Sprite" parent="Brain1"] +position = Vector2( 27, 27 ) +texture = ExtResource( 15 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Brain1"] +position = Vector2( 23, 18 ) +rotation = 0.504296 +shape = SubResource( 17 ) + +[node name="DeathSplatter" parent="Brain1" instance=ExtResource( 12 )] +position = Vector2( 29, 9 ) + +[node name="DeathSplatter2" parent="Brain1" instance=ExtResource( 12 )] +position = Vector2( 15, 24 ) + +[node name="Brain2" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) + +[node name="DeathSplatter" parent="Brain2" instance=ExtResource( 12 )] +position = Vector2( 48, 11 ) + +[node name="DeathSplatter2" parent="Brain2" instance=ExtResource( 12 )] +position = Vector2( 37, 29 ) + +[node name="Sprite2" type="Sprite" parent="Brain2"] +position = Vector2( 27, 27 ) +texture = ExtResource( 16 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Brain2"] +position = Vector2( 47, 23 ) +rotation = 0.34434 +shape = SubResource( 18 ) + +[node name="Brain3" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) + +[node name="DeathSplatter" parent="Brain3" instance=ExtResource( 12 )] +position = Vector2( 44, 7 ) + +[node name="DeathSplatter2" parent="Brain3" instance=ExtResource( 12 )] +position = Vector2( 32, 25 ) + +[node name="Sprite3" type="Sprite" parent="Brain3"] +position = Vector2( 27, 27 ) +texture = ExtResource( 14 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Brain3"] +position = Vector2( 38, 17 ) +rotation = 0.504296 +shape = SubResource( 19 ) + +[node name="Brain4" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) + +[node name="DeathSplatter" parent="Brain4" instance=ExtResource( 12 )] +position = Vector2( 49, 23 ) + +[node name="Sprite3" type="Sprite" parent="Brain4"] +position = Vector2( 27, 27 ) +texture = ExtResource( 13 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Brain4"] +position = Vector2( 46, 32 ) +rotation = 0.294044 +shape = SubResource( 20 ) + +[node name="Eye" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 4 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Eye" instance=ExtResource( 12 )] +position = Vector2( 6, 9 ) + +[node name="Sprite" type="Sprite" parent="Eye"] +position = Vector2( 26, 27 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Eye"] +position = Vector2( 5, 15 ) +shape = SubResource( 3 ) + +[node name="Eyestalk" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Eyestalk" instance=ExtResource( 12 )] +position = Vector2( 6, 8 ) + +[node name="DeathSplatter2" parent="Eyestalk" instance=ExtResource( 12 )] +position = Vector2( 25, 5 ) + +[node name="Sprite" type="Sprite" parent="Eyestalk"] +position = Vector2( 26, 27 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Eyestalk"] +position = Vector2( 9, 3 ) +rotation = 0.669829 +shape = SubResource( 13 ) + +[node name="CollisionShape2D2" type="CollisionShape2D" parent="Eyestalk"] +position = Vector2( 18, -3 ) +rotation = 1.57079 +shape = SubResource( 14 ) + +[node name="CollisionShape2D3" type="CollisionShape2D" parent="Eyestalk"] +position = Vector2( 25, 1 ) +rotation = 2.57212 +shape = SubResource( 15 ) + +[node name="UpperHead" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="UpperHead" instance=ExtResource( 12 )] +position = Vector2( 41, 10 ) + +[node name="DeathSplatter2" parent="UpperHead" instance=ExtResource( 12 )] +position = Vector2( 49, 20 ) + +[node name="DeathSplatter3" parent="UpperHead" instance=ExtResource( 12 )] +position = Vector2( 42, 26 ) + +[node name="DeathSplatter4" parent="UpperHead" instance=ExtResource( 12 )] +position = Vector2( 33, 28 ) + +[node name="Sprite" type="Sprite" parent="UpperHead"] +position = Vector2( 26, 27 ) +texture = ExtResource( 3 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="UpperHead"] +position = Vector2( 33, 19 ) +rotation = 1.59593 +shape = SubResource( 5 ) + +[node name="LowerHead" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 32, 28 ) + +[node name="DeathSplatter2" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 43, 27 ) + +[node name="DeathSplatter3" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 18, 37 ) + +[node name="DeathSplatter4" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 26, 38 ) + +[node name="DeathSplatter5" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 35, 37 ) + +[node name="DeathSplatter6" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 44, 37 ) + +[node name="Sprite" type="Sprite" parent="LowerHead"] +position = Vector2( 26, 27 ) +texture = ExtResource( 5 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="LowerHead"] +position = Vector2( 35, 33 ) +rotation = 1.57079 +shape = SubResource( 6 ) + +[node name="Tentacle1" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle1" instance=ExtResource( 12 )] +position = Vector2( 19, 37 ) + +[node name="Sprite" type="Sprite" parent="Tentacle1"] +position = Vector2( 26, 27 ) +texture = ExtResource( 9 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Tentacle1"] +position = Vector2( 19, 45 ) +rotation = 0.188719 +shape = SubResource( 7 ) + +[node name="Tentacle2" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle2" instance=ExtResource( 12 )] +position = Vector2( 23, 38 ) + +[node name="Sprite" type="Sprite" parent="Tentacle2"] +position = Vector2( 26, 27 ) +texture = ExtResource( 11 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Tentacle2"] +position = Vector2( 24, 47 ) +rotation = 0.16322 +shape = SubResource( 8 ) + +[node name="Tentacle3" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle3" instance=ExtResource( 12 )] +position = Vector2( 27, 38 ) + +[node name="Sprite" type="Sprite" parent="Tentacle3"] +position = Vector2( 26, 27 ) +texture = ExtResource( 7 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Tentacle3"] +position = Vector2( 27, 48 ) +shape = SubResource( 9 ) + +[node name="Tentacle4" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle4" instance=ExtResource( 12 )] +position = Vector2( 33, 38 ) + +[node name="Sprite" type="Sprite" parent="Tentacle4"] +position = Vector2( 26, 27 ) +texture = ExtResource( 8 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Tentacle4"] +position = Vector2( 33, 48 ) +shape = SubResource( 10 ) + +[node name="Tentacle5" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle5" instance=ExtResource( 12 )] +position = Vector2( 38, 38 ) + +[node name="Sprite" type="Sprite" parent="Tentacle5"] +position = Vector2( 26, 27 ) +texture = ExtResource( 6 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Tentacle5"] +position = Vector2( 39, 47 ) +shape = SubResource( 11 ) + +[node name="Tentacle6" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 21 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle6" instance=ExtResource( 12 )] +position = Vector2( 43, 38 ) + +[node name="Sprite" type="Sprite" parent="Tentacle6"] +position = Vector2( 26, 27 ) +texture = ExtResource( 10 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Tentacle6"] +position = Vector2( 44, 48 ) +shape = SubResource( 12 ) diff --git a/objects/enemy/boss/boss1_gore2.tscn b/objects/enemy/boss/boss1_gore2.tscn new file mode 100644 index 0000000..76f9ad4 --- /dev/null +++ b/objects/enemy/boss/boss1_gore2.tscn @@ -0,0 +1,190 @@ +[gd_scene load_steps=15 format=2] + +[ext_resource path="res://graphics/enemy/boss/scrump_gore/eyestalk.png" type="Texture" id=1] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/eye.png" type="Texture" id=2] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/headupper.png" type="Texture" id=3] +[ext_resource path="res://objects/enemy/boss/boss1_gore.gd" type="Script" id=4] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/headlower.png" type="Texture" id=5] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle5.png" type="Texture" id=6] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle3.png" type="Texture" id=7] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle4.png" type="Texture" id=8] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle1.png" type="Texture" id=9] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle6.png" type="Texture" id=10] +[ext_resource path="res://graphics/enemy/boss/scrump_gore/tentacle2.png" type="Texture" id=11] +[ext_resource path="res://objects/enemy/constant_bleed.tscn" type="PackedScene" id=12] + +[sub_resource type="PhysicsMaterial" id=4] +bounce = 1.0 + +[sub_resource type="CircleShape2D" id=3] +radius = 6.0 + +[node name="Gore" type="Node2D"] + +[node name="Eye" type="RigidBody2D" parent="."] +physics_material_override = SubResource( 4 ) +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Eye" instance=ExtResource( 12 )] +position = Vector2( 6, 9 ) + +[node name="Sprite" type="Sprite" parent="Eye"] +position = Vector2( 26, 27 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Eye"] +position = Vector2( 5, 15 ) +shape = SubResource( 3 ) + +[node name="Eyestalk" type="RigidBody2D" parent="."] +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Eyestalk" instance=ExtResource( 12 )] +position = Vector2( 6, 8 ) + +[node name="DeathSplatter2" parent="Eyestalk" instance=ExtResource( 12 )] +position = Vector2( 25, 5 ) + +[node name="Sprite" type="Sprite" parent="Eyestalk"] +position = Vector2( 26, 27 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionPolygon2D" parent="Eyestalk"] +position = Vector2( 5, 15 ) +polygon = PoolVector2Array( 23, -9, 23, -13, 17, -19, 9, -19, 8, -19, 7, -18, 3, -13, 0, -7, 4, -7, 4, -11, 4, -11, 8, -16, 17, -16, 18, -15, 18, -9, 19, -8, 22, -8 ) + +[node name="UpperHead" type="RigidBody2D" parent="."] +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="UpperHead" instance=ExtResource( 12 )] +position = Vector2( 41, 10 ) + +[node name="DeathSplatter2" parent="UpperHead" instance=ExtResource( 12 )] +position = Vector2( 49, 20 ) + +[node name="DeathSplatter3" parent="UpperHead" instance=ExtResource( 12 )] +position = Vector2( 42, 26 ) + +[node name="DeathSplatter4" parent="UpperHead" instance=ExtResource( 12 )] +position = Vector2( 33, 28 ) + +[node name="Sprite" type="Sprite" parent="UpperHead"] +position = Vector2( 26, 27 ) +texture = ExtResource( 3 ) + +[node name="CollisionShape2D" type="CollisionPolygon2D" parent="UpperHead"] +position = Vector2( 5, 15 ) +polygon = PoolVector2Array( 19, -9, 18, -8, 9, 0, 9, 5, 9, 10, 10, 11, 43, 12, 44, 9, 43, 8, 40, 8, 36, 8, 40, 3, 37, 0, 35, -1, 37, -4, 33, -6, 24, -9, 22, -9 ) + +[node name="LowerHead" type="RigidBody2D" parent="."] +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 32, 28 ) + +[node name="DeathSplatter2" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 43, 27 ) + +[node name="DeathSplatter3" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 18, 37 ) + +[node name="DeathSplatter4" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 26, 38 ) + +[node name="DeathSplatter5" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 35, 37 ) + +[node name="DeathSplatter6" parent="LowerHead" instance=ExtResource( 12 )] +position = Vector2( 44, 37 ) + +[node name="Sprite" type="Sprite" parent="LowerHead"] +position = Vector2( 26, 27 ) +texture = ExtResource( 5 ) + +[node name="CollisionShape2D" type="CollisionPolygon2D" parent="LowerHead"] +position = Vector2( 5, 15 ) +polygon = PoolVector2Array( 28, 14, 20, 17, 15, 17, 10, 17, 10, 19, 16, 23, 43, 23, 46, 20, 46, 19, 47, 18, 47, 11, 44, 10, 36, 12, 34, 12 ) + +[node name="Tentacle1" type="RigidBody2D" parent="."] +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle1" instance=ExtResource( 12 )] +position = Vector2( 19, 37 ) + +[node name="Sprite" type="Sprite" parent="Tentacle1"] +position = Vector2( 26, 27 ) +texture = ExtResource( 9 ) + +[node name="CollisionShape2D" type="CollisionPolygon2D" parent="Tentacle1"] +position = Vector2( 5, 15 ) +polygon = PoolVector2Array( 14, 23, 13, 31, 11, 34, 11, 36, 12, 36, 12, 34, 15, 31, 17, 26, 16, 23 ) + +[node name="Tentacle2" type="RigidBody2D" parent="."] +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle2" instance=ExtResource( 12 )] +position = Vector2( 23, 38 ) + +[node name="Sprite" type="Sprite" parent="Tentacle2"] +position = Vector2( 26, 27 ) +texture = ExtResource( 11 ) + +[node name="CollisionShape2D" type="CollisionPolygon2D" parent="Tentacle2"] +position = Vector2( 5, 15 ) +polygon = PoolVector2Array( 18, 26, 19, 27, 19, 33, 18, 37, 17, 38, 18, 38, 19, 37, 20, 33, 20, 24 ) + +[node name="Tentacle3" type="RigidBody2D" parent="."] +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle3" instance=ExtResource( 12 )] +position = Vector2( 27, 38 ) + +[node name="Sprite" type="Sprite" parent="Tentacle3"] +position = Vector2( 26, 27 ) +texture = ExtResource( 7 ) + +[node name="CollisionShape2D" type="CollisionPolygon2D" parent="Tentacle3"] +position = Vector2( 5, 15 ) +polygon = PoolVector2Array( 21, 42, 22, 42, 23, 33, 25, 30, 24, 24, 22, 24, 21, 25 ) + +[node name="Tentacle4" type="RigidBody2D" parent="."] +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle4" instance=ExtResource( 12 )] +position = Vector2( 33, 38 ) + +[node name="Sprite" type="Sprite" parent="Tentacle4"] +position = Vector2( 26, 27 ) +texture = ExtResource( 8 ) + +[node name="CollisionShape2D" type="CollisionPolygon2D" parent="Tentacle4"] +position = Vector2( 5, 15 ) +polygon = PoolVector2Array( 25, 24, 28, 40, 26, 43, 27, 43, 30, 39, 30, 33, 30, 24 ) + +[node name="Tentacle5" type="RigidBody2D" parent="."] +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle5" instance=ExtResource( 12 )] +position = Vector2( 38, 38 ) + +[node name="Sprite" type="Sprite" parent="Tentacle5"] +position = Vector2( 26, 27 ) +texture = ExtResource( 6 ) + +[node name="CollisionShape2D" type="CollisionPolygon2D" parent="Tentacle5"] +position = Vector2( 5, 15 ) +polygon = PoolVector2Array( 31, 25, 34, 32, 34, 38, 35, 38, 36, 25, 34, 23 ) + +[node name="Tentacle6" type="RigidBody2D" parent="."] +script = ExtResource( 4 ) + +[node name="DeathSplatter" parent="Tentacle6" instance=ExtResource( 12 )] +position = Vector2( 43, 38 ) + +[node name="Sprite" type="Sprite" parent="Tentacle6"] +position = Vector2( 26, 27 ) +texture = ExtResource( 10 ) + +[node name="CollisionShape2D" type="CollisionPolygon2D" parent="Tentacle6"] +position = Vector2( 5, 15 ) +polygon = PoolVector2Array( 37, 26, 39, 32, 39, 34, 36, 38, 36, 41, 37, 39, 41, 34, 41, 25, 39, 24 ) diff --git a/objects/enemy/constant_bleed.tscn b/objects/enemy/constant_bleed.tscn new file mode 100644 index 0000000..6f8435d --- /dev/null +++ b/objects/enemy/constant_bleed.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://graphics/particles/blood.png" type="Texture" id=1] + +[sub_resource type="Curve" id=43] +_data = [ Vector2( 0, 1 ), 0.0, -0.113537, 0, 0, Vector2( 1, 0 ), -3.35032, 0.0, 0, 0 ] + +[node name="DeathSplatter" type="CPUParticles2D"] +lifetime = 0.2 +local_coords = false +texture = ExtResource( 1 ) +emission_shape = 2 +emission_rect_extents = Vector2( 4, 4 ) +direction = Vector2( 0, -1 ) +spread = 180.0 +gravity = Vector2( 0, 50 ) +initial_velocity = 60.0 +initial_velocity_random = 0.9 +damping = 2.0 +angle = 720.0 +angle_random = 1.0 +scale_amount = 0.5 +scale_amount_random = 1.0 +scale_amount_curve = SubResource( 43 )