Commit graph

1156 commits

Author SHA1 Message Date
Nick Winter
5d26b03918 Add buttons to view game/web-dev levels to courses views 2016-07-15 21:57:04 -07:00
Nick Winter
5f95a4d158 Play game-dev levels without API restrictions. Show game button in CourseDetailsView only when appropriate. 2016-07-15 20:47:09 -07:00
Nick Winter
224ad54bdd View web dev levels. Add proper victory modal game/webpage share links. Fix playing game dev levels. Add generic change transition to all web-dev pages. 2016-07-15 20:03:12 -07:00
Scott Erickson
0570644943 Set up a bunch of game dev, web dev playing logic 2016-07-15 16:57:39 -07:00
Nick Winter
788a14398a Fix starting web dev levels 2016-07-15 16:22:33 -07:00
Scott Erickson
ab704a1cab Merge remote-tracking branch 'origin/web-dev-levels' into game-dev-levels
# Conflicts:
#	app/views/play/level/PlayLevelView.coffee
2016-07-15 16:01:57 -07:00
Scott Erickson
10ca59d10f Have CourseVictoryModal used for course-ladder levels 2016-07-15 15:54:22 -07:00
Nick Winter
9be8151959 Don't create God for web-dev levels 2016-07-15 13:24:54 -07:00
Nick Winter
5a688e42c7 Slightly more flexible iframe origin checking 2016-07-15 11:19:22 -07:00
Nick Winter
1e89775486 Basic campaign mode victory modal hookup for web-dev levels 2016-07-15 09:53:16 -07:00
Nick Winter
739973cb47 Sending goal states to GoalManager and GoalStatusView 2016-07-15 09:11:36 -07:00
Nick Winter
c44c16e5d2 Started implementing web-dev goals 2016-07-15 00:40:32 -07:00
Nick Winter
e3670165e7 Remove code for multiple spells; rename SpellListTabEntryView to SpellTopBarView; remove hero avatar from SpellTopBarView 2016-07-14 22:43:25 -07:00
Nick Winter
220db3106c Run button now recreates web-dev DOM; no submit button 2016-07-14 19:48:27 -07:00
Nick Winter
33ba3f6033 Enable docs for web-dev levels 2016-07-14 19:14:18 -07:00
Nick Winter
ed320a8d9e WebSurfaceView now parsing player code through virtual DOM into iframe 2016-07-14 18:07:36 -07:00
Scott Erickson
9d0ad7af44 Start work on having course arenas use the CourseVictoryModal 2016-07-14 16:50:17 -07:00
Scott Erickson
9a79cae09d Fix PlayGameDevLevelView to run in course mode 2016-07-14 16:49:48 -07:00
Scott Erickson
61caf3dcd3 Merge branch 'master' into game-dev-levels 2016-07-14 15:50:04 -07:00
Scott Erickson
0cb92582f4 Add destroy method 2016-07-14 15:13:02 -07:00
Nick Winter
16b10612b6 Stub WebSurface showing for web-dev levels 2016-07-14 12:34:22 -07:00
Nick Winter
c5c831c211 Remove real-time multiplayer prototype code 2016-07-14 10:26:09 -07:00
Nick Winter
349ab24da7 First pass at adding 'web-dev' level type 2016-07-14 09:38:45 -07:00
Nick Winter
c0a70cb2ab Refactor level type checks for easy greppability (level.isType) 2016-07-14 08:58:43 -07:00
Nick Winter
87ed53b24b Merge branch 'master' into web-dev-levels 2016-07-14 08:26:27 -07:00
Scott Erickson
b982f3fd52 Fix Camera bounds by adding ScriptManager 2016-07-13 16:05:41 -07:00
Scott Erickson
4a51045a41 Fix PlayGameDevLevelView when playing the first time, get frames streaming
For whatever reason, the Angel does not normally allow streaming on the first world.
I hacked around it, but would be good to figure out why that restriction is there
in the first place.
2016-07-13 16:05:41 -07:00
Scott Erickson
c9986ee05a Tweak Promises in PlayGameDevLevelView 2016-07-13 16:05:41 -07:00
Scott Erickson
d7a2219b16 Refactor PlayGameDevLevelView to use promises 2016-07-13 13:28:54 -07:00
Scott Erickson
1b7ac76b9f Add loading and playing to PlayGameDevLevelView 2016-07-13 11:43:25 -07:00
Nick Winter
872e83e9b7 Don't use course hero in verifier / level editor for type: 'course' level 2016-07-13 10:04:43 -07:00
Scott Erickson
3a0695f59c Add some basic info to PlayGameDevLevelView 2016-07-12 15:12:11 -07:00
Scott Erickson
25e348c5ad Initial, basically working PlayGameDevLevelView 2016-07-12 14:07:10 -07:00
Scott Erickson
0b1e1ddcb4 Merge branch 'game-dev-levels' 2016-07-12 11:00:29 -07:00
Matt Lott
f8a67ace0e Remove items from course victory dialog 2016-07-11 16:01:34 -07:00
Matt Lott
16c9f10043 🐛Fix course victory dialog level progress counts
Use classroom versioned levels instead of latest course levels.
Use current level session instead of stale one.
2016-07-11 13:28:52 -07:00
Nick Winter
a5a955ca6b Always show indent guides 2016-07-11 08:35:44 -07:00
Nick Winter
8c48e4fc14 Remove transpiledCode and screenshot from LevelSession 2016-07-08 17:04:24 -07:00
Scott Erickson
f5c9be4831 Merge branch 'master' into game-dev-levels 2016-07-08 14:26:48 -07:00
Scott Erickson
b2bb129cbf Add realTimeInputEvents to world and gameUIState, with just mousedown events 2016-07-08 14:17:07 -07:00
Scott Erickson
10d344504a Add check to TomeView
Found a bug while playing Ogre Encampment: click the Chest before clicking past the
intro screen and the game throws an error, when `updateSpellPalette` tries to access
call `spell.getSource()` but `spell` is undefined. This check keeps the same behavior
but handles the error.
2016-07-08 13:27:42 -07:00
Rob
228019ac89 - Limit when this autocompletion can pop up.
- Remove some left over cruft from the text completer.
2016-07-06 13:31:46 -07:00
Rob
c7901c3237 Unbreak things when you don't have glasses. 2016-07-05 12:34:54 -07:00
Rob
9c7320e26a - Move Zatanna out of own repo and into CodeCombat
- Move snippet creation out of SpellView
- Disable text based completions.
2016-07-01 16:39:21 -07:00
Matt Lott
d72e4eb750 Practice levels Ux and next level algorithm
Update classroom and gameplay Ux to surface practice levels as 3a, 3b,
etc.
Update next level logic to leverage practice levels based on per level
completion playtime thresholds.
Patrol buster and patrol buster A are live for testing.
Fix a few classroom Ux progress hover bubble info bugs.

Closes #3767
2016-06-27 14:05:42 -07:00
Matt Lott
425115ad37 Remove level type 'hero-practice', use level.practice 2016-06-25 08:38:59 -07:00
Nick Winter
a4654f613d Add two starting new heroes. Fix #2753 again for now. 2016-06-24 14:57:21 -07:00
Nick Winter
7c876401bc Do show bonus goals in course mode if you actually achieve them 2016-06-24 08:50:38 -07:00
Catsync
f1d17ebcba Don't show optional goals if playing level as type 'course' (#3758) 2016-06-24 08:32:50 -07:00
Rob
f100e7ab52 Non-integer indentation levels are impossible. 2016-06-22 15:08:20 -07:00
Matt Lott
e0170d0339 Add hero-practice level type and threshold to schema
Filtering out hero-practice levels from classrooms until the Ux
supports them.
2016-06-19 20:23:32 -07:00
Matt Lott
6739353d8e 🐛Fix hint intro overview duplicates 2016-06-16 10:21:37 -07:00
Scott Erickson
86fc4a3846 Hints v1
Add per-level tips and tricks, available during gameplay to help unstick players.

Closes #3736
2016-06-15 16:12:41 -07:00
Nick Winter
a96d5df78e Don't protect APIs in game-dev levels 2016-06-13 16:21:22 -07:00
Nick Winter
d2634e63ed Fix #3642: AIs using aiSource now don't need API protection (with new Aether) 2016-06-09 17:59:19 -07:00
Matt Lott
9dbcf27e11 Add classroom Mixpanel logging
Closes #3720
2016-06-09 10:46:26 -07:00
Nick Winter
b0fcddac68 Add game-dev level type (#3725)
* Initial pass adding new game-dev level type.

* Fix a failing test with updated LevelSystem required properties

* Bring back normal Angel worker timeout times

* Fix another failing LevelSystem test since removing propertyDocumentation
2016-06-08 16:57:00 -07:00
duybkict
f439ffddc7 fix issue #3678 2016-06-07 09:42:57 +07:00
Rob
2ef10f58b3 Fix bug where visual indents couldn't nest. 2016-06-03 14:01:37 -07:00
Rob
8d2df0baff Kill some console logs @poojawins 2016-06-02 20:17:52 -07:00
Rob
3485abd413 Don't show indent guides for incorrect python indention. 2016-06-02 18:46:47 -07:00
Josh Callebaut
13b69d15f2 Display auto-complete box even after adding a new line 2016-05-31 16:50:22 -07:00
Nick Winter
da90ab980e Fix some failing tests 2016-05-31 10:59:06 -07:00
Nick Winter
4160058505 Make skipping real-time playback jump to final frame. Fix #2827. 2016-05-31 08:50:17 -07:00
Nick Winter
96e6e0de9e Fix #2889: show incremental gem and xp award for replayable levels, not total 2016-05-30 17:33:15 -07:00
Nick Winter
065069cfdd Make CourseVictoryModal respect Markdown in next level description 2016-05-30 16:26:55 -07:00
Matt Lott
4bb3ac1f0a Replace Anoner with Anonymous
Closes #3686
2016-05-26 16:54:24 -07:00
Nick Winter
dd08a8bd64 Fix always using JavaScript for enemy AI in multiplayer 2016-05-24 13:54:49 -07:00
Nick Winter
8fce97aad3 Fully remove Clojure and Io. Use new Aether 0.5.0. 2016-05-24 12:00:04 -07:00
Rob
dbc6f6821f No ads for now. 2016-05-13 11:26:52 -07:00
Cat Sync
6e11b0dcda Definitely use hero if hero is present in the user code. 2016-05-13 13:37:36 -04:00
Cat Sync
59408c0de2 Merge remote-tracking branch 'codecombat/master' into flip-hero-logic 2016-05-13 13:32:46 -04:00
phoenixeliot
9cb6e99942 Add operator keywords and truth values to translations
Add and tweak code translations

Translate shortened words to complete words
2016-05-12 13:46:44 -07:00
Rob
9bf118962f Disable Clojure and IO 2016-05-12 11:36:10 -07:00
Cat Sync
50c8588231 Default to using hero unless self/this is present in the player's code.
This affects the autocomplete and spell palette api docs.
2016-05-09 12:49:25 -04:00
Nick Winter
e4c904463c No more transpiledCode 2016-05-05 13:22:30 -07:00
Nick Winter
22007fff9b Make multiplayer work in esper mode 2016-05-03 22:26:48 -07:00
phoenixeliot
91fa467251 Fix teacher sessionless play; uses default campaign levels
Fix typo

Fix race condition with loading next level

Return an empty object for next level instead of an error;
Supermodel has a race condition when some of the models fail to load,
when we override an error response as "success".

Fix next level spec

Remove comment per Scott's request
2016-04-28 12:46:09 -07:00
Scott Erickson
675e3290ac Lock course content to classrooms 2016-04-27 09:58:04 -07:00
phoenixeliot
7c1059bffa Fix code review feedback
Fix code review feedback (2)

Fix code review feedback (3)
2016-04-26 16:37:36 -07:00
phoenixeliot
66f99dd834 Add translation tooltips for code
Tweak tooltips, add some translation keys

Fixed not showing translations for English-speakers

Remove comment
2016-04-26 16:37:07 -07:00
phoenixeliot
02d833639b Make LevelComponent names translatable, show spell name translations in doc tooltips 2016-04-26 16:37:06 -07:00
Josh Callebaut
c4652d82e2 Implements the SPADE logger into the SpellView
* Updates spade.js vendor file, adds a sublime-project for developers to use
* Moves server logic away from handlers
* Moves session update logic to middleware, sets up server schema to autorender IDs as ObjectIDs
* Modernizes the supermodel loading scheme and switches from constructor to initalize
2016-04-26 09:56:30 -07:00
Catsync
b90f1fb18f Hack to use hero instead of self/this in SpellPalette docs (#3552)
Hack to change SpellPalette docs to use hero instead of self/this
2016-04-16 14:59:18 -07:00
phoenixeliot
c3da6a23c9 Change isTeacher checks to isSessionless for /play 2016-04-15 10:58:52 -07:00
phoenixeliot
0416528de0 Fix language-getting for next level URL on teacher courses play 2016-04-13 16:32:39 -07:00
Catsync
7ff12f326f Merge pull request #3548 from Catsync/autocomplete-hero
hero autocomplete hack
2016-04-13 14:59:21 -04:00
phoenixeliot
a524256b5b Add sessionless play for Teachers 2016-04-12 19:34:05 -07:00
Nick Winter
a7114a2719 Implement headless verifier; fix headless client 2016-04-12 19:34:05 -07:00
Cat Sync
fddba4e0ce Hacks autocomplete to use hero instead of self/this
Uses hero instead of self/this if “hero” is already in the code, in
javascript, python, and lua.
2016-04-12 14:31:50 -04:00
UltCombo
8326b5e182 JS beautifier: fix loop construct, fixes #3510
As JavaScript is the only language supported by the beautifier, and [CodeCombat is in the process of converting things to while (true)](https://github.com/codecombat/codecombat/issues/3510#issuecomment-201965310), I guess adding this quick hack to the view's code should suffice for now. Hopefully, the non-standard `loop` construct will be removed from other languages before they receive beautifier support.

If this doesn't seem good, I can move  this hack to `aether.beautify`, where it is possible to perform this substitution in a language-aware way (i.e. inside Aether's JavaScript implementation's [`beautify` method](418ccf2414/src/languages/javascript.coffee (L137))). Seeing as the `loop` construct is specific to CodeCombat, I'm not sure if that would be a good idea. Passing an options object with a flag to support the `loop` construct seems a bit overkill.

Let me know what works best for you.
2016-03-28 00:00:40 -03:00
Nick Winter
905c9cdb93 Use victory text and next level data on level completion. Update picoCTF logo. 2016-03-18 14:18:41 -07:00
Matt Lott
255ebbc048 Ads for free campaign players
Display leaderboard ads on campaign and play views.
Do no show ads in classroom, picoCTF, or to teachers.
Add no ads blurb to subscription features matrix.
Scale game UI for ads on short screens.

Closes #3491
2016-03-18 10:29:31 -07:00
Scott Erickson
ebc98f988f Refactor CreateAccountModal out of AuthModal, add class code to signup 2016-03-10 10:52:11 -08:00
Nick Winter
1ccad78782 Submit picoCTF solutions, show progress, disable sound 2016-03-04 11:44:43 -08:00
Nick Winter
59e8c42ddb Client-side support for beating picoCTF levels 2016-03-03 17:18:24 -08:00
Imperadeiro98
92dc72cce1 Remove name from loadModel 2016-02-18 16:44:40 +00:00
Nick Winter
b5bb662ed2 Add picoCTF problem descriptions to levels; streamline picoCTF flows more 2016-02-17 11:33:56 -08:00
Nick Winter
37fbd8ca21 Start to play picoCTF levels as course levels without hero selection 2016-02-17 09:53:45 -08:00
Matt Lott
06436a4bb7 Add levelID property to show subscription modal events
Allows us to consolidate analytics collection indexes and code someday.
2016-02-09 16:50:55 -08:00