Files
seeding-planets/entities/player/scripts/player_data.gd
Zacharie Guet 7b09f2ba7c Dev de la démo
* 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
2026-05-28 10:18:36 +02:00

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)