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
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
Eric Robinson
6d5bbe6782
Fix draw order problems with south walk ( #7053 )
2 years ago
KPhoenix
21df8d6703
Remove redundant code
2 years ago
KPhoenix
fee49ea061
Consolidate walk functions
2 years ago
KPhoenix
8a5a6c57d3
Fix monster tile occupation
2 years ago
obligaron
4be420e1c1
Allow Leoric to dynamically spawn skeletons in multiplayer with full quests enabled
2 years ago
Gleb Mazovetskiy
25c1c5b372
Fix a few -Wsign-compare warnings
2 years ago
obligaron
51ab0106ab
Sync monster spawn in multiplayer
2 years ago
obligaron
423150b457
Introduce SpawnMonster
2 years ago
obligaron
b42b72221f
Use PlayerAtPosition at more places
2 years ago
obligaron
fae6b3d817
Change Player::getId() and MyPlayerId to uint8_t
2 years ago
obligaron
19b6e2bcc4
Fix debug spawning monsters
2 years ago