* Modification de l'apparence de l'UI des dialogues * Changement de l'ordre de déblocage des mutations * Ajout d'une confirmation pour l'abandon * Ajout de la scène de fin avec la base Boréa, en tant que fin de démo * Modification des icône de durée de vie, temps de pousse, et de mort * Ajout d'un icône au dessus du joueur quand il n'a plus d'énergie * Amélioration des dialogues du jeu * Changement du modèle du téléphone * Ajout de cellule d'énergie et de cellule de talion trouvable sur la carte * Il est à nouveau possible de se recharger après la fin d'une région * Buff des mutations ancien sociale et solide * Modification de la mutation fertile (ne donne de gain de graine qu'à la maturation) * Ajout d'une récupération automatique des graines * Ajout de deux cartons de tutoriel ainsi qu'une option pour les revoir dans l'aide de jeu * Amélioration générale du tutoriel * Ajout d'un écran titre digne de ce nom * Lors de l'arrivée à destination, ne téléporte plus le joueur sur une map vide, mais directement dans les lieux de cinématique * Ajout graphique de plus de pattern de mousse et de roche * Le talion apparait maintenant sur toute la carte * La roche peut désormais apparaitre sur la zone de départ * Ajout dud modificateur de région Canyon * Equilibrage général * Fix de bugs en tout genre
42 lines
1.2 KiB
GDScript
42 lines
1.2 KiB
GDScript
extends Resource
|
|
class_name PlayerData
|
|
|
|
signal updated(player_data : PlayerData)
|
|
|
|
const DEFAULT_MAX_ENERGY = 3
|
|
const DEFAULT_INVENTORY_SIZE = 3
|
|
|
|
@export var max_energy : int = DEFAULT_MAX_ENERGY
|
|
|
|
@export var energy : int = DEFAULT_MAX_ENERGY :
|
|
set(v):
|
|
energy = min(v,max_energy)
|
|
updated.emit(self)
|
|
|
|
@export var inventory := Inventory.new(DEFAULT_INVENTORY_SIZE)
|
|
|
|
func get_artefacts() -> Array[Artefact]:
|
|
if GameInfo and GameInfo.game_data and GameInfo.game_data.current_run:
|
|
return GameInfo.game_data.current_run.artefacts
|
|
return []
|
|
|
|
func update_with_artefacts(artefacts : Array[Artefact]):
|
|
inventory.seeds_size = calculate_inventory_size(artefacts)
|
|
max_energy = calculate_max_energy(artefacts)
|
|
updated.emit()
|
|
|
|
func calculate_max_energy(artefacts : Array[Artefact]) -> int:
|
|
var v = DEFAULT_MAX_ENERGY
|
|
for a in artefacts:
|
|
v = a.modify_player_max_energy(v)
|
|
return v
|
|
|
|
func calculate_inventory_size(artefacts : Array[Artefact]) -> int:
|
|
var v = DEFAULT_INVENTORY_SIZE
|
|
for a in artefacts:
|
|
v = a.modify_player_inventory_size(v)
|
|
return v
|
|
|
|
func clear_inventory():
|
|
inventory = Inventory.new(DEFAULT_INVENTORY_SIZE)
|