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.
Placing teachers and students in unknown districts and schools if we
have geoip countries and states/regions.
Placing teachers/students in unknown schools if there are 10+ students.
Attempting to use a react-component-like system, where the Surface simply emits everything that
happens through the shared GameUIState, and the parent (in this case the ThangsTabView, but theoretically
anything that uses the surface) handles the events manually, to enforce desired behavior for that particular
context.
It's nice that all the event handling is centralized, but it's still a bit of a mess, and not thoroughly
stateful. But it's a start. This is in preparation for allowing multi-thang selection and manipulation
in the level editor.
* Translated to Norwegian (Bokmål)
I translated some of the words and quotes to Norwegian (Bokmål) and also
made some changes to some of them that were already translated
* More Translation
I have translated even more words and quotes
* Even more translation
I have translated even more words and quotes to Norwegian (Bokmål)
* something were wrong with my last commit ._.
Somehow these changes didn't join the last commit, but here they are
* A few more translated words and quotes
Yep it is even more stuff translated to Norwegian (bokmål)
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