The Trebor Chronicles

Chapter 10: Hold your ground till you die

2 groups

We start by looking at logs from last night's run. The party acted erratically around doors, turning around before even reaching doors that were at the end of a long hallway.

Ok, for Chapter 10, lets start by looking at latest.log. Do you see how the party would stop one cell away from doors when doors were at the end of a hallway?

Yes — I see it very clearly in the current latest.log.

At (6,0,1) facing east, the party had LFR=WOO. Instead of simply advancing down the open hallway, the navigation logic got distracted by the right-hand preference and started oscillating east/south.

Moose makes the needed changes and back in we go. There is a new issue this run - it is possible for monsters to appear in multiple groups. I feed Moose the screenshot from above and he codes up a handler. Party members will attack a group whose count is non-zero. This is a nice inference on Moose's part - to recognize that it would be wasteful and deadly to attack a group whose members are all incapacitated.

All parry

Upon testing, we find that a situation can arise where all party members parry. In this case, the party will just stand there, not fighting, until they are killed.

How did Froggy Ember even decide to parry? He is still at his maximum hits.

We diagnosed this down to character positioning. When Dorin and Soren died, they were moved to the bottom of the character list. Froggy previously occupied slot 4, where fighting is not an option. Moose makes 2 updates.

The combat handler now derives each character’s current on-screen position from the party rows every time it makes a combat decision. So if Dorin and Soren die and Froggy moves from slot 4 to slot 2, Froggy is immediately treated as a front-rank fighter and can F)IGHT.

I also changed the “everyone would parry” behavior the way you suggested. If the current character is about to parry and every other living party member has already been assigned PARRY, the handler chooses party-wide R)UN instead of completing an all-parry round.

Then we had an error where the exit code of DOSBox wasn't listened to properly by the shell (I'd switched from zsh to powershell) and lost our LastKnownGood.dsk, which sucked because the party of campaign-013 was pretty good. Oh well; we'll resume with campaign-014 tomorrow.