feat(progression): quêtes rotatives court-terme + panel HUD

Nouvel autoload QuestManager avec 11 templates (casser X sable, récolter
coraux, collecter perles, plonger à -25m, crafter 2 objets, etc.).
3 quêtes actives simultanément; complétion → récompense XP + roll d'une
nouvelle quête.

HUD: panneau "OBJECTIFS" top-right avec progression couleur (gris→vert),
bannière centrale "✓ QUÊTE" + son bulle au complete.

Motivation moyen-terme (5-15 min): le joueur a toujours qqch à faire.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-20 18:10:01 +00:00
parent 984754183f
commit 610d766cb2
6 changed files with 228 additions and 4 deletions

View File

@@ -57,7 +57,10 @@ static func craft(inventory: Inventory, recipe_index: int) -> bool:
static func _award_craft_xp(recipe: Dictionary) -> void:
var pp: Node = Engine.get_main_loop().root.get_node_or_null("/root/PlayerProgress")
if pp == null:
return
pp.award(pp.XP_CRAFT, "craft %s" % str(recipe.get("name", "")), Vector3.ZERO)
var root: Node = Engine.get_main_loop().root
var pp: Node = root.get_node_or_null("/root/PlayerProgress")
if pp != null:
pp.award(pp.XP_CRAFT, "craft %s" % str(recipe.get("name", "")), Vector3.ZERO)
var qm: Node = root.get_node_or_null("/root/QuestManager")
if qm != null:
qm.note_craft()