mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-12-23 14:02:59 -05:00
1477 lines
No EOL
39 KiB
CoffeeScript
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
|
|
}
|
|
}
|
|
} |