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
|
||||
|
||||
[animation]
|
||||
|
||||
compatibility/default_parent_skeleton_in_mesh_instance_3d=true
|
||||
|
||||
[application]
|
||||
|
||||
config/name="the third place"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ func _ready():
|
|||
|
||||
|
||||
func boss_intro():
|
||||
print("Boss intro!")
|
||||
await get_tree().create_timer(2).timeout
|
||||
boss.play("align")
|
||||
await get_tree().create_timer(2).timeout
|
||||
|
|
@ -34,28 +35,32 @@ func boss_intro():
|
|||
boss_horse()
|
||||
|
||||
func boss_horse():
|
||||
$Horse.horse_phase = true
|
||||
print("Boss horse!")
|
||||
await get_tree().create_timer(2).timeout
|
||||
EventBus.flash_screen.emit(.25)
|
||||
$Sprite2D.frame = 7
|
||||
$Horse.show()
|
||||
$Horse.start()
|
||||
var horse_player = $Horse/AnimationPlayer
|
||||
horse_player.play("run")
|
||||
await get_tree().create_timer(10).timeout
|
||||
EventBus.flash_screen.emit(.25)
|
||||
$Horse.hide()
|
||||
$Horse.end()
|
||||
horse_counter += 1
|
||||
await get_tree().create_timer(5).timeout
|
||||
lady_of_whispers()
|
||||
|
||||
|
||||
func lady_of_whispers():
|
||||
print("Lady of Whispers!")
|
||||
boss.play("rise")
|
||||
await get_tree().create_timer(4).timeout
|
||||
boss.play("whisper")
|
||||
await get_tree().create_timer(1).timeout
|
||||
boss_horse()
|
||||
|
||||
|
||||
func hit_detection():
|
||||
return
|
||||
|
||||
|
|
|
|||
|
|
@ -203,9 +203,13 @@ texture = ExtResource("5_wqpjq")
|
|||
[node name="Rotater" type="Node2D" parent="Horse" unique_id=697300019]
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Horse/Rotater" unique_id=1703348402]
|
||||
visible = false
|
||||
self_modulate = Color(1, 0, 0, 1)
|
||||
scale = Vector2(0.453125, 0.453125)
|
||||
texture = ExtResource("5_wqpjq")
|
||||
|
||||
[node name="ShootTimer" type="Timer" parent="Horse" unique_id=914903842]
|
||||
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 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_radius = 100
|
||||
|
||||
var horse_phase: bool = false
|
||||
|
||||
|
||||
@onready var boss = $AnimationPlayer
|
||||
@onready var shoot_timer = $ShootTimer
|
||||
@onready var rotater = $Rotater
|
||||
@onready var screensize = get_viewport_rect().size
|
||||
|
||||
func _ready():
|
||||
spawn_bullet()
|
||||
#func _ready():
|
||||
|
||||
|
||||
|
||||
#var step = 2 * PI / spawn_point_count
|
||||
|
||||
|
|
@ -36,23 +39,35 @@ func _ready():
|
|||
#shoot_timer.start()
|
||||
|
||||
#func _process(delta: float) -> void:
|
||||
#var new_rotation = rotater.rotation_degrees + rotate_speed * delta
|
||||
#rotater.rotation_degrees - fmod(new_rotation, 360
|
||||
#var new_rotation = rotater.ro tation_degrees + rotate_speed * delta
|
||||
#rotater.rotation_degrees - fmod(new_rotation, 360)
|
||||
|
||||
func start():
|
||||
shoot_timer.start()
|
||||
print("Shoot timer started!")
|
||||
|
||||
func end():
|
||||
shoot_timer.stop()
|
||||
|
||||
|
||||
func _process(delta):
|
||||
rotater.rotation_degrees += 2 # Adjust rotation speed
|
||||
|
||||
func spawn_bullet():
|
||||
print("I'm spawning bullets!")
|
||||
var bullet = bullet_scene.instantiate()
|
||||
get_tree().root.add_child(bullet)
|
||||
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()
|
||||
#for s in rotater.get_children():
|
||||
#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="Script" uid="uid://dusi2flaqer4b" path="res://scenes/enemy_bullet.gd" id="1_gl7bs"]
|
||||
|
|
@ -6,17 +6,17 @@
|
|||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gl7bs"]
|
||||
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")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1140314631]
|
||||
texture = ExtResource("1_1xapl")
|
||||
hframes = 4
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1998302798]
|
||||
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="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"]
|
||||
|
||||
|
|
@ -40,12 +40,10 @@ _data = {
|
|||
&"explosion-one-shot": SubResource("Animation_vxas0")
|
||||
}
|
||||
|
||||
[node name="Explosion" type="Sprite2D"]
|
||||
[node name="Explosion" type="Sprite2D" unique_id=1908879687]
|
||||
texture = ExtResource("1_q7epf")
|
||||
hframes = 6
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_m5xho")
|
||||
}
|
||||
autoplay = "RESET"
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=202074825]
|
||||
libraries/ = SubResource("AnimationLibrary_m5xho")
|
||||
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://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"]
|
||||
|
||||
[node name="ProgressBar" type="TextureProgressBar"]
|
||||
[node name="ProgressBar" type="TextureProgressBar" unique_id=567200201]
|
||||
anchors_preset = 10
|
||||
anchor_right = 1.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="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")
|
||||
region = Rect2(32, 8, 8, 8)
|
||||
|
||||
[node name="ScoreCounter" type="HBoxContainer"]
|
||||
[node name="ScoreCounter" type="HBoxContainer" unique_id=1970265241]
|
||||
anchors_preset = 10
|
||||
anchor_right = 1.0
|
||||
grow_horizontal = 2
|
||||
size_flags_horizontal = 8
|
||||
script = ExtResource("1_t7i3n")
|
||||
|
||||
[node name="Digit0" type="TextureRect" parent="."]
|
||||
[node name="Digit0" type="TextureRect" parent="." unique_id=264941948]
|
||||
layout_mode = 2
|
||||
texture = SubResource("AtlasTexture_t7i3n")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Digit1" type="TextureRect" parent="."]
|
||||
[node name="Digit1" type="TextureRect" parent="." unique_id=2027643592]
|
||||
layout_mode = 2
|
||||
texture = SubResource("AtlasTexture_knege")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Digit2" type="TextureRect" parent="."]
|
||||
[node name="Digit2" type="TextureRect" parent="." unique_id=1034152182]
|
||||
layout_mode = 2
|
||||
texture = SubResource("AtlasTexture_qa8aw")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Digit3" type="TextureRect" parent="."]
|
||||
[node name="Digit3" type="TextureRect" parent="." unique_id=1387400575]
|
||||
layout_mode = 2
|
||||
texture = SubResource("AtlasTexture_pd82r")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Digit4" type="TextureRect" parent="."]
|
||||
[node name="Digit4" type="TextureRect" parent="." unique_id=1715326887]
|
||||
layout_mode = 2
|
||||
texture = SubResource("AtlasTexture_j44f5")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Digit5" type="TextureRect" parent="."]
|
||||
[node name="Digit5" type="TextureRect" parent="." unique_id=755234748]
|
||||
layout_mode = 2
|
||||
texture = SubResource("AtlasTexture_emiqc")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Digit6" type="TextureRect" parent="."]
|
||||
[node name="Digit6" type="TextureRect" parent="." unique_id=1259223957]
|
||||
layout_mode = 2
|
||||
texture = SubResource("AtlasTexture_inuy1")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Digit7" type="TextureRect" parent="."]
|
||||
[node name="Digit7" type="TextureRect" parent="." unique_id=1114985963]
|
||||
layout_mode = 2
|
||||
texture = SubResource("AtlasTexture_ke503")
|
||||
stretch_mode = 5
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ func spawn_enemies():
|
|||
enemy_count = rows_mod * cols_mod
|
||||
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)
|
||||
|
||||
# Spawn Table
|
||||
|
|
@ -89,7 +89,7 @@ func spawn_enemies():
|
|||
s.start_all_animations()
|
||||
|
||||
|
||||
if wave_count == 1 : #This is for Boss
|
||||
if wave_count == 0 : #This is for Boss
|
||||
|
||||
# Hide the player
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue