Saturday, August 29, 2015

The Almost-September Update

Work on spicing up foe encounters is underway. NPC attitudes are now a state machine rather than an integer: attacking, aggressive, wary, scared, neutral, friendly and allied are the states. All foe groups can now be encountered with the same attitude range - default per foe template, override-able via the encounter script.

That turned into updating the foe encounter UI to move to the new design where individual PC actions are in their own expandable combo menus, while only party-level options are on the main screen.

That in turn led to eliminating the separate thread for combat - combat is now finally played out entirely on the Maze event thread. Which in turn meant some changes to the combat event display UI, again bringing it in line with the new design.

Now I'm busy building out the different PC options for different attitudes of encounter. Most (e.g. Threaten) will ultimately be tied to character class abilities. But for now it's led to an exercise in refactoring the character action resolution to decouple it from an actual combat being in progress instead of faking a combat just to process character actions. Not only neater and simpler, but it'll mean that for every character action there will be an intention-action-event cycle, which in turn means that conditions and modifiers can be involved at every step.

So your Troll Berserker might end up gagging helplessly if he tries to Threaten away a group of Aggressive Giant Mantises while he's nauseous, at which point the foes will probably choose to attack.

Anyway. Bit down the rabbit hole, as you can see. But chugging along.