GodotGameWorkshop/Scripts/wardrobe.gd
doctorbatmanwho-creator 0f7889adfb Implement skeleton combat and memory piece progression
- Created Skeleton enemy scene with idle, walk, attack, hurt, and death animations
- Added player detection and enemy pursuit AI
- Implemented skeleton attack system and player damage
- Added player punch attack for adult character
- Implemented enemy damage and health system
- Added skeleton death handling
- Connected MemoryPiece spawning to defeated skeletons
- Added configurable memory piece textures and wardrobe assignments
- Implemented memory piece collection and return-to-graveyard workflow
- Added interact action to Input Map
- Continued development of Wardrobe 1 combat encounter
- Fixed multiple collision, hitbox, and animation issues
2026-06-15 14:05:40 -04:00

53 lines
1.2 KiB
GDScript

extends Node2D
@export var combat_spawn: Marker2D
@export var return_spawn: Marker2D
@onready var closed_sprite: Sprite2D = $ClosedSprite
@onready var open_sprite: Sprite2D = $OpenSprite
@onready var area: Area2D = $Area2D
var player_inside := false
var player: Player = null
var completed := false
func _ready() -> void:
open_sprite.visible = false
closed_sprite.visible = true
area.body_entered.connect(_on_body_entered)
area.body_exited.connect(_on_body_exited)
func _process(_delta: float) -> void:
if player_inside and not completed and Input.is_action_just_pressed("interact"):
enter_wardrobe()
func _on_body_entered(body: Node) -> void:
if body is Player:
player_inside = true
player = body
print("Press UP to enter wardrobe")
func _on_body_exited(body: Node) -> void:
if body is Player:
player_inside = false
player = null
func enter_wardrobe() -> void:
if player == null:
return
if combat_spawn == null:
print("No combat_spawn assigned for this wardrobe yet")
return
print("Entering wardrobe")
player.global_position = combat_spawn.global_position
func complete_wardrobe() -> void:
completed = true
closed_sprite.visible = false
open_sprite.visible = true
print("Wardrobe completed")