codecombat/test/app/views/play/level/modal/CourseVictoryModal.fixtures.coffee
2016-01-25 13:03:29 -08:00

1477 lines
No EOL
39 KiB
CoffeeScript

module.exports = {
achievements: [
{
"_id": "541a23431ccc8eaae19f3bf6",
"slug": "gems-in-the-deep-completed",
"related": "54173c90844506ae0195a0b4",
"userField": "creator",
"description": "You completed Gems in the Deep.",
"collection": "level.sessions",
"query": {
"state.complete": true,
"level.original": "54173c90844506ae0195a0b4"
},
"name": "Gems in the Deep Completed",
"__v": 32,
"rewards": {
"levels": [
"54174347844506ae0195a0b8"
],
"gems": 18
# "items":[
# "53e4108204c00d4607a89f78"
# ]
},
"worth": 11,
"i18n": {},
"i18nCoverage": [],
"patches": []
},
{
"_id": "5452e14006a59e000067e501",
"slug": "gems-in-the-deep-clean-code",
"i18nCoverage": [],
"i18n": {},
"related": "54173c90844506ae0195a0b4",
"userField": "creator",
"description": "Clean code: no code errors or warnings.",
"collection": "level.sessions",
"query": {
"level.original": "54173c90844506ae0195a0b4",
"state.goalStates.clean-code.status": "success",
"state.complete": true
},
"name": "Gems in the Deep Clean Code",
"__v": 29,
"rewards": {
"gems": 9
},
"worth": 5,
"patches": []
}
]
campaign: {
"_id": "55b29efd1cd6abe8ce07db0d",
"slug": "intro",
"name": "Intro",
"watchers": [
"512ef4805a67a8c507000001"
],
"__v": 30,
"adjacentCampaigns": {
"549f0801e21e041139ef28c8": {
"name": "Forest",
"slug": "forest",
"position": {
"x": 94.5,
"y": 7
},
"rotation": -35,
"color": "purple",
"showIfUnlocked": "541b67f71ccc8eaae19f3c62",
"i18n": {}
}
},
"ambientSound": {
"mp3": "db/campaign/549f07f7e21e041139ef28c7/ambient-dungeon.mp3",
"ogg": "db/campaign/549f07f7e21e041139ef28c7/ambient-dungeon.ogg"
},
"backgroundColor": "rgba(68, 54, 45, 1)",
"backgroundColorTransparent": "rgba(68, 54, 45, 0)",
"backgroundImage": [
{
"image": "db/campaign/549f07f7e21e041139ef28c7/map_dungeon_1920.jpg",
"width": 1920
},
{
"image": "db/campaign/549f07f7e21e041139ef28c7/map_dungeon_1366.jpg",
"width": 1366
}
],
"description": "1 hour: syntax, methods, parameters, strings, loops, variables",
"fullName": "Introduction to Computer Science",
"i18n": {},
"i18nCoverage": [],
"levels": {
"5411cb3769152f1707be029c": {
"campaignIndex": 0,
"rewards": [
{
"achievement": "541a198a1ccc8eaae19f3be4",
"level": "54173c90844506ae0195a0b4"
},
{
"achievement": "541a198a1ccc8eaae19f3be4",
"level": "55525bcaaf92058705a94c02"
}
],
"name": "Dungeons of Kithgard",
"description": "Grab the gem, but touch nothing else. In this level you'll learn basic movement for your hero.",
"i18n": {},
"type": "hero",
"slug": "dungeons-of-kithgard",
"original": "5411cb3769152f1707be029c",
"disableSpaces": 3,
"hidesSubmitUntilRun": true,
"hidesPlayButton": true,
"hidesRunShortcut": true,
"hidesHUD": true,
"hidesSay": true,
"hidesCodeToolbar": true,
"hidesRealTimePlayback": true,
"backspaceThrottle": true,
"lockDefaultCode": false,
"autocompleteFontSizePx": 20,
"requiredCode": [
"moveRight"
],
"requiredGear": {},
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07"
]
},
"campaign": "dungeon",
"tasks": [],
"concepts": [
"basic_syntax"
],
"position": {
"x": 19.209888199437682,
"y": 12.51725346209055
}
},
"54173c90844506ae0195a0b4": {
"position": {
"y": 12.117739757859558,
"x": 28.059445721561577
},
"concepts": [
"basic_syntax"
],
"tasks": [],
"campaign": "dungeon",
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07"
]
},
"requiredGear": {},
"autocompleteFontSizePx": 20,
"lockDefaultCode": false,
"backspaceThrottle": true,
"hidesRealTimePlayback": true,
"hidesCodeToolbar": true,
"hidesSay": true,
"hidesHUD": true,
"hidesRunShortcut": true,
"hidesPlayButton": true,
"hidesSubmitUntilRun": true,
"disableSpaces": 4,
"original": "54173c90844506ae0195a0b4",
"slug": "gems-in-the-deep",
"type": "hero",
"i18n": {},
"description": "Quickly collect the gems; you will need them.",
"name": "Gems in the Deep",
"rewards": [
{
"achievement": "541a23431ccc8eaae19f3bf6",
"level": "54174347844506ae0195a0b8"
}
],
"campaignIndex": 1
},
"54174347844506ae0195a0b8": {
"campaignIndex": 2,
"rewards": [
{
"achievement": "54253cfb5d84cd00002e7f62",
"level": "544a98f62d002f0000fe331a"
},
{
"achievement": "54253cfb5d84cd00002e7f62",
"level": "54cfc6e2d06e8152051eb8a4"
}
],
"name": "Shadow Guard",
"description": "Evade the ogre.",
"i18n": {},
"type": "hero",
"slug": "shadow-guard",
"original": "54174347844506ae0195a0b8",
"disableSpaces": 4,
"hidesSubmitUntilRun": true,
"hidesPlayButton": true,
"hidesRunShortcut": true,
"hidesHUD": true,
"hidesSay": true,
"hidesCodeToolbar": true,
"hidesRealTimePlayback": true,
"backspaceThrottle": true,
"lockDefaultCode": false,
"autocompleteFontSizePx": 20,
"requiredGear": {},
"restrictedGear": {
"right-hand": [
"53e218d853457600003e3ebe"
],
"feet": [
"53e2384453457600003e3f07"
]
},
"campaign": "dungeon",
"tasks": [],
"concepts": [
"basic_syntax"
],
"position": {
"x": 33.762835987432396,
"y": 11.364727709666788
}
},
"54ca592de4983255055a5478": {
"concepts": [
"basic_syntax",
"arguments"
],
"tasks": [],
"campaign": "dungeon",
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07",
"546d4d259df4a17d0d449ac5",
"546d4d589df4a17d0d449ac9"
],
"right-hand": [
"53e218d853457600003e3ebe",
"544d7d918494308424f564a7",
"544d7deb8494308424f564ab",
"544d7ffd8494308424f564c3",
"544d80598494308424f564c7",
"544d80928494308424f564cb",
"544d87188494308424f564f1",
"544d874f8494308424f564f5",
"544d877d8494308424f564f9"
],
"programming-book": [
"53e4108204c00d4607a89f78"
]
},
"requiredGear": {},
"autocompleteFontSizePx": 20,
"lockDefaultCode": false,
"backspaceThrottle": true,
"hidesRealTimePlayback": true,
"hidesCodeToolbar": true,
"hidesSay": true,
"hidesHUD": true,
"hidesRunShortcut": true,
"hidesPlayButton": true,
"adminOnly": false,
"practice": true,
"adventurer": false,
"original": "54ca592de4983255055a5478",
"slug": "enemy-mine",
"type": "hero",
"requiresSubscription": true,
"i18n": {},
"description": "Tread carefully, danger is afoot!",
"name": "Enemy Mine",
"rewards": [
{
"achievement": "54caa165fcf7f1540532890b",
"level": "54caa542e1bd9a4f054648b0"
}
],
"campaignIndex": 3,
"position": {
"x": 40.39966204407879,
"y": 11.364727709666788
}
},
"541875da4c16460000ab990f": {
"campaignIndex": 4,
"rewards": [
{
"achievement": "541b15561ccc8eaae19f3c07",
"level": "5418aec24c16460000ab9aa6"
},
{
"achievement": "541b15561ccc8eaae19f3c07",
"level": "54527a6257e83800009730c7"
},
{
"achievement": "541b15561ccc8eaae19f3c07",
"level": "5452972f57e83800009730de"
}
],
"name": "True Names",
"description": "Learn an enemy's true name to defeat it.",
"i18n": {},
"type": "hero",
"slug": "true-names",
"original": "541875da4c16460000ab990f",
"disableSpaces": 6,
"hidesPlayButton": true,
"hidesRunShortcut": true,
"hidesHUD": true,
"hidesSay": true,
"hidesCodeToolbar": true,
"hidesRealTimePlayback": true,
"backspaceThrottle": true,
"lockDefaultCode": false,
"autocompleteFontSizePx": 20,
"requiredCode": [
"Brak"
],
"requiredGear": {},
"restrictedGear": {
"programming-book": [
"53e4108204c00d4607a89f78"
],
"feet": [
"53e2384453457600003e3f07"
]
},
"campaign": "dungeon",
"tasks": [],
"concepts": [
"basic_syntax",
"strings"
],
"position": {
"x": 47.92144985442785,
"y": 10.462675898908136
}
},
"55ca293b9bc1892c835b0136": {
"position": {
"x": 53.50629543094496,
"y": 11.712539745627982
},
"concepts": [
"basic_syntax",
"while_loops"
],
"tasks": [],
"campaign": "dungeon",
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07",
"546d4d8e9df4a17d0d449acd",
"546d4d589df4a17d0d449ac9",
"546d4d259df4a17d0d449ac5"
]
},
"requiredGear": {},
"autocompleteFontSizePx": 20,
"moveRightLoopSnippet": true,
"lockDefaultCode": false,
"backspaceThrottle": true,
"hidesRealTimePlayback": true,
"hidesCodeToolbar": true,
"hidesSay": true,
"hidesHUD": true,
"hidesRunShortcut": true,
"original": "55ca293b9bc1892c835b0136",
"slug": "fire-dancing",
"type": "hero",
"i18n": {},
"description": "Save typing (and your hero) with loops!",
"name": "Fire Dancing",
"rewards": [
{
"achievement": "55ca43609bc1892c835b0144",
"level": "565ce2291b940587057366dd"
}
],
"campaignIndex": 5,
"suspectCode": [
{
"name": "double-while",
"pattern": "while(.|\\n|\\r)*while"
}
]
},
"565ce2291b940587057366dd": {
"campaignIndex": 6,
"rewards": [
{
"achievement": "565f86219a120c86055496b3",
"level": "545a5914d820eb0000f6dc0a"
}
],
"name": "Loop Da Loop",
"description": "Loops are a life saver!",
"i18n": {},
"type": "hero",
"slug": "loop-da-loop",
"original": "565ce2291b940587057366dd",
"adventurer": true,
"hidesRunShortcut": true,
"hidesHUD": true,
"hidesSay": true,
"hidesCodeToolbar": true,
"hidesRealTimePlayback": true,
"backspaceThrottle": true,
"autocompleteFontSizePx": 20,
"requiredGear": {},
"campaign": "dungeon",
"tasks": [],
"concepts": [
"basic_syntax",
"while_loops"
],
"position": {
"x": 60.674649532710276,
"y": 11.953497615262322
}
},
"545a5914d820eb0000f6dc0a": {
"campaignIndex": 7,
"rewards": [
{
"achievement": "545a6d67d820eb0000f6dc21",
"level": "5452a84d57e83800009730e4"
},
{
"achievement": "545a6d67d820eb0000f6dc21",
"level": "5418cf256bae62f707c7e1c3"
}
],
"name": "Haunted Kithmaze",
"description": "A maze constructed to confuse travelers.",
"i18n": {},
"type": "hero",
"slug": "haunted-kithmaze",
"original": "545a5914d820eb0000f6dc0a",
"hidesRunShortcut": true,
"hidesHUD": true,
"hidesSay": true,
"hidesCodeToolbar": true,
"hidesRealTimePlayback": true,
"backspaceThrottle": true,
"lockDefaultCode": false,
"moveRightLoopSnippet": true,
"autocompleteFontSizePx": 20,
"requiredCode": [
"loop"
],
"requiredGear": {},
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07"
]
},
"campaign": "dungeon",
"tasks": [],
"concepts": [
"basic_syntax",
"while_loops"
],
"position": {
"x": 66.94834061194076,
"y": 11.215687947100905
}
},
"5418cf256bae62f707c7e1c3": {
"concepts": [
"basic_syntax",
"while_loops"
],
"tasks": [],
"campaign": "dungeon",
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07"
]
},
"requiredGear": {},
"autocompleteFontSizePx": 20,
"moveRightLoopSnippet": true,
"lockDefaultCode": false,
"backspaceThrottle": true,
"hidesRealTimePlayback": true,
"hidesCodeToolbar": true,
"hidesSay": true,
"hidesHUD": true,
"original": "5418cf256bae62f707c7e1c3",
"slug": "the-second-kithmaze",
"type": "hero",
"i18n": {},
"description": "Many have tried, few have found their way through this maze.",
"name": "The Second Kithmaze",
"rewards": [
{
"achievement": "54253d5c5d84cd00002e7f63",
"level": "5418d40f4c16460000ab9ac2"
},
{
"achievement": "54253d5c5d84cd00002e7f63",
"item": "5441c2be4e9aeb727cc97105"
}
],
"campaignIndex": 8,
"position": {
"x": 80.63272271770526,
"y": 12.770871081984192
}
},
"5418d40f4c16460000ab9ac2": {
"campaignIndex": 9,
"rewards": [
{
"achievement": "541b22b21ccc8eaae19f3c19",
"level": "5452adea57e83800009730ee"
},
{
"achievement": "541b22b21ccc8eaae19f3c19",
"level": "54e0cdefe308cb510555a7f5"
}
],
"name": "Dread Door",
"description": "Behind a dread door lies a chest full of riches.",
"i18n": {},
"type": "hero",
"slug": "dread-door",
"original": "5418d40f4c16460000ab9ac2",
"hidesHUD": true,
"hidesSay": true,
"hidesCodeToolbar": true,
"hidesRealTimePlayback": true,
"backspaceThrottle": true,
"lockDefaultCode": 9,
"autocompleteFontSizePx": 20,
"requiredGear": {},
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07"
],
"right-hand": [
"53f4e6e3d822c23505b74f42",
"54694ba3a2b1f53ce794444d"
]
},
"campaign": "dungeon",
"tasks": [],
"concepts": [
"basic_syntax",
"while_loops",
"strings"
],
"position": {
"x": 88.25112251874386,
"y": 19.244678910956324
}
},
"54e0cdefe308cb510555a7f5": {
"position": {
"y": 26.728260086243417,
"x": 81.15679685579524
},
"campaignIndex": 10,
"rewards": [
{
"achievement": "54e2ab6e0f6efa5005600737",
"level": "54e8e4047578d754057f852b"
}
],
"name": "Cupboards of Kithgard",
"description": "Who knows what horrors lurk in the Cupboards of Kithgard?",
"i18n": {},
"requiresSubscription": true,
"type": "hero",
"slug": "cupboards-of-kithgard",
"original": "54e0cdefe308cb510555a7f5",
"adventurer": false,
"adminOnly": false,
"hidesHUD": true,
"hidesSay": true,
"hidesCodeToolbar": true,
"hidesRealTimePlayback": true,
"backspaceThrottle": true,
"lockDefaultCode": false,
"autocompleteFontSizePx": 20,
"requiredGear": {},
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07",
"546d4d8e9df4a17d0d449acd",
"546d4d589df4a17d0d449ac9",
"546d4d259df4a17d0d449ac5"
]
},
"campaign": "dungeon",
"tasks": [],
"concepts": [
"basic_syntax",
"while_loops",
"strings"
]
},
"54f0e074a375e47f055d619c": {
"position": {
"y": 30.34167921686747,
"x": 73.73231720900935
},
"concepts": [
"basic_syntax",
"while_loops",
"strings"
],
"tasks": [],
"campaign": "dungeon",
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07",
"546d4d8e9df4a17d0d449acd",
"546d4d589df4a17d0d449ac9",
"546d4d259df4a17d0d449ac5"
]
},
"requiredGear": {},
"autocompleteFontSizePx": 20,
"lockDefaultCode": false,
"backspaceThrottle": true,
"hidesRealTimePlayback": true,
"hidesCodeToolbar": true,
"hidesSay": true,
"hidesHUD": true,
"adminOnly": false,
"adventurer": false,
"original": "54f0e074a375e47f055d619c",
"slug": "breakout",
"type": "hero",
"requiresSubscription": true,
"i18n": {},
"description": "Munchkins are chasing you, and the way ahead is blocked!",
"name": "Breakout",
"rewards": [],
"campaignIndex": 11
},
"5452adea57e83800009730ee": {
"campaignIndex": 12,
"rewards": [
{
"achievement": "5452bb6757e83800009730f4",
"item": "53e238df53457600003e3f0b"
},
{
"achievement": "5452bb6757e83800009730f4",
"level": "5452c3ce57e83800009730f7"
}
],
"name": "Known Enemy",
"description": "Using your first variable to achieve victory.",
"i18n": {},
"type": "hero",
"slug": "known-enemy",
"original": "5452adea57e83800009730ee",
"hidesHUD": true,
"hidesSay": true,
"hidesCodeToolbar": true,
"hidesRealTimePlayback": true,
"backspaceThrottle": true,
"lockDefaultCode": false,
"autocompleteFontSizePx": 20,
"suspectCode": [
{
"name": "enemy-in-quotes",
"pattern": "['\"]enemy"
}
],
"requiredGear": {},
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07"
]
},
"campaign": "dungeon",
"tasks": [],
"concepts": [
"variables",
"basic_syntax",
"strings"
],
"position": {
"x": 69.65270816049042,
"y": 25.67195662532944
}
},
"5452c3ce57e83800009730f7": {
"position": {
"y": 26.387842017483997,
"x": 56.47568004086775
},
"concepts": [
"basic_syntax",
"variables"
],
"tasks": [],
"campaign": "dungeon",
"restrictedGear": {
"feet": [
"53e2384453457600003e3f07"
]
},
"requiredGear": {},
"suspectCode": [
{
"name": "lone-find-nearest-enemy",
"pattern": "^[ ]*(self|this|@)?[:.]?findNearestEnemy()"
}
],
"requiredCode": [
"findNearestEnemy"
],
"autocompleteFontSizePx": 20,
"lockDefaultCode": false,
"backspaceThrottle": true,
"hidesRealTimePlayback": true,
"hidesCodeToolbar": true,
"hidesSay": true,
"hidesHUD": true,
"original": "5452c3ce57e83800009730f7",
"slug": "master-of-names",
"type": "hero",
"i18n": {},
"description": "Use your new coding powers to target nameless enemies.",
"name": "Master of Names",
"rewards": [
{
"achievement": "5452e88a06a59e000067e50e",
"level": "541b24511ccc8eaae19f3c1f"
}
],
"campaignIndex": 13
},
"55ca29439bc1892c835b0137": {
"campaignIndex": 14,
"rewards": [
{
"achievement": "55ca45629bc1892c835b014c",
"level": "541b434e1ccc8eaae19f3c33"
}
],
"name": "A Mayhem of Munchkins",
"description": "Survive a neverending stream of ogres with mentorship from two experienced heroes!",
"i18n": {},
"type": "hero",
"slug": "a-mayhem-of-munchkins",
"original": "55ca29439bc1892c835b0137",
"hidesHUD": true,
"hidesSay": true,
"hidesCodeToolbar": true,
"hidesRealTimePlayback": true,
"backspaceThrottle": true,
"lockDefaultCode": false,
"autocompleteFontSizePx": 20,
"suspectCode": [
{
"name": "lone-find-nearest-enemy",
"pattern": "^[ ]*(self|this|@)?[:.]?findNearestEnemy()"
}
],
"requiredGear": {},
"campaign": "dungeon",
"tasks": [],
"concepts": [
"basic_syntax",
"variables",
"arguments",
"while_loops"
],
"position": {
"x": 61.29479872441925,
"y": 34.55907063311842
}
},
"5452d8b906a59e000067e4fa": {
"position": {
"y": 40.53034954760448,
"x": 68.66942399136555
},
"concepts": [
"basic_syntax",
"variables",
"while_loops"
],
"tasks": [],
"campaign": "dungeon",
"restrictedGear": {
"right-hand": [
"53f4e6e3d822c23505b74f42"
],
"feet": [
"53e2384453457600003e3f07"
]
},
"requiredGear": {},
"suspectCode": [
{
"name": "lone-find-nearest-enemy",
"pattern": "^[ ]*(self|this|@)?[:.]?findNearestEnemy()"
}
],
"autocompleteFontSizePx": 20,
"lockDefaultCode": false,
"backspaceThrottle": true,
"hidesRealTimePlayback": true,
"hidesCodeToolbar": true,
"hidesSay": true,
"hidesHUD": true,
"practice": true,
"original": "5452d8b906a59e000067e4fa",
"slug": "the-gauntlet",
"type": "hero",
"requiresSubscription": true,
"i18n": {},
"description": "Use all of your skills to survive the gauntlet.",
"name": "The Gauntlet",
"rewards": [
{
"achievement": "5452db0106a59e000067e4fc",
"level": "54d24c49bf87255405a8f834"
}
],
"campaignIndex": 15
},
"541b434e1ccc8eaae19f3c33": {
"campaignIndex": 16,
"rewards": [
{
"achievement": "54253e065d84cd00002e7f65",
"level": "541c9a30c6362edfb0f34479"
},
{
"achievement": "54253e065d84cd00002e7f65",
"level": "5452d8b906a59e000067e4fa"
},
{
"achievement": "54253e065d84cd00002e7f65",
"item": "53f4e6e3d822c23505b74f42"
}
],
"name": "The Final Kithmaze",
"description": "To escape you must find your way through an elder Kithman's maze.",
"i18n": {},
"type": "hero",
"slug": "the-final-kithmaze",
"original": "541b434e1ccc8eaae19f3c33",
"hidesHUD": true,
"hidesSay": true,
"hidesCodeToolbar": true,
"hidesRealTimePlayback": true,
"backspaceThrottle": true,
"lockDefaultCode": false,
"autocompleteFontSizePx": 20,
"suspectCode": [
{
"name": "lone-find-nearest-enemy",
"pattern": "^[ ]*(self|this|@)?[:.]?findNearestEnemy()"
}
],
"requiredGear": {},
"campaign": "dungeon",
"tasks": [],
"concepts": [
"basic_syntax",
"while_loops",
"variables"
],
"position": {
"x": 74.56912900611479,
"y": 46.45561310182135
}
},
"541c9a30c6362edfb0f34479": {
"position": {
"y": 54.939545780779376,
"x": 80.71431897968904
},
"concepts": [
"basic_syntax",
"arguments",
"strings"
],
"tasks": [],
"campaign": "dungeon",
"restrictedGear": {},
"requiredGear": {},
"autocompleteFontSizePx": 20,
"lockDefaultCode": false,
"backspaceThrottle": true,
"hidesRealTimePlayback": true,
"hidesCodeToolbar": true,
"hidesSay": true,
"original": "541c9a30c6362edfb0f34479",
"slug": "kithgard-gates",
"type": "hero",
"i18n": {},
"description": "Escape the Kithgard dungeons, and don't let the guardians get you.",
"name": "Kithgard Gates",
"rewards": [
{
"achievement": "541c9cf0c6362edfb0f3447a",
"level": "541b67f71ccc8eaae19f3c62"
},
{
"achievement": "541c9cf0c6362edfb0f3447a",
"level": "5578843e5cda3d8905654190"
}
],
"campaignIndex": 17
},
"5630eab0c0fcbd86057cc2f8": {
"hidesRealTimePlayback": true,
"rewards": [],
"name": "Wakka Maul",
"description": "![Nov17 wakka maul](/file/db/level/5630eab0c0fcbd86057cc2f8/NOV17-Wakka Maul.png)\n\nBattle your classmates while gobbling up gems! Use your programming skills and creative thinking to gain an edge over your friends.",
"i18n": {},
"type": "course-ladder",
"slug": "wakka-maul",
"original": "5630eab0c0fcbd86057cc2f8",
"hidesCodeToolbar": true,
"backspaceThrottle": true,
"autocompleteFontSizePx": 20,
"campaign": "intro",
"tasks": [],
"concepts": [
"basic_syntax",
"algorithms",
"arguments",
"strings",
"while_loops"
],
"position": {
"x": 17.481313926042485,
"y": 78.3938778580024
},
"campaignIndex": 18,
"requiredGear": {}
}
},
"patches": [],
"type": "course"
}
course: {
"_id": "560f1a9f22961295f9427742",
"name": "Introduction to Computer Science",
"slug": "introduction-to-computer-science",
"campaignID": "55b29efd1cd6abe8ce07db0d",
"concepts": [
"basic_syntax",
"arguments",
"strings",
"while_loops",
"variables"
],
"description": "Learn basic syntax, while loops, and the CodeCombat environment.",
"duration": 1,
"pricePerSeat": 0,
"free": true,
"screenshot": "/images/pages/courses/101_info.png"
}
courseInstanceSessions: [
{
"_id": "542c78d49ba93600003ee6d3",
"changed": "2016-01-11T18:45:07.927Z",
"level": {
"original": "5411cb3769152f1707be029c"
},
"state": {
"complete": true
},
"playtime": 1609
},
{
"_id": "54380da36e7af40021bf5155",
"changed": "2016-01-11T23:33:09.763Z",
"level": {
"original": "54173c90844506ae0195a0b4"
},
"state": {
"complete": true
},
"playtime": 724
},
{
"_id": "542ef2c480d9aa104e81272f",
"changed": "2016-01-11T18:48:40.722Z",
"level": {
"original": "54174347844506ae0195a0b8"
},
"state": {
"complete": true
},
"playtime": 409
},
{
"_id": "542edae22d8c150000019128",
"changed": "2016-01-11T18:31:36.932Z",
"level": {
"original": "541875da4c16460000ab990f"
},
"state": {
"complete": true
},
"playtime": 1659
},
{
"_id": "543c3dd43eb2580000d33045",
"changed": "2015-11-19T17:56:04.522Z",
"level": {
"original": "5418cf256bae62f707c7e1c3"
},
"state": {
"complete": true
},
"playtime": 93
},
{
"_id": "542ecadc2d8c150000019125",
"changed": "2015-11-29T19:23:11.133Z",
"level": {
"original": "5418d40f4c16460000ab9ac2"
},
"state": {
"complete": true
},
"playtime": 117
},
{
"_id": "5463e15d6f4cc40000b14f3a",
"changed": "2015-11-29T19:28:33.799Z",
"level": {
"original": "541b434e1ccc8eaae19f3c33"
},
"state": {
"complete": true
},
"playtime": 59
},
{
"_id": "547e0c62e19f8e58056bf872",
"changed": "2015-11-29T19:29:18.715Z",
"level": {
"original": "541c9a30c6362edfb0f34479"
},
"state": {
"complete": true
},
"playtime": 42
},
{
"_id": "545ae2504425d30000ee7db6",
"changed": "2015-11-29T19:25:47.361Z",
"level": {
"original": "5452adea57e83800009730ee"
},
"state": {
"complete": true
},
"playtime": 1259
},
{
"_id": "565b513dd458ab9219b9527b",
"changed": "2015-11-29T19:26:19.521Z",
"level": {
"original": "5452c3ce57e83800009730f7"
},
"state": {
"complete": true
},
"playtime": 29
},
{
"_id": "565b5188d458ab9219b9528a",
"changed": "2015-12-27T23:34:21.144Z",
"level": {
"original": "5452d8b906a59e000067e4fa"
},
"state": {
"complete": true
},
"playtime": 26
},
{
"_id": "546badf73470fc1104015f50",
"changed": "2015-11-29T19:48:44.660Z",
"level": {
"original": "545a5914d820eb0000f6dc0a"
},
"state": {
"complete": true
},
"playtime": 57
},
{
"_id": "55dfd5d592e9cfb607cabc2c",
"changed": "2015-12-03T20:06:32.309Z",
"level": {
"original": "54ca592de4983255055a5478"
},
"state": {
"complete": true
},
"playtime": 42
},
{
"_id": "565b50a4d458ab9219b95260",
"changed": "2015-11-29T19:23:52.221Z",
"level": {
"original": "54e0cdefe308cb510555a7f5"
},
"state": {
"complete": true
},
"playtime": 34
},
{
"_id": "565b50cad458ab9219b9526c",
"changed": "2015-11-29T19:25:23.814Z",
"level": {
"original": "54f0e074a375e47f055d619c"
},
"state": {
"complete": true
},
"playtime": 88
},
{
"_id": "55f4570530825985054b0260",
"changed": "2015-11-29T19:48:39.224Z",
"level": {
"original": "55ca293b9bc1892c835b0136"
},
"state": {
"complete": true
},
"playtime": 207
},
{
"_id": "565b515dd458ab9219b95282",
"changed": "2015-12-27T23:38:34.709Z",
"level": {
"original": "55ca29439bc1892c835b0137"
},
"state": {
"complete": true
},
"playtime": 113
}
]
earnedAchievements: [
{
"collection": "level.sessions",
"triggeredBy": "54380da36e7af40021bf5155",
"achievement": "541a23431ccc8eaae19f3bf6",
"_id": "543c21473eb2580000d3303c",
"user": "5162fab9c92b4c751e000274",
"achievementName": "Gems in the Deep Completed",
"earnedRewarsd": {
"gems": 5,
"levels": [
"54174347844506ae0195a0b8"
]
},
"earnedPoints": 11,
"changed": "2015-04-02T21:18:27.994Z",
"created": "2014-10-13T19:00:23.833Z",
"__v": 0,
"earnedRewards": {
"gems": 18,
"levels": [
"54174347844506ae0195a0b8"
]
"items":[
"53e4108204c00d4607a89f78"
]
},
"notified": true
},
{
"collection": "level.sessions",
"triggeredBy": "54380da36e7af40021bf5155",
"achievement": "5452e14006a59e000067e501",
"_id": "5453164e60cfd0188a82a52d",
"user": "5162fab9c92b4c751e000274",
"earnedRewards": {
"gems": 9
},
"earnedPoints": 5,
"achievementName": "Gems in the Deep Clean Code",
"changed": "2015-04-02T21:18:38.200Z",
"notified": true
}
]
level: {
"_id": "568d3143b38ab75c00c2a4e5",
"slug": "gems-in-the-deep",
"name": "Gems in the Deep",
"creator": "568d15a28d909b2500464181",
"original": "54173c90844506ae0195a0b4",
"watchers": [
],
"__v": 0,
"thangs": [],
"systems": [],
"goals": [],
"commitMessage": "",
"parent": "56898f85450ac83600d8c945",
"scripts": [],
"type": "hero",
"description": "Quickly collect the gems; you will need them.",
"victory": {
"body": "You will find a use for these gems soon.",
"i18n": []
},
"nextLevel": {
"original": "54174347844506ae0195a0b8",
"majorVersion": 0
},
"terrain": "Dungeon",
"patches": [],
"i18n": [],
"documentation": []
"i18nCoverage": [],
"index": true,
"buildTime": 14891,
"concepts": [
"basic_syntax"
],
"campaignIndex": 1,
"created": "2016-01-06T15:22:43.033Z",
"version": {
"isLatestMinor": true,
"isLatestMajor": true,
"minor": 123,
"major": 0
},
"permissions": [
{
"access": "owner",
"target": "51538fdb812dd9af02000001"
},
{
"access": "read",
"target": "public"
}
]
}
nextLevel: {
"_id": "568127b67e81751f00de45f7",
"slug": "shadow-guard",
"name": "Shadow Guard",
"creator": "53b54cda7e17883a0575767a",
"original": "54174347844506ae0195a0b8",
"watchers": [],
"__v": 0,
"scripts": [],
"thangs": [],
"systems": [],
"commitMessage": "i18n patch",
"parent": "566fc0cb66f91c2500c38f0a",
"type": "hero",
"description": "Evade the ogre.",
"victory": {},
"nextLevel": {
"original": "54ca592de4983255055a5478",
"majorVersion": 0
},
"terrain": "Dungeon",
"goals": [],
"patches": [],
"i18n": {},
"i18nCoverage": [],
"loadingTip": "We automatically save your code every few seconds.",
"documentation": {},
"requiredGear": {},
"restrictedGear": {},
"helpVideos": [],
"campaign": "dungeon",
"tasks": [],
"buildTime": 1923,
"scoreTypes": ["time"],
"index": true,
"concepts": ["basic_syntax"],
"campaignIndex": 2,
"created": "2015-12-28T12:14:46.362Z",
"version": {
"isLatestMinor": true,
"isLatestMajor": true,
"minor": 123,
"major": 0
},
"permissions": [
{
"access": "owner",
"target": "51538fdb812dd9af02000001"
},
{
"access": "read",
"target": "public"
}
]
}
session: {
"_id": "54380da36e7af40021bf5155",
"changed": "2016-01-08T19:01:18.508Z",
"level": {
"original": "54173c90844506ae0195a0b4",
"majorVersion": 0
},
"creator": "5162fab9c92b4c751e000274",
"state": {
"topScores": [
{
"type": "time",
"date": "2015-10-26T17:46:17.508Z",
"score": -13.600000000000001
}
],
"playing": true,
"selected": "Hero Placeholder",
"complete": true,
"scripts": {
"ended": {
"Real-Time Submission": 6,
"Debugging Victory": 5,
"First Code Run": 4,
"First Code Preload": 3,
"First Code Edit": 2,
"Introduction": 1,
"Taking Too Long": 7
},
"currentScriptOffset": 0,
"currentScript": null
},
"goalStates": {
"humans-survive": {
"status": "success",
"keyFrame": "end",
"killed": {
"Hero Placeholder": false
}
},
"collect-gems": {
"collected": {
"Gem 4": true,
"Gem 3": true,
"Gem 2": true,
"Gem 1": true,
"Gem": true
},
"keyFrame": 118,
"status": "success"
},
"clean-code": {
"problems": {
"Hero Placeholder": false
},
"optional": false,
"keyFrame": "end",
"status": "success"
}
},
"frame": 0,
"flagHistory": []
},
"codeLanguage": "python",
"__v": 1,
"heroConfig": {
"inventory": {
"programming-book": "53e4108204c00d4607a89f78",
"feet": "53e237bf53457600003e3f05",
"waist": "5437002a7beba4a82024a97d",
"right-hand": "53e218d853457600003e3ebe",
"gloves": "5469425ca2b1f53ce7944421",
"torso": "53e22eac53457600003e3efc",
"eyes": "53e238df53457600003e3f0b",
"head": "5441c2be4e9aeb727cc97105"
},
"thangType": "529ffbf1cf1818f2be000001"
},
"code": {
"hero-placeholder": {
"plan": "# Grab all the gems using your movement commands.\n\nself.moveRight()\nself.moveUp()\nself.moveRight()\nself.moveDown()\nself.moveLeft()\nself.moveDown()\nself.moveUp()\n\n"
}
},
"playtime": 698,
"teamSpells": {
"humans": [
"hero-placeholder/plan"
]
},
"creatorName": "Scott",
"levelID": "gems-in-the-deep",
"levelName": "Gems in the Deep",
"multiplayer": false,
"browser": {
"version": "47.0.2526.106",
"platform": "mac",
"name": "chrome",
"desktop": true
},
"permissions": [
{
"target": "5162fab9c92b4c751e000274",
"access": "owner"
}
],
"created": "2014-10-10T16:47:31.077Z"
}
thangType: {
"_id": "568fe842cc51432f0036beb6",
"slug": "programmaticon-i",
"name": "Programmaticon I",
"original": "53e4108204c00d4607a89f78",
"components": [
{
"original": "524b4150ff92f1f4f8000024",
"majorVersion": 0
},
{
"original": "53e12043b82921000051cdf9",
"majorVersion": 0,
"config": {
"slots": [
"programming-book"
]
}
},
{
"original": "524c81cab8bb087aaf000069",
"majorVersion": 0,
"config": {
"programmableSnippets": [
"loop"
]
}
}
],
"description": "Grants access to loops.",
"version": {
"isLatestMinor": true,
"isLatestMajor": true,
"minor": 56,
"major": 0
}
}
}