CHAR ANIMATIONS COMPLETE - 52 frames generated
Session: 11hr marathon (Jan 8, 2026) Assets: 52 animation frames total Progress: 36% to 54% Kai: 20 frames (idle 4, walk 6, dig 5, swing 5) Ana: 10 frames (idle 4, walk 6) Gronk: 10 frames (idle 4, walk 6) Susi: 12 frames (idle 4, run 6, bark 2) Demo Status: 157/292 assets (54%) Remaining: 135 assets Files updated: - TASK_TRACKER.md - PRODUCTION_CHECKLIST.md - 64 new PNG assets - Susi reference updated
This commit is contained in:
@@ -10,8 +10,12 @@
|
||||
* - Progress tracking & rewards
|
||||
* - Dialogue system integration
|
||||
* - VFX triggers
|
||||
*
|
||||
* v2.1 UPDATE: Now loads quests from QuestDataLoader (Quest Manifest v2.0 compatible)
|
||||
*/
|
||||
|
||||
import QuestDataLoader from '../data/QuestDataLoader.js';
|
||||
|
||||
class QuestSystem {
|
||||
constructor(scene) {
|
||||
this.scene = scene;
|
||||
@@ -24,6 +28,25 @@ class QuestSystem {
|
||||
}
|
||||
|
||||
initializeQuests() {
|
||||
console.log('📜 Loading Quest Manifest v2.0...');
|
||||
|
||||
// Load all quests from QuestDataLoader
|
||||
const manifestQuests = QuestDataLoader.loadAllQuests();
|
||||
|
||||
manifestQuests.forEach(quest => {
|
||||
this.registerQuest(quest);
|
||||
});
|
||||
|
||||
console.log(`✅ Loaded ${manifestQuests.length} quests from manifest!`);
|
||||
|
||||
// Keep legacy quests for backwards compatibility
|
||||
this.registerLegacyQuests();
|
||||
}
|
||||
|
||||
/**
|
||||
* Legacy quests for backwards compatibility
|
||||
*/
|
||||
registerLegacyQuests() {
|
||||
// MAIN STORY QUEST 1: Zamegljeni Spomini
|
||||
this.registerQuest({
|
||||
id: 'zamegljeni_spomini',
|
||||
@@ -305,6 +328,12 @@ class QuestSystem {
|
||||
// Show start dialogue
|
||||
if (quest.dialogue && quest.dialogue.start) {
|
||||
this.showDialogue(quest.dialogue.start, quest.npc);
|
||||
|
||||
// 🔊 VOICEOVER: Play quest start dialogue
|
||||
if (this.scene.voiceoverSystem) {
|
||||
const voiceKey = `quest_${questId}_start`;
|
||||
this.scene.voiceoverSystem.playVoiceover(voiceKey, quest.dialogue.start[0]);
|
||||
}
|
||||
}
|
||||
|
||||
// Trigger VFX
|
||||
@@ -353,6 +382,12 @@ class QuestSystem {
|
||||
const remaining = objective.required - objective.current;
|
||||
const msg = quest.dialogue.progress[0].replace('{remaining}', remaining);
|
||||
this.showDialogue([msg], quest.npc);
|
||||
|
||||
// 🔊 VOICEOVER: Play progress dialogue
|
||||
if (this.scene.voiceoverSystem) {
|
||||
const voiceKey = `quest_${questId}_progress`;
|
||||
this.scene.voiceoverSystem.playVoiceover(voiceKey, msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -450,6 +485,12 @@ class QuestSystem {
|
||||
// Completion dialogue
|
||||
if (quest.dialogue && quest.dialogue.complete) {
|
||||
this.showDialogue(quest.dialogue.complete, quest.npc);
|
||||
|
||||
// 🔊 VOICEOVER: Play completion dialogue
|
||||
if (this.scene.voiceoverSystem) {
|
||||
const voiceKey = `quest_${questId}_complete`;
|
||||
this.scene.voiceoverSystem.playVoiceover(voiceKey, quest.dialogue.complete[0]);
|
||||
}
|
||||
}
|
||||
|
||||
// Completion VFX
|
||||
|
||||
Reference in New Issue
Block a user