An off-by-one on the turn calculations. Turns left should include current turn; else divides by zero on the last turn. To reproduce you MUST step through every turn! Simply jumping to the last turn or two will not tickle the bug.
Even if you do kill Li'sar and Gaga-Breuk, you still have to make it to the far shore, as stated. That means you still have to make it past the Sea Monsters. Hope you were in the water when they appeared, or you're not gonna make it!
The objective is to defeat THE enemy leader, Robryn. As a bonus, if Konrad kills the Mother Gryphon, he gets Gryphon eggs; but that is a bonus objective, not a victory objective.
This causes a statistical bump in the overlapped column. Not really a problem because doing it this way is SO 'not-random' but it increases the chance of tickling the bug causing a unit to fail to hide.
Placing a duplicated unit causes it to drop into an adjacent hex and being missed by the object.
This only happens rarely, and almost always at the overlaped column. But it can happen anywhere. We'll just skip it and so what if we're a unit shy. Call it a very tiny, quite rare Easter Egg.
We may not have a unit assigned to the Advisor role, or it may have died since being assigned. This effects the initial recall, and the speaker for turn 4 when the thieves appear.
Select based upon level and how long we've been able to recruit the type.
The (special bonus) footnote implies you get something simply for killing the leaders: you do not. Moremirmu is not a special bonus for defeating both leaders. He is simply a unit you may, or may not, find along the way.
The game already predicts the outcome of all possible battles when the
player opens the unit attack dialog, for the purpose of choosing the best
weapon to attack. Simply use that data in the damage calculation dialog
instead of recalculating it.
The change in mouse_handler::fill_weapon_choices() ensures that the damage
prediction will be present for all weapons. If bc is first copied to the
vector and bc::better_attack() is called only after that, the copy of bc in
the vector will never receive the damage prediction result.
All side 1 units may be in poor shape. This may be a problem when they re-appear later.
(cherry picked from commit f3025ecd748ae8c6d7f4af0ccf3d46b25a90dcfb) - PR #701
The GUI1 textbox widget had a mechanism to reject input until it has
received an SDL_KEYDOWN event, but it didn't do any good. I suspect this
regressed in commit 61ccf2fc, which changed the type of the event handler
container from std::vector to std::list. Apparently, starting from that
commit, an event (say, an SDL_KEYDOWN event) will also be delivered to
any event listeners which are registered by existing event handlers.
In other words:
1. the player presses ;
2. SDL generates an SDL_KEYDOWN event
3. a handler for that event creates the command console
4. the command console registers a handler for SDL events
5. the original keypress event is delivered to the command console
6. the console starts listening for input as a result of that event
7. SDL generates an SDL_TEXTINPUT event, still for the same keypress
8. the console inserts the ; character
I made the textbox loop through all the keys in construction, and store a
set of all pressed keys. The box will ignore all input until all the keys
which were down at the time it was created have been released. The fix
stops the stray ; character from appearing.
Commit 18d7736 caused an infinite loop.
In HttT S14 we have a sighted event which includes [teleport] tags. This commit causes the sighted event to run to completion, then re-fire, in an infinite loop. Removing the [teleport] tags stopped the loop. Reversing this commit does, as well.