Minor rewrite of the action handling routine, to break it into much smaller, bite-sized chunks.
Allow timed specials and similar stuff to trigger while resting
Attempt to convert scenarios that used specials on boatable terrains, by inserting a "boat block" special in the front of each such chain
- This commit also introduces "boat block" and "horse block" specials as part of the IF_CONTEXT special node type.
Clean up tons of commented fileio code
Fix the dialog flickering, and attempt to partially fix the issue of a dialog being momentarily drawn into the main window after it is closed
FIx linker error in editors
Allow placing low-level spells in shops
Strictify trait enum
Fix typo
Flight items don't take charge if flight not possible
Strictify item ability enum
Strictify skill enum
Move per-PC combat data into cPlayer class
Introduce a spell enum, and use it everywhere for PC spellcasting
- Monster spellcasting is untouched
- Also updated the spells documentation, which had some old information from Exile III and omitted a lot of ranges.
Fix an issue with transcript not updating after cancelling a spell in town
Fix spellcasting in town not being cancellable by keyboard, as well as throwing/firing in combat
Add a check to prevent entering boats in combat (from Windows version)
Prevent party from getting a victory dialog if they die during special node processing in a chain that contains an end scenario node
Stuff about force cages, stone blocks, move mountains
- Add all objects, fields, and sfx to place_spell_pattern
- Add move mountains effect to place_spell_pattern
- Most of the implementation for force cages and stone blocks is now done (still untested)
- Properly implement MOVE_MOUNTAINS_MASS spell
Fix newly placed monsters always showing up as empties