k-bar
f685eb2704
Fallen warcry dungeon inbound fix for vanilla bug
4 years ago
k-bar
4934eb465f
redundant GoatAi removal
4 years ago
k-bar
62bcd4b393
AiRangedAvoidance rafactor
4 years ago
k-bar
2dfe958fff
AiRanged refactors ( #4779 )
4 years ago
Anders Jenbo
6d56058708
Move level generation to subfolder
4 years ago
Gleb Mazovetskiy
01ad1814ea
Make path finding index-based
...
Reduces the size of the `PathNodes` array from 28 KiB to just 8 KiB.
Also reduces the size of `pnode_tblptr` from `300 * sizeof(void *)` to
`300 * 2` bytes.
4 years ago
Anders Jenbo
860bd1cebf
Operate directly on SOL data
4 years ago
obligaron
22010f12a7
Set quest unique monsters location depending on setlevel
4 years ago
obligaron
22a113d3a6
Introduce GetLevelForMultiplayer
4 years ago
obligaron
8637e05650
Remove bLevel from delta_kill_monster_ and delta_monster_hp
4 years ago
obligaron
19749420b5
Introduce Player::isOnActiveLevel
4 years ago
obligaron
0efebc2cc8
Fix PlaceUniqueMonsters off by one monstertype
4 years ago
obligaron
9713441b69
Fix PlaceUniqueMonsters when unique monster type is not active on the level
4 years ago
Vladimir Olteanu
4d6ff58c22
Reduce reliance on `bool done` for control flow (part 1 of x) ( #4720 )
4 years ago
Anders Jenbo
d17d7e018d
Use common function for loading .dun tile data
4 years ago
Gleb Mazovetskiy
1fc8ecb6f6
Add fmt::runtime annotations for C++20 support
...
`fmt` requires non-contexpr format string arguments to be wrapped in
`fmt::runtime` in C++20.
4 years ago
Gleb Mazovetskiy
779ccaca17
Overhaul translation fetching
...
1. Do not modify the map after loading. Instead, return string views
(guaranteed to be null-terminated) from look up functions and return
the key directly if not found.
2. Use an `unorded_map` instead of `map` where available (C++20).
Saves a bit of RAM (~50 KiB) and improves lookup performance.
4 years ago
Anders Jenbo
1203514383
Clean up use of currlevel
4 years ago
k-bar
3ab94ebdb4
Berserk melee unsquelch fix
4 years ago
Gleb Mazovetskiy
628406a44c
Refactor inventory/belt item presence and removal
...
Introduces new functions to check for presence of and remove player items.
These functions do not rely on or expose item indices.
They're implemented as free functions instead of Player methods due to
complicated include dependencies between `player.h`, `inv.h`, and
`inv_iterators.h`. We should probably look into cleaning this up at some
point.
4 years ago
qndel
354e329644
Players[MyPlayerId] -> MyPlayer
4 years ago
k-bar
bc2c13e8ef
fix for monster melee hit monster ( #4617 )
4 years ago
Anders Jenbo
c89d28fe47
Remove leftover firemen code
4 years ago
Anders Jenbo
d6b258926e
Apply type checking on monster type
4 years ago
Anders Jenbo
8c03e4a73b
Fix code style in IsPossibleToHit
4 years ago
Anders Jenbo
fcfb701ba0
Extract identical MonsterDeath code
4 years ago
Anders Jenbo
5f51092f15
[hellfire] Fix spiderloard not leaving acid when killed by monsters
4 years ago
Anders Jenbo
b99521b376
Do not change animation state for petrified monsters during death
4 years ago
k-bar
4a4e3a5404
Unwindle If-Elses around petrify monster
4 years ago
k-bar
5b29eda518
Remove of CheckMonsterHit (aka LiftGargoylesAndIgnoreMages)
4 years ago
k-bar
417c4c9ce2
Extract duplicated code to functions related to monster
4 years ago
Anders Jenbo
457f804f10
[vanilla] Fix missing tource light in Lazarus' chamber
4 years ago
Anders Jenbo
134791af3f
Remove pointless math related to finding monsters for levels
4 years ago
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.
4 years ago
qndel
89109dc9f4
HP bar tweaks and fixes ( #4525 )
...
* HP bar tweaks and fixes
4 years ago
DakkJaniels
dad46e1905
Item special effect enum ( #4129 )
4 years ago
Gleb Mazovetskiy
a66ca44695
Zero-based frame indexing
...
Index frames starting at 0 instead of 1.
4 years ago
Gleb Mazovetskiy
ade8aba822
Fix some more warnings
4 years ago
staphen
32311d4835
Fix Diablo's HP
4 years ago
obligaron
7d1e2d738e
Ensure Reflect + Thorn don't kill a monster twice ( #4318 )
4 years ago
Anders Jenbo
55a0b71b1c
Only spawn loot once
4 years ago
Anders Jenbo
1409e604f5
Reduce string conversions
4 years ago
Anders Jenbo
718c46e7fe
Remove use of tempstr
4 years ago
obligaron
e0ef3a2307
Init monster TRN after monster load
4 years ago
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.
4 years ago
DakkJaniels
7bc19ee91a
add enum for the spell flags. Adjust code to use them.
4 years ago
qndel
d3995736b9
fix spawning unique monsters
4 years ago
qndel
9ba64ad08b
TRN rewrite + bugfix ( #4056 )
...
* working new TRN system
* apply TRNs to all unique missiles
4 years ago
Gleb Mazovetskiy
48ff656dc0
Load monster graphics into a single buffer
...
Follow-up to a5e1fa5bbe , which loaded
the missiles into a single buffer.
4 years ago
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
4 years ago