Spaces:
Build error
Build error
| { | |
| "themes": { | |
| "User Custom - Template": { | |
| "background": "backgrounds/theme_background.png", | |
| "inventory": [ | |
| { "type": "weapon", "name": "Random weapon", "description": "A powerful weapon." } | |
| ], | |
| "skills": [ | |
| { "branch": "Skill Group 1", "name": "Skill One", "learned": false } | |
| ], | |
| "persistentTargets": [ | |
| { "name": "Background Target 1", "x": 500, "y": 500, "collisionType": "alert", "collisiontext": "First Test" } | |
| ], | |
| "story": [ | |
| { | |
| "part": 0, | |
| "objectives": [ | |
| { "id": 1, "name": "Mission Details", "complete": false, "progress": 0, "inventoryRequired": [] } | |
| ], | |
| "targets": [ | |
| { "name": "Target 1", "x": 150, "y": 150, "collisionType": "alert", "collisiontext": "First Test" } | |
| ] | |
| }, | |
| { | |
| "part": 1, | |
| "objectives": [ | |
| { "id": 2, "name": "Mission Details", "complete": false, "progress": 0, "inventoryRequired": [] } | |
| ], | |
| "targets": [ | |
| { "name": "Target 2", "x": 250, "y": 250, "collisionType": "alert", "collisiontext": "First Test" } | |
| ] | |
| } | |
| ], | |
| "actions": {} | |
| }, | |
| "Default": { | |
| "background": "backgrounds/1stGameLoc123.png", | |
| "inventory": [ | |
| { "type": "book", "name": "My Memories", "description": "Currently I dont remember when I start this journey...." }, | |
| { "type": "weapon", "name": "Sword", "description": "A sharp blade." }, | |
| { "type": "armor", "name": "Shield", "description": "Protects against attacks." }, | |
| { "type": "consumable", "name": "Health Potion", "description": "Restores health." } | |
| ], | |
| "skills": [ | |
| { "branch": "Combat", "name": "Basic Attack", "learned": false }, | |
| { "branch": "Magic", "name": "Fireball", "learned": false }, | |
| { "branch": "Stealth", "name": "Sneak", "learned": false } | |
| ], | |
| "persistentTargets": [], | |
| "story": [ | |
| { | |
| "part": 0, | |
| "objectives": [], | |
| "targets": [ | |
| { "name": "Target 1", "x": 50, "y": 50, "collisionType": "alert", "collisiontext": "First Test", | |
| "subtargets": [ | |
| { "name": "Target 1 sub 1", "x": 100, "y": 75, "collisionType": "alert", "collisiontext": "First Test in Sub of First Test" } | |
| ] | |
| }, | |
| { "name": "Target 2", "x": 100, "y": 100, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Target 2 - SM Demo", "x": 600, "y": 600, "collisionType": "smmodal", "modalStates": { | |
| "default": { | |
| "title": "Entrance", | |
| "content": "You've reached the Entrance. What's your next step?", | |
| "items": [ | |
| { "label": "Ask for guidance on next move", "action": "guidance" }, | |
| { "label": "Buy an Axe", "action": "buyAxe" } | |
| ], | |
| "consequences": [], | |
| "modalimg": "backgrounds/1stGameLoc123.png" | |
| }, | |
| "guidance": { | |
| "title": "Entrance - Guidance", | |
| "content": "The path to the north leads to the forest, and the path to the south leads to the village.", | |
| "items": [ | |
| { "label": "Head North", "action": "forest" }, | |
| { "label": "Return", "action": "default" } | |
| ], | |
| "consequences": [] | |
| }, | |
| "forest": { | |
| "title": "Forest", | |
| "content": "Went to the forest", | |
| "items": [], | |
| "consequences": ["gainleaf"] | |
| } | |
| }}, | |
| { "name": "Entrance", "x": 995, "y": 660, "collisionType": "modal", "modalConfig": { | |
| "title": "Entrance", | |
| "content": "You've reached the Entrance. What's your next step?", | |
| "actions": [ | |
| { "label": "Ask for guidance on next move", "action": "askforDirections" }, | |
| { "label": "Buy an Axe", "action": "buyAxeAlert" } | |
| ] | |
| }}, | |
| { "name": "Market Stall", "x": 200, "y": 300, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Inn Entrance", "x": 400, "y": 450, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Town Hall", "x": 600, "y": 350, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Fountain", "x": 500, "y": 500, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Bridge", "x": 1100, "y": 700, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Waterfall", "x": 1300, "y": 800, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Mountain Peak", "x": 1500, "y": 100, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Switch Test 1", "x": 700, "y": 700, "collisionType": "storypartchange", "collisiontext": "First Test", "transitionToPart": 1 } | |
| ] | |
| }, | |
| { | |
| "part": 1, | |
| "objectives": [], | |
| "targets": [ | |
| { "name": "Target 1", "x": 50, "y": 50, "collisionType": "alert", "collisiontext": "First Test" }, | |
| { "name": "Switch Back Test 1", "x": 600, "y": 400, "collisionType": "storypartchange", "collisiontext": "First Test", "transitionToPart": 0 } | |
| ] | |
| } | |
| ], | |
| "actions": {} | |
| }, | |
| "Space Odyssey": { | |
| "background": "backgrounds/SpaceOdysseyGameLoc.png", | |
| "inventory": [ | |
| { "type": "weapon", "name": "Laser Gun", "description": "A powerful laser weapon." }, | |
| { "type": "tool", "name": "Repair Kit", "description": "A kit for repairing various equipment." }, | |
| { "type": "tool", "name": "Mining Laser", "description": "A tool for extracting minerals from asteroids." } | |
| ], | |
| "skills": [ | |
| { "branch": "Piloting", "name": "Astro Navigation", "learned": false }, | |
| { "branch": "Engineering", "name": "Repair Mastery", "learned": false } | |
| ], | |
| "persistentTargets": [ | |
| { "name": "Space Station", "x": 200, "y": 300, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Alien Planet", "x": 940, "y": 460, "collisionType": "alert", "collisiontext": "You have arrived at an alien planet. The inhabitants seem cautious but willing to negotiate." }, | |
| { "name": "Abandoned Spaceship", "x": 460, "y": 570, "collisionType": "alert", "collisiontext": "You have discovered an abandoned spaceship of ancient origin." }, | |
| { "name": "Colony", "x": 640, "y": 500, "collisionType": "modal", "modalConfig": { | |
| "title": "Human Colony", | |
| "content": "You have reached the human colony. Rest and prepare for your upcoming missions.", | |
| "actions": [ | |
| { "label": "Request Mission Briefing", "action": "requestBriefing" }, | |
| { "label": "Purchase Upgrades", "action": "purchaseUpgrades" } | |
| ] | |
| }}, | |
| { "name": "Meteor Field", "x": 1100, "y": 470, "collisionType": "modal", "modalConfig": { | |
| "title": "Dangerous Meteor Field", | |
| "content": "You have entered a dense meteor field. Navigate carefully.", | |
| "actions": [ | |
| { "label": "Activate Shields", "action": "activateShields" }, | |
| { "label": "Scan for Rare Minerals", "action": "scanMinerals" } | |
| ] | |
| }} | |
| ], | |
| "story": [ | |
| { | |
| "part": 0, | |
| "objectives": [ | |
| { "id": 1, "name": "Dock at the Space Station", "complete": false, "progress": 0, "inventoryRequired": [] }, | |
| { "id": 2, "name": "Repair the Communication Array", "complete": false, "progress": 0, "inventoryRequired": ["Repair Kit"] } | |
| ], | |
| "targets": [ | |
| { "name": "Space Station Docking Bay", "x": 500, "y": 400, "collisionType": "alert", "collisiontext": "Welcome to the space station." }, | |
| { "name": "Communication Room", "x": 800, "y": 200, "collisionType": "alert", "collisiontext": "The communication array needs repair." }, | |
| { "name": "To Asteroid Field", "x": 900, "y": 100, "collisionType": "storypartchange", "transitionToPart": 1, "collisiontext": "Proceed to investigate the asteroid field." } | |
| ] | |
| }, | |
| { | |
| "part": 1, | |
| "objectives": [ | |
| { "id": 3, "name": "Collect Rare Asteroid Minerals", "complete": false, "progress": 0, "inventoryRequired": ["Mining Laser"] } | |
| ], | |
| "targets": [ | |
| { "name": "Asteroid Field", "x": 1200, "y": 300, "collisionType": "alert", "collisiontext": "Scan asteroids for rare minerals." }, | |
| { "name": "Alien Encounter", "x": 1250, "y": 350, "collisionType": "alert", "collisiontext": "An alien ship approaches." }, | |
| { "name": "To Alien Homeworld", "x": 1100, "y": 200, "collisionType": "storypartchange", "transitionToPart": 2, "collisiontext": "Travel to the alien homeworld." } | |
| ] | |
| }, | |
| { | |
| "part": 2, | |
| "objectives": [ | |
| { "id": 4, "name": "Negotiate Peace with the Aliens", "complete": false, "progress": 0, "inventoryRequired": [] }, | |
| { "id": 5, "name": "Gather Alien Artifacts", "complete": false, "progress": 0, "inventoryRequired": ["Artifact Scanner"] } | |
| ], | |
| "targets": [ | |
| { "name": "Alien Council Chamber", "x": 600, "y": 250, "collisionType": "modal", "modalConfig": { | |
| "title": "Alien Council Chamber", | |
| "content": "Present your case for peace.", | |
| "actions": [ | |
| { "label": "Present Peace Offer", "action": "presentPeaceOffer" }, | |
| { "label": "Listen to Alien Concerns", "action": "listenConcerns" } | |
| ] | |
| }}, | |
| { "name": "Alien Ruins", "x": 750, "y": 400, "collisionType": "alert", "collisiontext": "Ancient alien ruins discovered." }, | |
| { "name": "Return to Human Colony", "x": 800, "y": 150, "collisionType": "storypartchange", "transitionToPart": 3, "collisiontext": "Return to share findings." } | |
| ] | |
| } | |
| ], | |
| "actions": {} | |
| }, | |
| "Medieval Fantasy": { | |
| "background": "backgrounds/MedievalFantasyGameLoc.png", | |
| "inventory": [ | |
| { "type": "weapon", "name": "Longsword", "description": "A sturdy steel blade." } | |
| ], | |
| "skills": [ | |
| { "branch": "Piloting", "name": "Astro Navigation", "learned": false } | |
| ], | |
| "persistentTargets": [ | |
| { "name": "Market Stall", "x": 200, "y": 300, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Inn Entrance", "x": 400, "y": 450, "collisionType": "", "collisiontext": "" }, | |
| { "name": "Castle", "x": 940, "y": 460, "collisionType": "alert", "collisiontext": "The King summons you to find and release his champion." }, | |
| { "name": "Hidden Space", "x": 460, "y": 570, "collisionType": "alert", "collisiontext": "A hidden space. Nobody is here." }, | |
| { "name": "Home", "x": 640, "y": 500, "collisionType": "modal", "modalConfig": { | |
| "title": "Your Space", | |
| "content": "Rest and prepare for your tasks.", | |
| "actions": [ | |
| { "label": "Ask for guidance", "action": "askforDirections" }, | |
| { "label": "Buy an Axe", "action": "buyAxeAlert" } | |
| ] | |
| }}, | |
| { "name": "Marketplace", "x": 1100, "y": 470, "collisionType": "modal", "modalConfig": { | |
| "title": "Marketplace", | |
| "content": "A bustling marketplace.", | |
| "actions": [ | |
| { "label": "Ask for directions", "action": "askforDirections" }, | |
| { "label": "Buy an Axe", "action": "buyAxeAlert" }, | |
| { "label": "Ask about the knight", "action": "knightalert" } | |
| ] | |
| }}, | |
| { "name": "Mini Waterfall", "x": 500, "y": 640, "collisionType": "alert", "collisiontext": "A calming waterfall. There's a trail of water leading nearby." } | |
| ], | |
| "story": [ | |
| { | |
| "part": 0, | |
| "objectives": [ | |
| { "id": 1, "name": "Investigate the Disappearances", "complete": false, "progress": 0, "inventoryRequired": [] }, | |
| { "id": 6, "name": "Rescue the Captured Knight", "complete": false, "progress": 0, "inventoryRequired": ["Longsword"] } | |
| ], | |
| "targets": [ | |
| { "name": "Village Elder's House", "x": 500, "y": 400, "collisionType": "alert", "collisiontext": "The village needs your help investigating disappearances." }, | |
| { "name": "Mysterious Forest", "x": 800, "y": 200, "collisionType": "alert", "collisiontext": "An eerie silence envelops the forest." }, | |
| { "name": "To Goblin Bandits", "x": 900, "y": 100, "collisionType": "storypartchange", "transitionToPart": 1, "collisiontext": "Follow the tracks deeper into the forest." } | |
| ] | |
| }, | |
| { | |
| "part": 1, | |
| "objectives": [ | |
| { "id": 2, "name": "Defeat the Goblin Bandits", "complete": false, "progress": 0, "inventoryRequired": ["Longsword"] } | |
| ], | |
| "targets": [ | |
| { "name": "Bandit Camp", "x": 1200, "y": 300, "collisionType": "alert", "collisiontext": "Goblins attack! Prepare for battle!" }, | |
| { "name": "Prisoner Cages", "x": 1250, "y": 350, "collisionType": "alert", "collisiontext": "You free the villagers. They mention a sorcerer." }, | |
| { "name": "To Gather Information", "x": 1100, "y": 200, "collisionType": "storypartchange", "transitionToPart": 2, "collisiontext": "Gather information about the sorcerer." } | |
| ] | |
| } | |
| ], | |
| "actions": {} | |
| }, | |
| "Cyberpunk": { | |
| "background": "backgrounds/CyberpunkGameLoc.png", | |
| "inventory": [ | |
| { "type": "weapon", "name": "Plasma Rifle", "description": "A high-tech firearm with plasma rounds." }, | |
| { "type": "armor", "name": "NanoSuit", "description": "Protects with reactive nano technology." }, | |
| { "type": "consumable", "name": "Stim Pack", "description": "Enhances reflexes temporarily." } | |
| ], | |
| "skills": [ | |
| { "branch": "Hacking", "name": "Cyber Intrusion", "learned": false }, | |
| { "branch": "Combat", "name": "Gun Kata", "learned": false }, | |
| { "branch": "Stealth", "name": "Cloaking", "learned": false } | |
| ], | |
| "persistentTargets": [], | |
| "story": [ | |
| { | |
| "part": 0, | |
| "objectives": [], | |
| "targets": [ | |
| { "name": "Target 1", "x": 50, "y": 50, "collisionType": "alert", "collisiontext": "First Test" }, | |
| { "name": "MegaCorp Server", "x": 200, "y": 50, "collisionType": "alert", "collisiontext": "Corporate server detected" }, | |
| { "name": "City Police", "x": 50, "y": 250, "collisionType": "alert", "collisiontext": "Law enforcement nearby" }, | |
| { "name": "Rival Gang", "x": 550, "y": 550, "collisionType": "alert", "collisiontext": "Gang territory" } | |
| ] | |
| } | |
| ], | |
| "actions": {} | |
| }, | |
| "Super Teacher": { | |
| "background": "backgrounds/SuperTeacherGameLoc.png", | |
| "inventory": [ | |
| { "type": "book", "name": "Math Advice", "description": "Useful topical knowledge." }, | |
| { "type": "book", "name": "Science Advice", "description": "Useful topical knowledge." }, | |
| { "type": "book", "name": "English Advice", "description": "Useful topical knowledge." }, | |
| { "type": "book", "name": "Economics Advice", "description": "Useful topical knowledge." } | |
| ], | |
| "skills": [ | |
| { "branch": "Multitask", "name": "Movement Speed", "learned": false }, | |
| { "branch": "Multitask", "name": "Stop Window Interference for 1 min", "learned": false } | |
| ], | |
| "persistentTargets": [ | |
| { "name": "Super Teacher Toolkit", "x": 1000, "y": 330, "collisionType": "alert", "collisiontext": "Teaching tools available" } | |
| ], | |
| "story": [ | |
| { | |
| "part": 0, | |
| "objectives": [], | |
| "targets": [ | |
| { "name": "Random Noise Interference", "x": 250, "y": 110, "collisionType": "alert", "collisiontext": "Distraction detected" }, | |
| { "name": "Student 1", "x": 310, "y": 620, "collisionType": "alert", "collisiontext": "Needs help with English" }, | |
| { "name": "Student 2", "x": 660, "y": 610, "collisionType": "alert", "collisiontext": "Doesn't speak English" }, | |
| { "name": "Student 3", "x": 1010, "y": 620, "collisionType": "alert", "collisiontext": "Needs help with Math" } | |
| ] | |
| } | |
| ], | |
| "actions": {} | |
| }, | |
| "Fantasy Adventure": { | |
| "background": "backgrounds/eldoria_background.png", | |
| "inventory": [ | |
| { "type": "book", "name": "Book of Eldrak", "description": "An ancient tome with half a map." }, | |
| { "type": "amulet", "name": "Peculiar Amulet", "description": "Reveals the unseen." }, | |
| { "type": "map", "name": "Tattered Map", "description": "Hints at Whispering Woods locations." }, | |
| { "type": "artifact", "name": "Magical Acorn", "description": "Gift from the forest spirit." }, | |
| { "type": "relic", "name": "Shrine Relic", "description": "Enhances magical abilities." }, | |
| { "type": "record", "name": "Echoing Cave Echoes", "description": "Reveals secrets and hidden paths." } | |
| ], | |
| "skills": [ | |
| { "branch": "Combat", "name": "Sword Mastery", "learned": false }, | |
| { "branch": "Magic", "name": "Elemental Control", "learned": false }, | |
| { "branch": "Lore", "name": "Ancient Lore", "learned": true }, | |
| { "branch": "Stealth", "name": "Eavesdropping", "learned": true }, | |
| { "branch": "Stealth", "name": "Stealth Movement", "learned": true }, | |
| { "branch": "Diplomacy", "name": "Negotiation", "learned": true }, | |
| { "branch": "Magic", "name": "Artifact Mastery", "learned": true } | |
| ], | |
| "persistentTargets": [ | |
| { "name": "Lila's Home", "x": 460, "y": 600, "collisionType": "alert", "collisiontext": "A cozy cottage where the quest begins." }, | |
| { "name": "Eldoria Library", "x": 360, "y": 620, "collisionType": "alert", "collisiontext": "A treasure trove of books and maps." } | |
| ], | |
| "story": [ | |
| { | |
| "part": 0, | |
| "objectives": [], | |
| "targets": [ | |
| { "name": "Eldoria Main Square", "x": 410, "y": 590, "collisionType": "requirementsgated", "collisiontext": "The heart of Eldoria.", "requirements": 8 }, | |
| { "name": "Whispering Forest Edge", "x": 830, "y": 700, "collisionType": "alert", "collisiontext": "The mysterious forest borders Eldoria." }, | |
| { "name": "Serene Hills", "x": 520, "y": 490, "collisionType": "alert", "collisiontext": "Gentle hills promise adventure." }, | |
| { "name": "Marketplace", "x": 360, "y": 560, "collisionType": "alert", "collisiontext": "Rumors of ancient artifacts." }, | |
| { "name": "Eldoria", "x": 490, "y": 420, "collisionType": "storypartchange", "collisiontext": "Your journey begins.", "transitionToPart": 1 }, | |
| { "name": "Old Sage's Hut", "x": 600, "y": 480, "collisionType": "alert", "collisiontext": "Seek the sage's wisdom." } | |
| ] | |
| }, | |
| { | |
| "part": 1, | |
| "objectives": [], | |
| "targets": [ | |
| { "name": "Library of Eldrak", "x": 620, "y": 600, "collisionType": "alert", "collisiontext": "You discover the ancient Book of Eldrak." }, | |
| { "name": "Meridia Market", "x": 750, "y": 590, "collisionType": "alert", "collisiontext": "A peculiar amulet catches your eye." }, | |
| { "name": "Suspicious Place", "x": 810, "y": 530, "collisionType": "decision", "collisiontext": "Do you know why you came here?" }, | |
| { "name": "The Ancient Oak", "x": 300, "y": 130, "collisionType": "modal", "modalConfig": { | |
| "title": "The Ancient Oak Area", | |
| "content": "The Ancient Oak stands before you.", | |
| "actions": [ | |
| { "label": "Talk to the Ancient Oak", "action": "approachAncientOak" } | |
| ] | |
| }}, | |
| { "name": "Magical Acorn", "x": 400, "y": 140, "collisionType": "modal", "modalConfig": { | |
| "title": "Magical Acorn Area", | |
| "content": "A spirit appears as you approach the acorn.", | |
| "actions": [ | |
| { "label": "Talk to the spirit", "action": "acquireMagicalAcorn" } | |
| ] | |
| }} | |
| ] | |
| } | |
| ], | |
| "actions": {} | |
| }, | |
| "Construction": { | |
| "background": "backgrounds/ConstructionGameLoc.png", | |
| "inventory": [ | |
| { "type": "tool", "name": "Hammer", "description": "A sturdy hammer for construction." }, | |
| { "type": "tool", "name": "Screwdriver", "description": "For fastening screws." }, | |
| { "type": "equipment", "name": "Safety Helmet", "description": "Protects from falling objects." }, | |
| { "type": "equipment", "name": "Safety Vest", "description": "High-visibility vest." }, | |
| { "type": "consumable", "name": "Energy Bar", "description": "Provides energy." } | |
| ], | |
| "skills": [ | |
| { "branch": "Construction", "name": "Electrical Wiring", "learned": true }, | |
| { "branch": "Construction", "name": "Concrete Pouring", "learned": true }, | |
| { "branch": "Safety", "name": "Fall Protection", "learned": false }, | |
| { "branch": "Safety", "name": "Hazard Recognition", "learned": true }, | |
| { "branch": "Equipment Operation", "name": "Forklift Certification", "learned": false } | |
| ], | |
| "persistentTargets": [ | |
| { "name": "Blueprints", "x": 300, "y": 670, "collisionType": "alert", "collisiontext": "Consult the blueprints." }, | |
| { "name": "Water Cooler", "x": 490, "y": 650, "collisionType": "alert", "collisiontext": "Take a break and hydrate." } | |
| ], | |
| "story": [ | |
| { | |
| "part": 0, | |
| "objectives": [ | |
| { "id": "Objective1_1", "name": "Attend Morning Briefing", "complete": false }, | |
| { "id": "Objective1_2", "name": "Gather Required Tools", "complete": false } | |
| ], | |
| "targets": [ | |
| { "name": "Construction Site", "x": 470, "y": 310, "collisionType": "alert", "collisiontext": "You arrive at the construction site." }, | |
| { "name": "Foreman's Office", "x": 1270, "y": 690, "collisionType": "alert", "collisiontext": "Morning briefing with the foreman." }, | |
| { "name": "Tool Shed", "x": 430, "y": 540, "collisionType": "alert", "collisiontext": "Gather your tools." }, | |
| { "name": "Continue Construction", "x": 1100, "y": 520, "collisionType": "storypartchange", "transitionToPart": 1, "collisiontext": "Continue to tasks." } | |
| ] | |
| }, | |
| { | |
| "part": 1, | |
| "objectives": [ | |
| { "id": "Objective2_1", "name": "Install Electrical Wiring", "complete": false }, | |
| { "id": "Objective2_2", "name": "Assist with Concrete Pouring", "complete": false }, | |
| { "id": "Objective2_3", "name": "Attend Safety Training", "complete": false } | |
| ], | |
| "targets": [ | |
| { "name": "Electrical Room", "x": 37, "y": 13, "collisionType": "alert", "collisiontext": "Install electrical wiring." }, | |
| { "name": "Foundation Area", "x": 370, "y": 50, "collisionType": "alert", "collisiontext": "Pour concrete for the foundation." }, | |
| { "name": "Safety Meeting Point", "x": 530, "y": 160, "collisionType": "alert", "collisiontext": "Safety training session." }, | |
| { "name": "Lunch Break Area", "x": 820, "y": 540, "collisionType": "alert", "collisiontext": "Lunch break time." } | |
| ] | |
| }, | |
| { | |
| "part": 2, | |
| "objectives": [ | |
| { "id": "Objective3_1", "name": "Inspect Completed Work", "complete": false }, | |
| { "id": "Objective3_2", "name": "Clean Up and Secure Site", "complete": false } | |
| ], | |
| "targets": [ | |
| { "name": "Inspection Point", "x": 90, "y": 600, "collisionType": "alert", "collisiontext": "Inspect your work." }, | |
| { "name": "Equipment Storage", "x": 220, "y": 800, "collisionType": "alert", "collisiontext": "Store your equipment." }, | |
| { "name": "Site Exit", "x": 900, "y": 900, "collisionType": "alert", "collisiontext": "End of day. Good work!" } | |
| ] | |
| } | |
| ], | |
| "actions": {} | |
| } | |
| } | |
| } | |