I verified some code parts from disasm at the request of
contributor vrza. The double-checked code turned out to
be correct for EOB I and EOB II. This commit just removes
the comments telling me what to check.
Note: All changes are behind the "Faithful AD&D rules" flag.
Fix a bug in the original gmaes, where projectiles would deal
an incorrect amount of damage (always 1d1):
- projectile weapon id is attached to a FlyingObject and checked
when FlyingObject hits a monster or the party
- bump the save format version to add a new field to FlyingObject
(the new 16 bit field replaces the existing unused 8 bit field)
- fix a bug in the original code where a projectile weapon thrown into
the 3D view would inflict projectile damage (should be 1d1)
- patch EotB 1 Bow and Sling damage according to AD&D 2nd Ed rules
Elves get +1 to hit bonus with bows and swords, according to manual
Patch EotB 1 NPCs Beohram (paladin) and Ileria (female)
For accurate HP calculation, we track the HP dividend.
When leveling up, we divide the dividend by the number
of character subclasses to get the total Hit Points.
- Added field hitPointsDividend
- Cleaned up and refactored HP calculation code
- Extracted method rollHitDie
- Updated character generation to use enhanced rules
(community suggestion)
I have been told that the implementation is not always in line with the
AD&D 2nd edition handbook. This switch allows to have more faithful
rules if we implement them as an alternative.
Trying to make this code a bit less ugly. It has been
hacked up by basically every Japanese and Chinese
version in different ways. This is a start to revert some
of the hacks.
The text display glitches in many different ways, since the
original devs did some pretty ugly hacks that we have to
emulate somehow. This commit fixes a couple of things
(spacing, pixel/line overdrawing, shadow, original
linebreak style). There are still several things that have to
be addressed separately, like various text colors, the
whole character portrait/stats pages, etc.