* Evolution de l'histoire avec de nouveaux dialogues, une plus grande durée de vie du jeu, des nouvelles zones d'histoire... * Suppression du mode infini * Ajout d'un écran des mutations découvertes * Ajout d'un nouveau mécanisme de respawn situé dans le vaissau * Ajout de 2 nouveaux modificateurs de région * Quatre nouveaux artefacts * Visuel de la décontamination de la planète 3D en cours de la partie * Ajout d'une annonce visuelle des scène du jeu * Fix sur la mutation Généreux pour être en accord avec sa description * Amélioration de l'effet de la mutation Purification * Fix de la mutation sociale aux niveau supérieurs * Ajout d'un effet visuel de réacteur sur le joueur 3D * Fix sur l'annonce de nouveaux objets qui se déclenchaient à une nouvelle run * Amélioration des animation et des informations données dans le vaisseau * Correction mineure des traductions
45 lines
1.1 KiB
GDScript
45 lines
1.1 KiB
GDScript
extends Interactable
|
|
class_name Door
|
|
|
|
@export var to_scene : Scene
|
|
@export var present : bool = false : set = set_present
|
|
@export var door_id : int
|
|
|
|
func _init():
|
|
default_interact_text = "ENTER"
|
|
|
|
func _ready():
|
|
if available:
|
|
%AnimatedSprite2D.play("opened")
|
|
else:
|
|
%AnimatedSprite2D.play("closed")
|
|
set_present()
|
|
%Icon.texture = to_scene.get_scene_icon()
|
|
|
|
func interact(p : Player) -> bool:
|
|
if available and to_scene:
|
|
p.region.data.entered_door = name
|
|
interacted.emit(p)
|
|
p.region.save()
|
|
SceneManager.change_to_scene(to_scene)
|
|
|
|
return available
|
|
|
|
func set_available(v : bool):
|
|
available = v
|
|
if is_node_ready():
|
|
if available:
|
|
AudioManager.play_sfx("DoorOpen")
|
|
get_tree().create_timer(0.5).timeout.connect(
|
|
func (): %AnimatedSprite2D.play("open")
|
|
)
|
|
else:
|
|
%AnimatedSprite2D.play("close")
|
|
|
|
func set_present(p := present):
|
|
present = p
|
|
if present:
|
|
process_mode = Node.PROCESS_MODE_INHERIT
|
|
else:
|
|
process_mode = Node.PROCESS_MODE_DISABLED
|
|
visible = present |