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
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
obligaron
e7ba810af7
Update existing monsters after loading monster gfx
2 years ago
obligaron
d4a70a2bc5
Fix MSVC warnings in monster.cpp/monsterdat.cpp
2 years ago
obligaron
42e1b82a91
Use GetDunSize in loops
2 years ago
obligaron
75f68e1b8f
Introduce Player::occupyTile
2 years ago