Made wave adjust to height and fixed boss sounds
This commit is contained in:
parent
0c0decb12b
commit
c89fbae042
5 changed files with 17 additions and 7 deletions
|
|
@ -4,6 +4,7 @@ extends CharacterBody2D
|
||||||
var moves = ["slam", "wave", "water_rise", "splash"]
|
var moves = ["slam", "wave", "water_rise", "splash"]
|
||||||
@onready var next_move = choose_next_move()
|
@onready var next_move = choose_next_move()
|
||||||
@export var big_blob : PackedScene
|
@export var big_blob : PackedScene
|
||||||
|
@onready var water : Water = get_tree().get_root().get_node("main/Water")
|
||||||
|
|
||||||
var risen = 0
|
var risen = 0
|
||||||
var attack_ready = true
|
var attack_ready = true
|
||||||
|
|
@ -79,12 +80,13 @@ func destroy_below():
|
||||||
func wave():
|
func wave():
|
||||||
var angle = atan2(player.position.y, player.position.x)
|
var angle = atan2(player.position.y, player.position.x)
|
||||||
var dir = randi_range(0, 1) * 2 - 1
|
var dir = randi_range(0, 1) * 2 - 1
|
||||||
get_tree().get_root().get_node("main/Water").create_tsunami(angle - dir*TAU/30, dir)
|
var speed = 3000/water.radius_base
|
||||||
|
water.create_tsunami(angle - speed * dir*TAU/30, dir, speed)
|
||||||
await get_tree().create_timer(4).timeout
|
await get_tree().create_timer(4).timeout
|
||||||
attack_ready = true
|
attack_ready = true
|
||||||
|
|
||||||
func water_rise():
|
func water_rise():
|
||||||
get_tree().get_root().get_node("main/Water").rise_water()
|
water.rise_water()
|
||||||
await get_tree().create_timer(5).timeout
|
await get_tree().create_timer(5).timeout
|
||||||
attack_ready = true
|
attack_ready = true
|
||||||
|
|
||||||
|
|
@ -105,6 +107,7 @@ func die():
|
||||||
await $AudioStreamPlayer2D.finished
|
await $AudioStreamPlayer2D.finished
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|
||||||
func _on_enemy_hurtbox_damage_taken() -> void:
|
func _on_enemy_hurtbox_damage_taken(_damage, _dir) -> void:
|
||||||
if dead: return
|
if dead: return
|
||||||
|
print("audio")
|
||||||
$AudioStreamPlayer2D.play()
|
$AudioStreamPlayer2D.play()
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
[gd_scene load_steps=8 format=3 uid="uid://cpe4s6vsn0ujd"]
|
[gd_scene load_steps=9 format=3 uid="uid://cpe4s6vsn0ujd"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://d3b5hmhjw2jyc" path="res://enemies/ghost/ghost animation/Ghost 1.png" id="1_6xxrv"]
|
[ext_resource type="Texture2D" uid="uid://d3b5hmhjw2jyc" path="res://enemies/ghost/ghost animation/Ghost 1.png" id="1_6xxrv"]
|
||||||
[ext_resource type="Script" uid="uid://uv672p8f4n6k" path="res://enemies/boss/boss.gd" id="1_skx2t"]
|
[ext_resource type="Script" uid="uid://uv672p8f4n6k" path="res://enemies/boss/boss.gd" id="1_skx2t"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bg2hgia0jqnqf" path="res://enemies/boss/blob_big.tscn" id="2_o1i15"]
|
[ext_resource type="PackedScene" uid="uid://bg2hgia0jqnqf" path="res://enemies/boss/blob_big.tscn" id="2_o1i15"]
|
||||||
[ext_resource type="PackedScene" uid="uid://mtfsdd4cdf3a" path="res://utils/enemy_hurtbox.tscn" id="2_skx2t"]
|
[ext_resource type="PackedScene" uid="uid://mtfsdd4cdf3a" path="res://utils/enemy_hurtbox.tscn" id="2_skx2t"]
|
||||||
[ext_resource type="PackedScene" uid="uid://chs0u61f45nau" path="res://utils/earth_aligner.tscn" id="4_lnbgr"]
|
[ext_resource type="PackedScene" uid="uid://chs0u61f45nau" path="res://utils/earth_aligner.tscn" id="4_lnbgr"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://co07360hqn6fk" path="res://sounds/686321__cjspellsfish__punch-land-soft.wav" id="6_opohk"]
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_lnbgr"]
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_lnbgr"]
|
||||||
|
|
||||||
|
|
@ -60,6 +61,8 @@ position = Vector2(0, 200)
|
||||||
shape = SubResource("RectangleShape2D_lnbgr")
|
shape = SubResource("RectangleShape2D_lnbgr")
|
||||||
|
|
||||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
|
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
|
||||||
|
stream = ExtResource("6_opohk")
|
||||||
|
volume_db = 15.0
|
||||||
|
|
||||||
[connection signal="damage_taken" from="EnemyHurtbox" to="." method="_on_enemy_hurtbox_damage_taken"]
|
[connection signal="damage_taken" from="EnemyHurtbox" to="." method="_on_enemy_hurtbox_damage_taken"]
|
||||||
[connection signal="died" from="EnemyHurtbox" to="." method="die"]
|
[connection signal="died" from="EnemyHurtbox" to="." method="die"]
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,8 @@ texture = ExtResource("3_kek77")
|
||||||
script = ExtResource("10_efxa6")
|
script = ExtResource("10_efxa6")
|
||||||
boss = ExtResource("11_efxa6")
|
boss = ExtResource("11_efxa6")
|
||||||
|
|
||||||
|
[node name="Boss" parent="." instance=ExtResource("11_efxa6")]
|
||||||
|
|
||||||
[connection signal="active_item_changed" from="Player" to="UIOverlay/ItemUI" method="_on_player_active_item_changed"]
|
[connection signal="active_item_changed" from="Player" to="UIOverlay/ItemUI" method="_on_player_active_item_changed"]
|
||||||
[connection signal="health_changed" from="Player" to="UIOverlay/Healthbar" method="_on_player_health_changed"]
|
[connection signal="health_changed" from="Player" to="UIOverlay/Healthbar" method="_on_player_health_changed"]
|
||||||
[connection signal="max_hp_changed" from="Player" to="UIOverlay/Healthbar" method="_on_player_max_hp_changed"]
|
[connection signal="max_hp_changed" from="Player" to="UIOverlay/Healthbar" method="_on_player_max_hp_changed"]
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ extends Area2D
|
||||||
@export var flashColor : Color = Color(1.5, 1.5, 1.5)
|
@export var flashColor : Color = Color(1.5, 1.5, 1.5)
|
||||||
var inv_time = 0;
|
var inv_time = 0;
|
||||||
|
|
||||||
signal damage_taken
|
signal damage_taken(damage, dir)
|
||||||
signal died
|
signal died
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ signal water_reached_max_height
|
||||||
@onready var player : Player = %Player
|
@onready var player : Player = %Player
|
||||||
@export var animation_height : float = 0
|
@export var animation_height : float = 0
|
||||||
@export var radius_base : float = 0
|
@export var radius_base : float = 0
|
||||||
|
var tsunami_speed : float = 1
|
||||||
|
|
||||||
var radius : float:
|
var radius : float:
|
||||||
set(new_radius):
|
set(new_radius):
|
||||||
|
|
@ -105,11 +106,12 @@ func _process(_delta: float) -> void:
|
||||||
else:
|
else:
|
||||||
radius_base = lerpf(rise_from, rise_to, (time - start_unix_time) / rise_time)
|
radius_base = lerpf(rise_from, rise_to, (time - start_unix_time) / rise_time)
|
||||||
|
|
||||||
tsunami_angle = tsunami_base_angle + animation_angle * direction;
|
tsunami_angle = tsunami_base_angle + animation_angle * direction * tsunami_speed;
|
||||||
radius = radius_base + animation_height
|
radius = radius_base + animation_height
|
||||||
|
|
||||||
# direction is -1 for left, +1 for right
|
# direction is -1 for left, +1 for right
|
||||||
func create_tsunami(angle : float, dir : int):
|
func create_tsunami(angle : float, dir : int, speed : float):
|
||||||
|
tsunami_speed = speed
|
||||||
if direction not in [-1, 1]:
|
if direction not in [-1, 1]:
|
||||||
push_error("direction must be in {-1, 1}")
|
push_error("direction must be in {-1, 1}")
|
||||||
return
|
return
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue