boss start, some enemies
This commit is contained in:
parent
93968ff9fb
commit
66ecb04bd1
123 changed files with 1884 additions and 499 deletions
|
|
@ -32,11 +32,14 @@ func _physics_process(delta: float) -> void:
|
|||
else:
|
||||
_handle_attack_charge(delta)
|
||||
|
||||
main_visual.flip_h = target_node.position.x > position.x
|
||||
scale = Vector2.ONE * (1 + (current_charge * 0.2))
|
||||
_sprite_anim()
|
||||
|
||||
super._physics_process(delta)
|
||||
|
||||
func _sprite_anim():
|
||||
main_visual.flip_h = target_node.position.x > position.x
|
||||
scale = Vector2.ONE * (1 + (current_charge * 0.2))
|
||||
|
||||
func _handle_attack_charge(delta):
|
||||
current_charge += delta
|
||||
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ extends MaskAbility
|
|||
var traveled: float = 0.0
|
||||
|
||||
var bouncing = false
|
||||
var target : Enemy = null
|
||||
var target : Entity = null
|
||||
var bounces := max_bounces
|
||||
var already_hit : Array[Enemy] = []
|
||||
var already_hit : Array[Entity] = []
|
||||
|
||||
func mask_ready():
|
||||
super.mask_ready()
|
||||
|
|
@ -66,3 +66,5 @@ func _on_hitbox_hit_entity(entity : Entity) -> void:
|
|||
target = entity
|
||||
already_hit = [entity]
|
||||
#change_target()
|
||||
else:
|
||||
entity.damage()
|
||||
|
|
|
|||
|
|
@ -2,9 +2,11 @@ class_name Hitbox extends Area2D
|
|||
signal hit_entity(entity : Entity);
|
||||
signal hit_obstacle;
|
||||
|
||||
|
||||
var from_player = true
|
||||
var enabled = true
|
||||
@export var deal_damage = true
|
||||
@export var dmg = 1
|
||||
|
||||
func _ready() -> void:
|
||||
collision_mask = 1 | 2 | 4
|
||||
|
|
@ -20,14 +22,14 @@ func _on_body_entered(body: Node) -> void:
|
|||
if not enabled: return
|
||||
if body is Enemy and from_player:
|
||||
if deal_damage:
|
||||
body.damage()
|
||||
body.damage(dmg)
|
||||
body.knockback()
|
||||
|
||||
hit_entity.emit(body)
|
||||
|
||||
if body is Player and not from_player:
|
||||
if deal_damage:
|
||||
body.damage()
|
||||
body.damage(dmg)
|
||||
|
||||
hit_entity.emit(body)
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@ extends MaskAbility
|
|||
|
||||
func mask_ready():
|
||||
super.mask_ready()
|
||||
look_at(target_position)
|
||||
if target_position.x < global_position.x:
|
||||
scale.x = -1
|
||||
|
||||
func _on_animation_player_animation_finished(_anim_name: StringName) -> void:
|
||||
queue_free()
|
||||
|
|
|
|||
|
|
@ -1,45 +0,0 @@
|
|||
extends Node2D
|
||||
|
||||
@export var speed: float = 400.0
|
||||
@export var max_height: float = 100.0
|
||||
@export var payload : PackedScene
|
||||
var target_position: Vector2
|
||||
|
||||
@onready var sprite = $Bomb
|
||||
|
||||
var start_position: Vector2
|
||||
var distance_total: float
|
||||
var distance_covered: float = 0.0
|
||||
|
||||
var from_player = true
|
||||
|
||||
func set_from_player(value):
|
||||
from_player = value
|
||||
|
||||
func _ready():
|
||||
start_position = global_position
|
||||
distance_total = 150
|
||||
|
||||
func _process(delta):
|
||||
if distance_covered < distance_total:
|
||||
distance_covered += speed * delta
|
||||
var t = clamp(distance_covered / distance_total, 0.0, 1.0)
|
||||
|
||||
global_position = start_position.lerp(target_position, t)
|
||||
|
||||
var arc_y = 4 * max_height * t * (1 - t)
|
||||
|
||||
sprite.position.y = -arc_y
|
||||
else:
|
||||
global_position = target_position
|
||||
sprite.position.y = 0
|
||||
set_process(false)
|
||||
on_arrival()
|
||||
|
||||
func on_arrival():
|
||||
EventBus.screenshake.emit(1)
|
||||
var ins = payload.instantiate()
|
||||
ins.set_from_player(from_player)
|
||||
ins.global_position = global_position
|
||||
get_parent().add_child(ins)
|
||||
queue_free()
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://ctninfm8hkbp2
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
extends Enemy
|
||||
|
||||
#func _draw():
|
||||
#if charge > 0.1:
|
||||
#var color = Color.RED.lerp(Color.WHITE, charge / charge_time)
|
||||
#if player:
|
||||
#draw_dashed_line(Vector2.ZERO, to_local(player.global_position), color, 1, 5)
|
||||
#
|
||||
#func _process(delta: float) -> void:
|
||||
#super._process(delta)
|
||||
#if (charge > 0.1):
|
||||
#$Anim.play("attack")
|
||||
#else:
|
||||
#$Anim.play("default")
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://bpabecs0hf676
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
extends CPUParticles2D
|
||||
|
||||
func _ready() -> void:
|
||||
emitting = true
|
||||
|
||||
func set_from_player(value):
|
||||
$Hitbox.from_player = value
|
||||
|
||||
func _on_finished() -> void:
|
||||
queue_free()
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://8bsq7kvqky3d
|
||||
Loading…
Add table
Add a link
Reference in a new issue