Commit Graph

23 Commits

Author SHA1 Message Date
eb9b0e6cf1 fix monster field infliction logic. Fix #765 2025-08-25 08:50:49 -05:00
988c8a67f7 fix empty monsters in activate_groups() 2025-08-25 08:50:49 -05:00
b0d1c0dbfb Use fmtlib for Capture Soul message 2025-08-19 19:51:58 -04:00
7451e25739 Rework spell notes and several other common messages.
* Spell notes are now an enum instead of a magic integer.
* The functions are now defined in iLiving instead of cCreature, meaning they can be called on PCs.
* They now use fmtlib to interpolate the name.
* A creature attacking themself now prints "Name attacks themself" instead of "Name attacks Name".
2025-08-19 19:51:58 -04:00
c9e7689877 remove hard-coded outdoor monster movement terrain check 2025-06-12 12:04:29 -05:00
9d5a79c97c Improve target selection & fix range check for Drain SP Fix calref#737 2025-06-02 11:32:19 -05:00
e3b0934d15 make pushing crates/barrels/blocks DRY 2025-05-19 21:41:18 -05:00
0e164e8b23 Big monsters check all special terrains for moveability 2025-05-19 21:41:17 -05:00
44a31a2b79 support diagonal conveyor terrain 2025-05-19 21:41:17 -05:00
acee151bf2 Fix TODO note about too many wandering monsters 2025-05-11 10:49:30 -05:00
acc1b0d40a Fix empty wandering monster bug. Fix #723 2025-05-11 10:49:30 -05:00
bd13f2f75f Change & to && to resolve VS compiler warning 2025-05-11 10:49:30 -05:00
3068e97868 make damage type -> sound type DRY
And while I'm at it, resolve a TODO note and remove a bunch of unnecessary 0s
2024-11-30 19:22:00 -05:00
23e0db9922 Add enum for creature status 2024-08-21 23:47:44 -04:00
f400a5b7de Address a bunch of dead store issues found by the static analyzer.
Pretty much all of these fall into one of two categories:

* Variables that are obviously unneeded and in many cases completely unused – probably remnants of old code that was rewritten. These ones were deleted.

* Variables that look like they should be used but aren't. These ones have been suppressed, with a TODO message added as a reminder to investigate them in more detail later.
2024-08-10 12:22:05 -04:00
a430abbd50 Fix fields array not matching the size of the town
The fields array was fixed at 64x64, which is fine for all towns
supported in legacy BoE.

However, we intend to support even larger towns in the future,
and also it seems silly to hold so much extra space for a smaller town.

So now, the fields array is a 2D vector that matches the size of the terrain vector.
The setup array is similarly a list of 2D vectors.

This radically changes the format used to store the setup array in a saved game.
Older saves won't crash the game, but fields will be messed up or missing.
Resetting towns is recommended.
2023-01-21 00:47:35 -05:00
d0d7765d2d Fix monsters above 255 being unsummonable
Thanks to @fosnola for the fix.
2023-01-18 09:59:07 -05:00
ALONSO Laurent
c01ec90ecb conveyor: only push people/object on a conveyor + use the real flag: flag1 2023-01-06 20:04:02 -05:00
5b2561d034 Disable header maps in Xcode 12 2022-07-12 20:35:41 -04:00
864aa95fea Fix various compiler warnings 2022-07-05 09:29:15 -04:00
3302dd68b7 Move encumbrance calculation functions into cPlayer 2019-11-24 20:28:53 -05:00
c2ce2a2cd1 Split up the graphtool files 2017-04-14 15:43:07 -04:00
82abdab695 Major code reorganization
This commit only updates the XCode project for the changes.
A later commit each will update it for scons and MSVC.

A few actual changes are mixed in:
- Add a prefix header for a handful of common definitions
- Moved current_cursor into the Cursor class as a static member
- Removed the make_cursor_sword and make_cursor_watch functions
- Include tests in the All target
- Remove redundant -l flags for Common and Common-Party (since they're included in the Link phases anyway)
2017-04-14 00:24:29 -04:00