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"]
|
||||
@onready var next_move = choose_next_move()
|
||||
@export var big_blob : PackedScene
|
||||
@onready var water : Water = get_tree().get_root().get_node("main/Water")
|
||||
|
||||
var risen = 0
|
||||
var attack_ready = true
|
||||
|
|
@ -79,12 +80,13 @@ func destroy_below():
|
|||
func wave():
|
||||
var angle = atan2(player.position.y, player.position.x)
|
||||
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
|
||||
attack_ready = true
|
||||
|
||||
func water_rise():
|
||||
get_tree().get_root().get_node("main/Water").rise_water()
|
||||
water.rise_water()
|
||||
await get_tree().create_timer(5).timeout
|
||||
attack_ready = true
|
||||
|
||||
|
|
@ -105,6 +107,7 @@ func die():
|
|||
await $AudioStreamPlayer2D.finished
|
||||
queue_free()
|
||||
|
||||
func _on_enemy_hurtbox_damage_taken() -> void:
|
||||
func _on_enemy_hurtbox_damage_taken(_damage, _dir) -> void:
|
||||
if dead: return
|
||||
print("audio")
|
||||
$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="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://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="AudioStream" uid="uid://co07360hqn6fk" path="res://sounds/686321__cjspellsfish__punch-land-soft.wav" id="6_opohk"]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_lnbgr"]
|
||||
|
||||
|
|
@ -60,6 +61,8 @@ position = Vector2(0, 200)
|
|||
shape = SubResource("RectangleShape2D_lnbgr")
|
||||
|
||||
[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="died" from="EnemyHurtbox" to="." method="die"]
|
||||
|
|
|
|||
|
|
@ -79,6 +79,8 @@ texture = ExtResource("3_kek77")
|
|||
script = ExtResource("10_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="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"]
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ extends Area2D
|
|||
@export var flashColor : Color = Color(1.5, 1.5, 1.5)
|
||||
var inv_time = 0;
|
||||
|
||||
signal damage_taken
|
||||
signal damage_taken(damage, dir)
|
||||
signal died
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ signal water_reached_max_height
|
|||
@onready var player : Player = %Player
|
||||
@export var animation_height : float = 0
|
||||
@export var radius_base : float = 0
|
||||
var tsunami_speed : float = 1
|
||||
|
||||
var radius : float:
|
||||
set(new_radius):
|
||||
|
|
@ -105,11 +106,12 @@ func _process(_delta: float) -> void:
|
|||
else:
|
||||
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
|
||||
|
||||
# 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]:
|
||||
push_error("direction must be in {-1, 1}")
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue