Eric Robinson
e5e6804e49
Add Monster hasNoLife helper ( #8304 )
3 months ago
Eric Robinson
bc0d60bff7
Add Player hasNoMana helper
4 months ago
Eric Robinson
7e8173e6ff
Add Player hasNoLife helper ( #8302 )
4 months ago
LP
f295e67b9f
Add multiplayer event logging
4 months ago
Gleb Mazovetskiy
842b23803f
SDL3: Use endianness swap helpers throughout
5 months ago
Anders Jenbo
a977a76392
clang-tidy: simple cleanup of monsters
7 months ago
Andrettin
be956f0608
Added Lua Bindings for Adding New Monster Types
7 months ago
Anders Jenbo
1c76897f2c
Apply simple const rules using clang-tidy
7 months ago
Anders Jenbo
6a4c5e42ec
Clean up const and shadow variables
7 months ago
Andrettin
62a45a26fc
Fixed the GetMissileType() switch-case for MonsterAIID::GoatRanged
7 months ago
staphen
5a3bdce186
Separate logic for enemy position from activeForTicks
10 months ago
staphen
308399e31e
Fix errors where Monster::enemy references garbage memory
10 months ago
Eric Robinson
be89b3bf34
Fix crash related to Monster placement
10 months ago
Eric Robinson
7d8d1bc36a
Fix Monster Line of Sight ( #7988 )
10 months ago
Eric Robinson
e538b457bf
Refactor Missile direction/frame group handling
10 months ago
staphen
f622ec1428
Fix typo: IsMonsterAvalible -> IsMonsterAvailable
10 months ago
Anders Jenbo
1fb58e4ff2
Load the correct number of monsters
10 months ago
NiteKat
c26aaddfab
Fix Monster Selection Loop and DAPI Griswold
...
Loop crashes (in debug build only somehow?) for selecting monster types when playing Diablo mode due to less monster types being available.
Fixes Griswold data not being sent client side due to extra blank entries in Towners struct.
10 months ago
Anders Jenbo
3b18dd35d9
Move some Hellfire differences to data files ( #7943 )
...
Co-authored-by: Gleb Mazovetskiy <glex.spb@gmail.com>
11 months ago
obligaron
3a1eb6bed7
Decouple Golems from Players and use SpawnMonster for Golem
11 months ago
obligaron
fee7f4749f
Introduce FindGolemForPlayer and use goalVar3 to track golem <-> player relation
11 months ago
obligaron
0ea60bf46c
Replace CMD_KILLGOLEM with CMD_MONSTDEATH
11 months ago
obligaron
ef5986f4df
Network: Decouple enemyId from max players
11 months ago
obligaron
6890ec3902
Decouple reserved golem slots from max players
11 months ago
staphen
371421bfd7
Check for MonsterMode::Death in isPossibleToHit()
1 year ago
Gleb Mazovetskiy
3e6b501d82
Fix pathfinding and increase player path limit
...
The previous implementation didn't behave quite like A-* is supposed to.
After trying to figure out what's causing it and giving up,
I've reimplemented it in a straightforward manner.
Now it seems to work a lot better.
Also increases maximum player path length to 100 steps.
We still only store the first 25 steps in the save file for vanilla
compatibility.
1 year ago
Gleb Mazovetskiy
ee16071761
Untangle pathfinding dependencies
...
1. Makes `path.cpp` concerned solely with the pathfinding algorithm.
2. Turns `path_test` into a standalone test.
1 year ago
Gleb Mazovetskiy
d94bc424df
`sgOptions` -> `GetOptions()`
...
In C++, globals initialization order accross translation units is not
defined. Accessing a global via a function ensures that it is initialized.
This will be needed for #7638 , which will statically initialize change
handlers after the Options object has been initialized.
1 year ago
Gleb Mazovetskiy
d7647d6c63
More dependency untangling
...
1. Moves more assets-related stuff from `init` to `engine/assets`.
2. Removes `SDL_audiolib` dependency from `soundsample.h`.
3. Cleans up some unused/missing includes.
1 year ago
Gleb Mazovetskiy
a7651f15d9
Extract `HeadlessMode` from `diablo.h`
...
Untangles some dependencies.
Many places that use `HeadlessMode` do not need all of `diablo.h`.
1 year ago
Gleb Mazovetskiy
b76feb2be3
Extract game mode out of init.cpp
...
Untangles some dependencies
1 year ago
Gleb Mazovetskiy
a49b1f2d58
Extract Is{Any,None}Of out of engine.hpp
...
Untangles some of the dependencies
1 year ago
staphen
6215de6e76
Compute monster toHit on the fly
1 year ago
Gleb Mazovetskiy
7b0558146e
Async load: Handle errors
1 year ago
staphen
6318c557de
Wake up the whole pack of Gargoyles when disturbed
1 year ago
Eric Robinson
d6c81898d6
Move Lazarus spawn code
1 year ago
Anders Jenbo
8dc6e0516a
Fix GetUniqueMonstPosition()
1 year ago
Eric Robinson
06528a58e7
Clean up PlaceUniqueMonster() position logic
1 year ago
Gleb Mazovetskiy
1a32a705fe
Replaces uses of doubles with floats
...
Looks like the KallistiOS Dreamcast SDK disables double support
by default: 495e77fd60/environ_dreamcast.sh (L16)
We don't really need doubles in this code.
The one place where we might have needed them is the SMK video
decoder, handled in a separate PR.
1 year ago
Eric Robinson
cdd22626b4
Fix Knockback direction ( #7093 )
2 years ago
Eric Robinson
109c3b165c
Bugfix/Refactor: Min-Max Damage Range Calculations ( #7022 )
2 years ago
Eric Robinson
6396af1ff5
Cleanup panel code (Part 2) ( #7421 )
2 years ago
KPhoenix
e58ba95a96
Fix Underministic Item Generation
2 years ago
qndel
24f108f193
fix many typos ( #7322 )
2 years ago
Eric Robinson
75f42cc41d
Fix monster light on knockback ( #7122 )
2 years ago
Gleb Mazovetskiy
624afafe58
Extract Crawl to a library
...
Also adds a test and a benchmark
2 years ago
Gleb Mazovetskiy
5ff588d402
Fix some compilation warnings
2 years ago
staphen
2ddcc7118a
Hiddens are no longer omniscient
2 years ago
matheusgomes28
7848ab731e
Splitting CheckInvPaste() into smaller functions ( #6984 )
2 years ago
Eric Robinson
0ac30d101d
Refactor TileHasAny() ( #7085 )
2 years ago