Added starter bullet hell rotation for horse boss.
This commit is contained in:
parent
e608652170
commit
bee8cf77f1
11 changed files with 106 additions and 39 deletions
49
export_presets.cfg
Normal file
49
export_presets.cfg
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
[preset.0]
|
||||||
|
|
||||||
|
name="Web"
|
||||||
|
platform="Web"
|
||||||
|
runnable=false
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path="../../Downloads/2026-03-04 115917 -The Third Place/index.html"
|
||||||
|
patches=PackedStringArray()
|
||||||
|
patch_delta_encoding=false
|
||||||
|
patch_delta_compression_level_zstd=19
|
||||||
|
patch_delta_min_reduction=0.1
|
||||||
|
patch_delta_include_filters="*"
|
||||||
|
patch_delta_exclude_filters=""
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
seed=0
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
|
[preset.0.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
variant/extensions_support=false
|
||||||
|
variant/thread_support=false
|
||||||
|
vram_texture_compression/for_desktop=true
|
||||||
|
vram_texture_compression/for_mobile=false
|
||||||
|
html/export_icon=true
|
||||||
|
html/custom_html_shell=""
|
||||||
|
html/head_include=""
|
||||||
|
html/canvas_resize_policy=2
|
||||||
|
html/focus_canvas_on_start=true
|
||||||
|
html/experimental_virtual_keyboard=false
|
||||||
|
progressive_web_app/enabled=false
|
||||||
|
progressive_web_app/ensure_cross_origin_isolation_headers=true
|
||||||
|
progressive_web_app/offline_page=""
|
||||||
|
progressive_web_app/display=3
|
||||||
|
progressive_web_app/orientation=2
|
||||||
|
progressive_web_app/icon_144x144=""
|
||||||
|
progressive_web_app/icon_180x180=""
|
||||||
|
progressive_web_app/icon_512x512=""
|
||||||
|
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||||
|
threads/emscripten_pool_size=8
|
||||||
|
threads/godot_pool_size=4
|
||||||
|
|
@ -8,10 +8,6 @@
|
||||||
|
|
||||||
config_version=5
|
config_version=5
|
||||||
|
|
||||||
[animation]
|
|
||||||
|
|
||||||
compatibility/default_parent_skeleton_in_mesh_instance_3d=true
|
|
||||||
|
|
||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="the third place"
|
config/name="the third place"
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ func _ready():
|
||||||
|
|
||||||
|
|
||||||
func boss_intro():
|
func boss_intro():
|
||||||
|
print("Boss intro!")
|
||||||
await get_tree().create_timer(2).timeout
|
await get_tree().create_timer(2).timeout
|
||||||
boss.play("align")
|
boss.play("align")
|
||||||
await get_tree().create_timer(2).timeout
|
await get_tree().create_timer(2).timeout
|
||||||
|
|
@ -34,28 +35,32 @@ func boss_intro():
|
||||||
boss_horse()
|
boss_horse()
|
||||||
|
|
||||||
func boss_horse():
|
func boss_horse():
|
||||||
|
$Horse.horse_phase = true
|
||||||
|
print("Boss horse!")
|
||||||
await get_tree().create_timer(2).timeout
|
await get_tree().create_timer(2).timeout
|
||||||
EventBus.flash_screen.emit(.25)
|
EventBus.flash_screen.emit(.25)
|
||||||
$Sprite2D.frame = 7
|
$Sprite2D.frame = 7
|
||||||
$Horse.show()
|
$Horse.show()
|
||||||
|
$Horse.start()
|
||||||
var horse_player = $Horse/AnimationPlayer
|
var horse_player = $Horse/AnimationPlayer
|
||||||
horse_player.play("run")
|
horse_player.play("run")
|
||||||
await get_tree().create_timer(10).timeout
|
await get_tree().create_timer(10).timeout
|
||||||
EventBus.flash_screen.emit(.25)
|
EventBus.flash_screen.emit(.25)
|
||||||
$Horse.hide()
|
$Horse.hide()
|
||||||
|
$Horse.end()
|
||||||
horse_counter += 1
|
horse_counter += 1
|
||||||
await get_tree().create_timer(5).timeout
|
await get_tree().create_timer(5).timeout
|
||||||
lady_of_whispers()
|
lady_of_whispers()
|
||||||
|
|
||||||
|
|
||||||
func lady_of_whispers():
|
func lady_of_whispers():
|
||||||
|
print("Lady of Whispers!")
|
||||||
boss.play("rise")
|
boss.play("rise")
|
||||||
await get_tree().create_timer(4).timeout
|
await get_tree().create_timer(4).timeout
|
||||||
boss.play("whisper")
|
boss.play("whisper")
|
||||||
await get_tree().create_timer(1).timeout
|
await get_tree().create_timer(1).timeout
|
||||||
boss_horse()
|
boss_horse()
|
||||||
|
|
||||||
|
|
||||||
func hit_detection():
|
func hit_detection():
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -203,9 +203,13 @@ texture = ExtResource("5_wqpjq")
|
||||||
[node name="Rotater" type="Node2D" parent="Horse" unique_id=697300019]
|
[node name="Rotater" type="Node2D" parent="Horse" unique_id=697300019]
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="Horse/Rotater" unique_id=1703348402]
|
[node name="Sprite2D" type="Sprite2D" parent="Horse/Rotater" unique_id=1703348402]
|
||||||
|
visible = false
|
||||||
self_modulate = Color(1, 0, 0, 1)
|
self_modulate = Color(1, 0, 0, 1)
|
||||||
scale = Vector2(0.453125, 0.453125)
|
scale = Vector2(0.453125, 0.453125)
|
||||||
texture = ExtResource("5_wqpjq")
|
texture = ExtResource("5_wqpjq")
|
||||||
|
|
||||||
[node name="ShootTimer" type="Timer" parent="Horse" unique_id=914903842]
|
[node name="ShootTimer" type="Timer" parent="Horse" unique_id=914903842]
|
||||||
wait_time = 0.05
|
wait_time = 0.05
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[connection signal="timeout" from="Horse/ShootTimer" to="Horse" method="_on_shoot_timer_timeout"]
|
||||||
|
|
|
||||||
|
|
@ -10,18 +10,21 @@ var tween_speed: float = 1.4
|
||||||
var exploding = false
|
var exploding = false
|
||||||
|
|
||||||
var rotate_speed: int = 100
|
var rotate_speed: int = 100
|
||||||
var shooter_timer_wait_time: float = 0.2
|
var shoot_timer_wait_time: float = 0.2
|
||||||
var spawn_point_count: int = 4
|
var spawn_point_count: int = 4
|
||||||
var spawn_radius = 100
|
var spawn_radius = 100
|
||||||
|
|
||||||
|
var horse_phase: bool = false
|
||||||
|
|
||||||
|
|
||||||
@onready var boss = $AnimationPlayer
|
@onready var boss = $AnimationPlayer
|
||||||
@onready var shoot_timer = $ShootTimer
|
@onready var shoot_timer = $ShootTimer
|
||||||
@onready var rotater = $Rotater
|
@onready var rotater = $Rotater
|
||||||
@onready var screensize = get_viewport_rect().size
|
@onready var screensize = get_viewport_rect().size
|
||||||
|
|
||||||
func _ready():
|
#func _ready():
|
||||||
spawn_bullet()
|
|
||||||
|
|
||||||
|
|
||||||
#var step = 2 * PI / spawn_point_count
|
#var step = 2 * PI / spawn_point_count
|
||||||
|
|
||||||
|
|
@ -37,22 +40,34 @@ func _ready():
|
||||||
|
|
||||||
#func _process(delta: float) -> void:
|
#func _process(delta: float) -> void:
|
||||||
#var new_rotation = rotater.ro tation_degrees + rotate_speed * delta
|
#var new_rotation = rotater.ro tation_degrees + rotate_speed * delta
|
||||||
#rotater.rotation_degrees - fmod(new_rotation, 360
|
#rotater.rotation_degrees - fmod(new_rotation, 360)
|
||||||
|
|
||||||
|
func start():
|
||||||
|
shoot_timer.start()
|
||||||
|
print("Shoot timer started!")
|
||||||
|
|
||||||
|
func end():
|
||||||
|
shoot_timer.stop()
|
||||||
|
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
rotater.rotation_degrees += 2 # Adjust rotation speed
|
rotater.rotation_degrees += 2 # Adjust rotation speed
|
||||||
|
|
||||||
func spawn_bullet():
|
func spawn_bullet():
|
||||||
|
print("I'm spawning bullets!")
|
||||||
var bullet = bullet_scene.instantiate()
|
var bullet = bullet_scene.instantiate()
|
||||||
|
get_tree().root.add_child(bullet)
|
||||||
bullet.position = rotater.global_position
|
bullet.position = rotater.global_position
|
||||||
get_parent().add_child(bullet)
|
bullet.rotation = rotater.global_rotation
|
||||||
|
shoot_timer.wait_time = shoot_timer_wait_time
|
||||||
|
shoot_timer.start()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_ShootTimer_timeout() -> void:
|
func _on_shoot_timer_timeout() -> void:
|
||||||
|
print("Shoot timer timeout!")
|
||||||
spawn_bullet()
|
spawn_bullet()
|
||||||
#for s in rotater.get_children():
|
#for s in rotater.get_children():
|
||||||
#var b = bullet_scene.instantiate()
|
#var b = bullet_scene.instantiate()
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=4 format=3 uid="uid://3xbr5bnuk04u"]
|
[gd_scene format=3 uid="uid://3xbr5bnuk04u"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dubjbfdp6ep34" path="res://_graphics/Mini Pixel Pack 3/Projectiles/Enemy_projectile (16 x 16).png" id="1_1xapl"]
|
[ext_resource type="Texture2D" uid="uid://dubjbfdp6ep34" path="res://_graphics/Mini Pixel Pack 3/Projectiles/Enemy_projectile (16 x 16).png" id="1_1xapl"]
|
||||||
[ext_resource type="Script" uid="uid://dusi2flaqer4b" path="res://scenes/enemy_bullet.gd" id="1_gl7bs"]
|
[ext_resource type="Script" uid="uid://dusi2flaqer4b" path="res://scenes/enemy_bullet.gd" id="1_gl7bs"]
|
||||||
|
|
@ -6,17 +6,17 @@
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gl7bs"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gl7bs"]
|
||||||
size = Vector2(6, 6)
|
size = Vector2(6, 6)
|
||||||
|
|
||||||
[node name="EnemyBullet" type="Area2D" groups=["enemy_bullets"]]
|
[node name="EnemyBullet" type="Area2D" unique_id=1665087618 groups=["enemy_bullets"]]
|
||||||
script = ExtResource("1_gl7bs")
|
script = ExtResource("1_gl7bs")
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1140314631]
|
||||||
texture = ExtResource("1_1xapl")
|
texture = ExtResource("1_1xapl")
|
||||||
hframes = 4
|
hframes = 4
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1998302798]
|
||||||
shape = SubResource("RectangleShape2D_gl7bs")
|
shape = SubResource("RectangleShape2D_gl7bs")
|
||||||
|
|
||||||
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
|
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="." unique_id=851849576]
|
||||||
|
|
||||||
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
|
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
|
||||||
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="_on_visible_on_screen_notifier_2d_screen_exited"]
|
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="_on_visible_on_screen_notifier_2d_screen_exited"]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=5 format=3 uid="uid://4jvu41vu2557"]
|
[gd_scene format=3 uid="uid://4jvu41vu2557"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://h04wm5a27u0" path="res://_graphics/Mini Pixel Pack 3/Effects/Explosion (16 x 16).png" id="1_q7epf"]
|
[ext_resource type="Texture2D" uid="uid://h04wm5a27u0" path="res://_graphics/Mini Pixel Pack 3/Effects/Explosion (16 x 16).png" id="1_q7epf"]
|
||||||
|
|
||||||
|
|
@ -40,12 +40,10 @@ _data = {
|
||||||
&"explosion-one-shot": SubResource("Animation_vxas0")
|
&"explosion-one-shot": SubResource("Animation_vxas0")
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="Explosion" type="Sprite2D"]
|
[node name="Explosion" type="Sprite2D" unique_id=1908879687]
|
||||||
texture = ExtResource("1_q7epf")
|
texture = ExtResource("1_q7epf")
|
||||||
hframes = 6
|
hframes = 6
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=202074825]
|
||||||
libraries = {
|
libraries/ = SubResource("AnimationLibrary_m5xho")
|
||||||
&"": SubResource("AnimationLibrary_m5xho")
|
autoplay = &"RESET"
|
||||||
}
|
|
||||||
autoplay = "RESET"
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
[gd_scene load_steps=4 format=3 uid="uid://c8s7htpdg4v4i"]
|
[gd_scene format=3 uid="uid://c8s7htpdg4v4i"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://d11molrkdjjh5" path="res://_graphics/bar_background.png" id="1_q0tf5"]
|
[ext_resource type="Texture2D" uid="uid://d11molrkdjjh5" path="res://_graphics/bar_background.png" id="1_q0tf5"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bsl3pxvxiuoqg" path="res://_graphics/bar_foreground.png" id="2_5xu4y"]
|
[ext_resource type="Texture2D" uid="uid://bsl3pxvxiuoqg" path="res://_graphics/bar_foreground.png" id="2_5xu4y"]
|
||||||
[ext_resource type="Script" uid="uid://b85ktxeoj4b2n" path="res://scenes/progress_bar.gd" id="3_5xu4y"]
|
[ext_resource type="Script" uid="uid://b85ktxeoj4b2n" path="res://scenes/progress_bar.gd" id="3_5xu4y"]
|
||||||
|
|
||||||
[node name="ProgressBar" type="TextureProgressBar"]
|
[node name="ProgressBar" type="TextureProgressBar" unique_id=567200201]
|
||||||
anchors_preset = 10
|
anchors_preset = 10
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
offset_bottom = 20.0
|
offset_bottom = 20.0
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=11 format=3 uid="uid://5qkcf1cpre32"]
|
[gd_scene format=3 uid="uid://5qkcf1cpre32"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://val4c82n4krk" path="res://scenes/score_counter.gd" id="1_t7i3n"]
|
[ext_resource type="Script" uid="uid://val4c82n4krk" path="res://scenes/score_counter.gd" id="1_t7i3n"]
|
||||||
[ext_resource type="Texture2D" uid="uid://ddh7mk2ekhq3u" path="res://_graphics/Mini Pixel Pack 3/UI objects/Number_font (8 x 8).png" id="1_terno"]
|
[ext_resource type="Texture2D" uid="uid://ddh7mk2ekhq3u" path="res://_graphics/Mini Pixel Pack 3/UI objects/Number_font (8 x 8).png" id="1_terno"]
|
||||||
|
|
@ -35,49 +35,49 @@ region = Rect2(32, 8, 8, 8)
|
||||||
atlas = ExtResource("1_terno")
|
atlas = ExtResource("1_terno")
|
||||||
region = Rect2(32, 8, 8, 8)
|
region = Rect2(32, 8, 8, 8)
|
||||||
|
|
||||||
[node name="ScoreCounter" type="HBoxContainer"]
|
[node name="ScoreCounter" type="HBoxContainer" unique_id=1970265241]
|
||||||
anchors_preset = 10
|
anchors_preset = 10
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
size_flags_horizontal = 8
|
size_flags_horizontal = 8
|
||||||
script = ExtResource("1_t7i3n")
|
script = ExtResource("1_t7i3n")
|
||||||
|
|
||||||
[node name="Digit0" type="TextureRect" parent="."]
|
[node name="Digit0" type="TextureRect" parent="." unique_id=264941948]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
texture = SubResource("AtlasTexture_t7i3n")
|
texture = SubResource("AtlasTexture_t7i3n")
|
||||||
stretch_mode = 5
|
stretch_mode = 5
|
||||||
|
|
||||||
[node name="Digit1" type="TextureRect" parent="."]
|
[node name="Digit1" type="TextureRect" parent="." unique_id=2027643592]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
texture = SubResource("AtlasTexture_knege")
|
texture = SubResource("AtlasTexture_knege")
|
||||||
stretch_mode = 5
|
stretch_mode = 5
|
||||||
|
|
||||||
[node name="Digit2" type="TextureRect" parent="."]
|
[node name="Digit2" type="TextureRect" parent="." unique_id=1034152182]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
texture = SubResource("AtlasTexture_qa8aw")
|
texture = SubResource("AtlasTexture_qa8aw")
|
||||||
stretch_mode = 5
|
stretch_mode = 5
|
||||||
|
|
||||||
[node name="Digit3" type="TextureRect" parent="."]
|
[node name="Digit3" type="TextureRect" parent="." unique_id=1387400575]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
texture = SubResource("AtlasTexture_pd82r")
|
texture = SubResource("AtlasTexture_pd82r")
|
||||||
stretch_mode = 5
|
stretch_mode = 5
|
||||||
|
|
||||||
[node name="Digit4" type="TextureRect" parent="."]
|
[node name="Digit4" type="TextureRect" parent="." unique_id=1715326887]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
texture = SubResource("AtlasTexture_j44f5")
|
texture = SubResource("AtlasTexture_j44f5")
|
||||||
stretch_mode = 5
|
stretch_mode = 5
|
||||||
|
|
||||||
[node name="Digit5" type="TextureRect" parent="."]
|
[node name="Digit5" type="TextureRect" parent="." unique_id=755234748]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
texture = SubResource("AtlasTexture_emiqc")
|
texture = SubResource("AtlasTexture_emiqc")
|
||||||
stretch_mode = 5
|
stretch_mode = 5
|
||||||
|
|
||||||
[node name="Digit6" type="TextureRect" parent="."]
|
[node name="Digit6" type="TextureRect" parent="." unique_id=1259223957]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
texture = SubResource("AtlasTexture_inuy1")
|
texture = SubResource("AtlasTexture_inuy1")
|
||||||
stretch_mode = 5
|
stretch_mode = 5
|
||||||
|
|
||||||
[node name="Digit7" type="TextureRect" parent="."]
|
[node name="Digit7" type="TextureRect" parent="." unique_id=1114985963]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
texture = SubResource("AtlasTexture_ke503")
|
texture = SubResource("AtlasTexture_ke503")
|
||||||
stretch_mode = 5
|
stretch_mode = 5
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ func spawn_enemies():
|
||||||
enemy_count = rows_mod * cols_mod
|
enemy_count = rows_mod * cols_mod
|
||||||
await get_tree().process_frame
|
await get_tree().process_frame
|
||||||
|
|
||||||
if wave_count == 0 : #This if for Mirror
|
if wave_count == 3 : #This if for Mirror
|
||||||
print("Enemy Wave: ", wave_count)
|
print("Enemy Wave: ", wave_count)
|
||||||
|
|
||||||
# Spawn Table
|
# Spawn Table
|
||||||
|
|
@ -89,7 +89,7 @@ func spawn_enemies():
|
||||||
s.start_all_animations()
|
s.start_all_animations()
|
||||||
|
|
||||||
|
|
||||||
if wave_count == 1 : #This is for Boss
|
if wave_count == 0 : #This is for Boss
|
||||||
|
|
||||||
# Hide the player
|
# Hide the player
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue