Commit Graph
746 Commits
Author SHA1 Message Date
qndel 354e329644 Players[MyPlayerId] -> MyPlayer 2022-05-31 05:35:52 +02:00
k-bar bc2c13e8ef fix for monster melee hit monster (#4617) 2022-05-30 04:27:53 +02:00
Anders Jenbo c89d28fe47 Remove leftover firemen code 2022-05-23 07:31:50 +02:00
Anders Jenbo d6b258926e Apply type checking on monster type 2022-05-23 07:31:50 +02:00
Anders Jenbo 8c03e4a73b Fix code style in IsPossibleToHit 2022-05-21 21:01:32 +02:00
Anders Jenbo fcfb701ba0 Extract identical MonsterDeath code 2022-05-21 21:01:32 +02:00
Anders Jenbo 5f51092f15 [hellfire] Fix spiderloard not leaving acid when killed by monsters 2022-05-21 21:01:32 +02:00
Anders Jenbo b99521b376 Do not change animation state for petrified monsters during death 2022-05-21 21:01:32 +02:00
k-bar 4a4e3a5404 Unwindle If-Elses around petrify monster 2022-05-21 19:57:02 +02:00
k-bar 5b29eda518 Remove of CheckMonsterHit (aka LiftGargoylesAndIgnoreMages) 2022-05-21 19:57:02 +02:00
k-bar 417c4c9ce2 Extract duplicated code to functions related to monster 2022-05-21 19:57:02 +02:00
Anders Jenbo 457f804f10 [vanilla] Fix missing tource light in Lazarus' chamber 2022-05-12 21:39:00 +02:00
Anders Jenbo 134791af3f Remove pointless math related to finding monsters for levels 2022-05-11 11:28:05 +02:00
Anders Jenbo 0645d9b2a1 Correct missing hellfire level mapping in leveltype
Hellfire never added the 2 new dungion types, instead it makes
additional checks on currlevel. This is confusing and mess, so cleaned
it up.
2022-05-10 15:16:38 +02:00
qndel 89109dc9f4 HP bar tweaks and fixes (#4525)
* HP bar tweaks and fixes
2022-04-29 08:06:59 +02:00
DakkJaniels dad46e1905 Item special effect enum (#4129) 2022-04-19 15:44:46 +02:00
Gleb Mazovetskiy a66ca44695 Zero-based frame indexing
Index frames starting at 0 instead of 1.
2022-04-14 04:39:26 +01:00
Gleb Mazovetskiy ade8aba822 Fix some more warnings 2022-04-14 01:26:29 +02:00
staphen 32311d4835 Fix Diablo's HP 2022-04-06 01:37:48 +02:00
obligaron 7d1e2d738e Ensure Reflect + Thorn don't kill a monster twice (#4318) 2022-04-03 10:27:08 +02:00
Anders Jenbo 55a0b71b1c Only spawn loot once 2022-03-20 11:12:08 +01:00
Anders Jenbo 1409e604f5 Reduce string conversions 2022-03-20 11:04:15 +01:00
Anders Jenbo 718c46e7fe Remove use of tempstr 2022-03-19 06:03:19 +01:00
obligaron e0ef3a2307 Init monster TRN after monster load 2022-03-09 20:23:49 +01:00
Gleb Mazovetskiy 7fede6c4cb Clean up owned/unowned CelSprite ambiguity
Makes `CelSprite` unowned and adds a new `OwnedCelSprite` class for
owned sprites.

This clarifies ownership and makes the code cleaner in a number of
places.

Additionally, because the `CelSprite` class is now tiny (1 less
pointer), we can pass it by-value instead of by-reference, removing a
pointer indirection in the rendering functions.
2022-03-06 04:49:13 +01:00
DakkJaniels 7bc19ee91a add enum for the spell flags. Adjust code to use them. 2022-03-06 02:09:19 +01:00
qndel d3995736b9 fix spawning unique monsters 2022-02-23 22:37:12 +01:00
qndel 9ba64ad08b TRN rewrite + bugfix (#4056)
* working new TRN system
* apply TRNs to all unique missiles
2022-02-20 14:28:51 +01:00
Gleb Mazovetskiy 48ff656dc0 Load monster graphics into a single buffer
Follow-up to a5e1fa5bbe, which loaded
the missiles into a single buffer.
2022-02-17 22:02:41 +00:00
DakkJaniels 0790416781 Unique Monster Variable Rename (#4060)
* fix variable name to reflect what it is modifying (unique monster custom to hit, not custom hit points)
* align UniqueMonstersData table
2022-02-14 13:38:31 +01:00
staphen 30a9595020 Fix Hork Demon and Nakrul drops in multiplayer 2022-02-04 18:44:26 +01:00
ephphatha 32d397eb2a Add max_size checks when adding missiles to allow for limited size containers
This doesn't handle failed allocations (e.g. if the platform runs out of memory) but makes it easier to use a fixed size container on limited memory devices.
2022-01-23 05:02:57 +01:00
obligaron 234a053863 Change Missiles Array to std::list 2022-01-20 23:12:48 +01:00
SoundChaser83andStephen C. Wills b52724a15e Fix monster damage potentially being off by 63/64th
Monster damage values from melee/missile hits could potentially add or subtract up to 63/64ths of damage over and above a monster's usual damage range

Co-authored-by: Stephen C. Wills <[email protected]>
2022-01-09 02:29:08 +01:00
staphen bd0470994a Initialize golems before objects 2021-12-12 19:16:59 +01:00
obligaron f2f764ed68 Fix Knockback checks wrong position when a monster is moving 2021-12-12 00:02:05 +01:00
obligaron f58a42ca97 Check that monsters aren't placed in doors 2021-12-12 00:01:01 +01:00
Anders Jenbo ffae6d805b Clean up check for borken monster position in DirOK 2021-12-11 04:55:24 +01:00
obligaron ff5de056fa Add all (boolean) Game Settings to Settingsmenu (#3616) 2021-11-26 23:43:46 +01:00
qndel 7b82c52da9 add _mai_id enums in comment 2021-11-24 12:51:56 +01:00
Gleb Mazovetskiy 3aa8149d3e PrintMonstHistory: Fix string manipulation
The code previously assumed that there is an ASCII separator after each
resistance type.

Different languages may use something else entirely. Relaxes the
assumption to any single code point to avoid producing malformed
UTF-8.
2021-11-14 07:35:10 +00:00
qndel 1110927057 make berserked monsters fight each other 2021-11-10 20:43:22 +01:00
Andrew James 796e2813cf Use scoped enums for DungeonFlags/BFLAG (#3135) 2021-11-07 03:11:16 +01:00
Gleb Mazovetskiy 3d308983a8 Migrate to libmpq
libmpq is a much simpler alternative to StormLib for reading MPQ archives.

We use our own fork of libmpq: https://github.com/diasurgical/libmpq

Impact:

* DevilutionX is now a lot more portable. Unlike StormLib, libmpq only
  needs platform-specific code for Windows.
* Locks around file access **removed** (instead we duplicate the file descriptor for streamed audio only).
* RAM usage is **300 KiB** lower than StormLib.
* Stripped release linux_x86_64 binary is **32 KiB** smaller.
* Amiga build now hangs instead of crashing.
2021-11-06 23:51:42 +00:00
Anders Jenbo 160c0fc2e4 Fix OOB when monsters attack monsters 2021-10-26 19:17:12 +02:00
qndel e567953bc9 Sharing automap exploration in multiplayer 2021-10-25 02:58:41 +02:00
qndel 0ccdf940f7 fix bounds checks (#3237) 2021-10-24 17:20:04 +02:00
Anders Jenbo 0e3c1321fb 🐛 Fix scavenger groups getting stuck 2021-10-21 23:55:02 +02:00
Thomas ChristliebandJuliano Leal Goncalves e5f5c4ef0c Make variable a const reference
Co-authored-by: Juliano Leal Goncalves <[email protected]>
2021-10-14 01:34:02 +02:00
ThomasChr b473a33496 remove light source when killing a berserk monster 2021-10-14 01:34:02 +02:00