Files
novafarma/old_logic/src_backup_1768938138/data/Act1QuestData.js
2026-01-21 01:08:21 +01:00

497 lines
15 KiB
JavaScript

/**
* Act1QuestData.js
* =================
* KRVAVA ŽETEV - Act 1: The Search Begins
*
* Main Quest: "Find Ana's Trail"
*
* Structure:
* - Quest 1.1: Wake Up & Explore
* - Quest 1.2: Meet Grok (First NPC)
* - Quest 1.3: First Twin Bond Message
* - Quest 1.4: Tame Your First Zombie
* - Quest 1.5: Build Ana's Grave (Memorial)
* - Quest 1.6: Search Lab Ruins
* - Quest 1.7: Find Ana's Research Notes
* - Quest 1.8: Decipher the Clues
*
* @author NovaFarma Team
* @date 2025-12-23
*/
const Act1QuestData = {
// ===== QUEST 1.1: WAKE UP & EXPLORE =====
'quest_1_1_wake_up': {
id: 'quest_1_1_wake_up',
title: 'A New Beginning',
description: 'You wake up in the ruins of the lab. Explore your surroundings and get your bearings.',
act: 1,
isMainQuest: true,
objectives: [
{
id: 'explore_ruins',
description: 'Explore the lab ruins',
type: 'location',
target: { x: 500, y: 500, radius: 50 },
current: 0,
required: 1,
completed: false
},
{
id: 'check_inventory',
description: 'Check your inventory (I key)',
type: 'action',
current: 0,
required: 1,
completed: false
}
],
rewards: {
xp: 100,
items: [
{ id: 'torn_journal', amount: 1 }
],
bondStrength: +5
},
nextQuest: 'quest_1_2_meet_grok',
startDialogue: {
speaker: 'Kai',
text: 'My head... what happened? The last thing I remember is the explosion... Ana! Where is she?!'
},
completeDialogue: {
speaker: 'Kai',
text: 'This journal... it\'s Ana\'s handwriting. She was here. I need to find her.'
}
},
// ===== QUEST 1.2: MEET GROK =====
'quest_1_2_meet_grok': {
id: 'quest_1_2_meet_grok',
title: 'The Zen Monk',
description: 'You hear the sound of a gong in the distance. Someone else survived?',
act: 1,
isMainQuest: true,
objectives: [
{
id: 'find_grok',
description: 'Follow the gong sound',
type: 'location',
target: { x: 1000, y: 800, radius: 100 },
current: 0,
required: 1,
completed: false
},
{
id: 'talk_to_grok',
description: 'Talk to the mysterious monk',
type: 'dialogue',
dialogueId: 'grok_first_meeting',
current: 0,
required: 1,
completed: false
}
],
rewards: {
xp: 150,
items: [
{ id: 'meditation_guide', amount: 1 }
],
bondStrength: +3,
unlocks: ['grok_shop', 'grok_quests']
},
nextQuest: 'quest_1_3_twin_bond',
startDialogue: {
speaker: 'Narrator',
text: '*BOOONG!* A deep gong echoes through the ruins. You\'re not alone...'
}
},
// ===== QUEST 1.3: FIRST TWIN BOND MESSAGE =====
'quest_1_3_twin_bond': {
id: 'quest_1_3_twin_bond',
title: 'The Twin Bond Awakens',
description: 'Ana\'s voice echoes in your mind. The Twin Bond is real!',
act: 1,
isMainQuest: true,
objectives: [
{
id: 'receive_message',
description: 'Listen to Ana\'s telepathic message',
type: 'event',
eventId: 'first_twin_bond_message',
current: 0,
required: 1,
completed: false
},
{
id: 'use_sense_pulse',
description: 'Use Sense Pulse ability (F key)',
type: 'ability',
abilityId: 'sense_pulse',
current: 0,
required: 1,
completed: false
}
],
rewards: {
xp: 200,
bondStrength: +10,
unlocks: ['twin_bond_ui', 'telepathy_ability']
},
nextQuest: 'quest_1_4_first_zombie',
triggerEvent: {
type: 'twin_bond_message',
delay: 5000, // 5 seconds after quest start
message: 'Kai... can you hear me? I\'m alive... but I don\'t know where I am...',
emotion: 'worried'
}
},
// ===== QUEST 1.4: TAME YOUR FIRST ZOMBIE =====
'quest_1_4_first_zombie': {
id: 'quest_1_4_first_zombie',
title: 'The Alfa Power',
description: 'Use your Alfa abilities to tame wild zombies. They can help you search for Ana.',
act: 1,
isMainQuest: true,
objectives: [
{
id: 'find_zombie',
description: 'Find a wild zombie',
type: 'entity',
entityType: 'wild_zombie',
current: 0,
required: 1,
completed: false
},
{
id: 'tame_zombie',
description: 'Tame the zombie (approach and press T)',
type: 'tame',
current: 0,
required: 1,
completed: false
},
{
id: 'command_zombie',
description: 'Give your zombie a command',
type: 'action',
actionId: 'zombie_command',
current: 0,
required: 1,
completed: false
}
],
rewards: {
xp: 250,
items: [
{ id: 'zombie_guide', amount: 1 }
],
bondStrength: +5,
unlocks: ['zombie_commands', 'grave_crafting']
},
nextQuest: 'quest_1_5_ana_grave',
tutorialText: {
'find': 'Wild zombies are attracted to your Alfa scent. They will approach you.',
'tame': 'Get close to a zombie and press T. Your Alfa power will bring them under control.',
'command': 'Use number keys 1-4 to give commands: Follow, Work, Guard, Rest'
}
},
// ===== QUEST 1.5: BUILD ANA'S GRAVE (MEMORIAL) =====
'quest_1_5_ana_grave': {
id: 'quest_1_5_ana_grave',
title: 'A Sister\'s Memorial',
description: 'Build a grave as a memorial for Ana. You will find her, but this represents your bond.',
act: 1,
isMainQuest: true,
objectives: [
{
id: 'gather_stone',
description: 'Gather 10 stones',
type: 'item',
itemId: 'stone',
current: 0,
required: 10,
completed: false
},
{
id: 'gather_dirt',
description: 'Gather 5 dirt',
type: 'item',
itemId: 'dirt',
current: 0,
required: 5,
completed: false
},
{
id: 'craft_grave',
description: 'Craft Ana\'s Memorial Grave',
type: 'craft',
recipeId: 'ana_memorial_grave',
current: 0,
required: 1,
completed: false
},
{
id: 'place_grave',
description: 'Place the grave at a meaningful location',
type: 'placement',
current: 0,
required: 1,
completed: false
}
],
rewards: {
xp: 300,
bondStrength: +15,
items: [
{ id: 'ana_locket', amount: 1 } // Special item
],
unlocks: ['ana_memorial_buff']
},
nextQuest: 'quest_1_6_search_lab',
emotionalMoment: {
text: 'You place flowers on the grave. "I will find you, Ana. I promise."',
emotion: 'determined',
bondPulse: true,
camera: 'zoom_in'
}
},
// ===== QUEST 1.6: SEARCH LAB RUINS =====
'quest_1_6_search_lab': {
id: 'quest_1_6_search_lab',
title: 'Back to the Beginning',
description: 'Return to the lab ruins and search for clues about Ana\'s location.',
act: 1,
isMainQuest: true,
objectives: [
{
id: 'search_lab_entrance',
description: 'Search the lab entrance',
type: 'location',
target: { x: 200, y: 300, radius: 30 },
current: 0,
required: 1,
completed: false
},
{
id: 'search_research_wing',
description: 'Search the research wing',
type: 'location',
target: { x: 400, y: 350, radius: 30 },
current: 0,
required: 1,
completed: false
},
{
id: 'search_security_office',
description: 'Search the security office',
type: 'location',
target: { x: 300, y: 450, radius: 30 },
current: 0,
required: 1,
completed: false
}
],
rewards: {
xp: 350,
bondStrength: +8,
items: [
{ id: 'lab_keycard', amount: 1 },
{ id: 'security_footage', amount: 1 }
]
},
nextQuest: 'quest_1_7_research_notes',
discoveries: [
{
location: 'lab_entrance',
text: 'Blood on the floor... Ana was injured during the attack.'
},
{
location: 'research_wing',
text: 'Her workstation is destroyed, but some data drives might still work.'
},
{
location: 'security_office',
text: 'Security footage! This could show what happened!'
}
]
},
// ===== QUEST 1.7: FIND ANA'S RESEARCH NOTES =====
'quest_1_7_research_notes': {
id: 'quest_1_7_research_notes',
title: 'Ana\'s Research',
description: 'Recover Ana\'s research notes. They might contain clues about who took her.',
act: 1,
isMainQuest: true,
objectives: [
{
id: 'decode_data_drive',
description: 'Decode the data drive',
type: 'puzzle',
puzzleId: 'data_drive_decode',
current: 0,
required: 1,
completed: false
},
{
id: 'watch_security_footage',
description: 'Watch security footage',
type: 'cutscene',
cutsceneId: 'security_footage_reveal',
current: 0,
required: 1,
completed: false
},
{
id: 'find_research_notes',
description: 'Find Ana\'s hidden research notes',
type: 'item',
itemId: 'ana_research_notes',
current: 0,
required: 1,
completed: false
}
],
rewards: {
xp: 400,
bondStrength: +12,
items: [
{ id: 'alfa_serum_blueprint', amount: 1 }
]
},
nextQuest: 'quest_1_8_decipher_clues',
cutscene: {
id: 'security_footage_reveal',
scenes: [
{
text: 'The footage is corrupted, but you can make out figures in heavy armor...',
speaker: 'Narrator'
},
{
text: 'They\'re dragging Ana away... she\'s fighting them...',
speaker: 'Kai',
emotion: 'anger'
},
{
text: 'Wait... that symbol on their armor... I\'ve seen it before!',
speaker: 'Kai',
emotion: 'shocked'
}
]
}
},
// ===== QUEST 1.8: DECIPHER THE CLUES =====
'quest_1_8_decipher_clues': {
id: 'quest_1_8_decipher_clues',
title: 'The Trail Grows Warm',
description: 'Use Ana\'s research and the security footage to figure out where they took her.',
act: 1,
isMainQuest: true,
objectives: [
{
id: 'read_notes',
description: 'Read Ana\'s research notes',
type: 'item_use',
itemId: 'ana_research_notes',
current: 0,
required: 1,
completed: false
},
{
id: 'consult_grok',
description: 'Ask Grok about the symbol',
type: 'dialogue',
dialogueId: 'grok_symbol_knowledge',
current: 0,
required: 1,
completed: false
},
{
id: 'find_map',
description: 'Find a map of the region',
type: 'item',
itemId: 'region_map',
current: 0,
required: 1,
completed: false
}
],
rewards: {
xp: 500,
bondStrength: +20,
items: [
{ id: 'coordinates_note', amount: 1 }
],
unlocks: ['act_2']
},
nextQuest: 'quest_2_1_journey_begins', // ACT 2!
revelation: {
text: 'The symbol... it\'s from a secret military facility. That\'s where they took Ana!',
speaker: 'Kai',
emotion: 'determined',
cameraEffect: 'dramatic_zoom',
bondPulse: true
},
endingDialogue: {
nodes: {
'ending': {
speaker: 'Ana (Twin Bond)',
emotion: 'hope',
text: 'Kai... I can feel you getting closer. Don\'t give up!',
next: 'kai_response'
},
'kai_response': {
speaker: 'Kai',
emotion: 'determined',
text: 'I\'m coming for you, Ana. Nothing will stop me.',
next: null
}
}
}
}
};
// Export for use in QuestSystem
if (typeof module !== 'undefined' && module.exports) {
module.exports = Act1QuestData;
}