game: add base enemy and rat

This commit is contained in:
2025-08-20 19:32:21 +02:00
parent 4a900e99bd
commit 7136b07de5
10 changed files with 284 additions and 9 deletions

View File

@@ -5,6 +5,7 @@ extends CharacterBody2D
@export var main_ui: MainUI
@onready var sprite_2d: Sprite2D = $Sprite2D
@onready var attack_sword: Node2D = $AttackSword
var player_stats: PlayerStats = PlayerStats.new()
var modifiers: Array[PlayerStatsModifier] = []
@@ -59,7 +60,8 @@ func take_damage(value: float) -> void:
func die():
dead = true
remove_from_group("damagable")
get_tree().call_group("enemy", "cheer_anim")
get_tree().call_group("enemy", "cheer")
attack_sword.queue_free()
GlobalConst.sig_stop_spawning.emit(true)
sprite_2d.z_index += 10
get_taunted()
@@ -75,18 +77,19 @@ func death_animation(delta: float):
func get_taunted():
var taunting_enemies: Array[Enemy] = []
var taunting_enemies: Array[EnemyBase] = []
for body in get_tree().get_nodes_in_group(GlobalConst.GROUP_ENEMY):
if global_position.distance_to(body.global_position) < 500.0:
print_debug("starting taunt: %s" % global_position.distance_to(body.global_position))
if global_position.distance_to(body.global_position) < 1000.0:
taunting_enemies.append(body)
print_debug("getting taunted by %s enemies" % len(taunting_enemies))
for i in range(taunting_enemies.size()):
var angle = (TAU / taunting_enemies.size()) * i
var target_pos = Vector2(cos(angle), sin(angle)) * 50
var new_target = StaticBody2D.new()
var collision = CollisionShape2D.new()
var new_target = Marker2D.new()
print_debug("getting taunted by %s" % taunting_enemies[i])
new_target.position = target_pos
add_child(new_target)
new_target.add_child(collision)
taunting_enemies[i].target = new_target