Implement new "flat" and "classbased" automatic allocation modes
Change out one if chain for a switch, put stats in 3:2:1:1 order in code (@paglias)
Break out autoAllocate to its own function
Daily derp! Don't return PER when STR is suggested
Implement "training" over the course of a level, for task-based attribute allocation
autoAllocate: compactify some code (no reason, just for the ninja
feel). Add simulation script to show results for all auto-allocate
methods for levels 1-20
autoAllocate: small tweak to taskbased to make it more apparent which is kicking
change food.key to food.text (displayed text only)

Change food.key to food.text in displayed text, to stop the "potatoe" typo being seen.
autoAllocate: more code compactifying (for fun)
fix(?) for issue 2222 - untick removes too little XP,GP

This is a proposed fix for issue 2222 ("unticking a todo with a checklist removes much less XP and GP than it should") BUT I HAVE NOT TESTED THIS (I don't have a local install yet - sorry). Please see my comments at the end of that issue. Note that I don't know why "if direction is 'up'" was originally included - there might have been (and still be) a good reason for it.
Add some value to high Mana pools
Rebirth fixes: deequip pets and mounts, allow stacking at max level
subtract MP when unticking a todo (instead of add)

Currently, when you untick a completed todo, you GAIN MP. Lines 837-839 of this change will cause you to loose it instead.

Line 841 will prevent your MP becoming negative if you used up all your MP before unticking the todo... BUT do we want to prevent negative MP under that circumstance? Perhaps it should be allowed to go negative? The circumstance I'm thinking of is:
1. You tick off a todo, causing your MP to reach (for example) 10.
2. You cast a spell that costs 10 MP. MP is now 0.
3. You realise that you had ticked off the todo accidentally (or deliberately to rort the system!) and so you untick the todo, which (without line 841) would cause your MP to go to -1. Strictly speaking, it SHOULD be -1 because you had spent MP that you hadn't truly earned, but negative MP might look weird and cause "bug" reports. Line 841 will prevent it being negative.
grunt
Fix assignment operator bug
Add strings from views/shared/tasks and views/shared/profiles folders
add unbreakable special items, so we can add special-event gear which users can buy during a certain period of time, but which they can't lose on death. Starting with party-hats
event-items: try a different approach than "unbreakable" (1335750). If they've owned it before (item==false), then they canOwn() again. In those cases, set item to 'event'
winter: add winter-specific class gear as event-timed specials (@lemoness)
winter: weapons should be 2nd best, not 1st. Some refactoring