|
|
"use strict";(self.webpackChunkplaycanvas_game=self.webpackChunkplaycanvas_game||[]).push([[41],{41:(e,i,t)=>{t.r(i),t.d(i,{ObjectiveFactory:()=>a,ObjectiveSets:()=>n,ObjectiveTemplates:()=>r});const r={createCollectionObjective:(e,i,t=100)=>({type:"counter",target:i,description:`Collect ${i} ${e}`,rewards:{experience:t},autoTrigger:"item:pickup",triggerCondition:{itemType:e}}),createExplorationObjective:(e,i=150)=>({type:"counter",target:e.length,description:`Explore ${e.length} areas: ${e.join(", ")}`,rewards:{experience:i,skillPoints:1},autoTrigger:"player:proximity",triggerCondition:{areas:e}}),createTimeTrialObjective(e,i,t=null){const r={type:"simple",timeLimit:i,description:`${e} within ${Math.floor(i/60)} minutes`,rewards:{experience:200}};return t&&(r.requires={tool:t}),r},createSkillObjective(e,i=null,t=300){const r={type:"simple",description:`Complete advanced task requiring ${e}`,requires:{skill:e},rewards:{experience:t,skillPoints:2}};return i&&(r.requires.stat=i),r},createSocialObjective:(e,i=120)=>({type:"counter",target:e,description:`Interact with ${e} NPCs`,rewards:{experience:i,unlockSkills:["social"]},autoTrigger:"npc:interact"}),createSequentialObjective:(e,i=180)=>({type:"counter",target:e.length,description:`Complete tasks in order: ${e.join(" β ")}`,rewards:{experience:i},sequence:e,currentStep:0}),createSurvivalObjective:(e,i=250)=>({type:"simple",timeLimit:e,description:`Survive for ${Math.floor(e/60)} minutes`,rewards:{experience:i,unlockSkills:["survival"]},survivalMode:!0}),createPrecisionObjective:(e,i,t,r=150)=>({type:"simple",description:`Complete ${e} with high precision`,requires:{tool:i,skill:t},rewards:{experience:r,skillPoints:1},precisionRequired:!0}),createInvestigationObjective:(e,i=220)=>({type:"counter",target:e,description:`Find all ${e} investigation clues`,rewards:{experience:i,items:[{id:"investigation_report",quantity:1}]},autoTrigger:"clue:found"}),createMaintenanceObjective:(e,i=160)=>({type:"counter",target:e,description:`Perform maintenance on ${e} pieces of equipment`,requires:{tool:"maintenance_kit"},rewards:{experience:i,unlockSkills:["maintenance"]},autoTrigger:"equipment:maintained"})},n={medicalLabBeginner:[{id:"lab_orientation",name:"Laboratory Orientation",...r.createExplorationObjective(["reception","main_lab","storage"],100)},{id:"collect_basic_supplies",name:"Gather Basic Supplies",...r.createCollectionObjective("basic_supplies",3,80)},{id:"meet_supervisor",name:"Meet Your Supervisor",type:"simple",description:"Find and talk to the lab supervisor",rewards:{experience:60,unlockSkills:["communication"]},autoTrigger:"npc:interact",triggerCondition:{npcId:"supervisor"}}],medicalLabIntermediate:[{id:"emergency_training",name:"Emergency Response Training",...r.createTimeTrialObjective("Complete emergency protocol",300,"emergency_kit")},{id:"advanced_tests",name:"Advanced Laboratory Tests",...r.createSkillObjective("advanced_testing",{intelligence:10},250)},{id:"equipment_check",name:"Daily Equipment Check",...r.createMaintenanceObjective(5,140)}],sciFiEnvironment:[{id:"scan_alien_artifacts",name:"Scan Unknown Artifacts",...r.createCollectionObjective("alien_artifacts",4,200)},{id:"decode_alien_text",name:"Decode Alien Communication",...r.createSkillObjective("xenolinguistics",{intelligence:15},350)},{id:"survive_contamination",name:"Containment Breach Protocol",...r.createSurvivalObjective(600,300)}],socialInteraction:[{id:"team_introductions",name:"Meet the Team",...r.createSocialObjective(5,100)},{id:"conflict_resolution",name:"Resolve Team Conflict",type:"simple",description:"Help resolve the conflict between team members",requires:{skill:"diplomacy"},rewards:{experience:180,skillPoints:2}},{id:"team_building",name:"Team Building Exercise",type:"counter",target:3,description:"Complete all team building activities",rewards:{experience:150,unlockSkills:["leadership"]}}],tutorialSet:[{id:"learn_basic_controls",name:"Learn Basic Controls",type:"counter",target:4,description:"Practice movement: WASD, Mouse Look, F to Interact, Tab for Menu",rewards:{experience:50}},{id:"first_interaction",name:"First Interaction",type:"simple",description:"Interact with any object (look at it and press F)",rewards:{experience:30}},{id:"inventory_tutorial",name:"Using Your Inventory",type:"simple",description:"Pick up an item and check your inventory",rewards:{experience:40,unlockSkills:["inventory_management"]}}]},a={createForScene(e,i="beginner"){const t=[];switch(e){case"medical":t.push(...n.medicalLabBeginner),"beginner"!==i&&t.push(...n.medicalLabIntermediate);break;case"scifi":t.push(...n.sciFiEnvironment);break;case"tutorial":t.push(...n.tutorialSet);break;default:t.push({id:"explore_area",name:"Explore the Area",...r.createExplorationObjective(["area1","area2","area3"],120)})}return t},createProgressiveSet:(e,i=["easy","medium","hard"])=>i.map((t,r)=>({...e,id:`${e.id}_${t}`,name:`${e.name} (${t.toUpperCase()})`,target:e.target?e.target*(r+1):void 0,timeLimit:e.timeLimit?Math.max(60,e.timeLimit-60*r):void 0,rewards:{...e.rewards,experience:(e.rewards.experience||100)*(r+1)},prerequisites:r>0?[`${e.id}_${i[r-1]}`]:void 0})),createDailyObjectives:()=>[{id:"daily_maintenance",name:"Daily Equipment Maintenance",...r.createMaintenanceObjective(3,100),repeatable:!0,resetTime:864e5},{id:"daily_collection",name:"Daily Sample Collection",...r.createCollectionObjective("daily_samples",5,120),repeatable:!0,resetTime:864e5}]}}}]); |