Eric Robinson
aca06e898a
Menu text revision ( #3902 )
1 year ago
staphen
c798253587
Use constexpr for length of item names
1 year ago
Eric Robinson
173c662723
Remove CalcPlrStaff()
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
3bb1d685af
Extract current input mode into its own library
...
Removes a transitive dependency on the entire plrctrl from options.
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
staphen
7a6a6a6c32
Don't send spell level in spell casting network message
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
Eric Robinson
cfac786daf
Make invalid items unusable ( #7506 )
1 year ago
Eric Robinson
228aa7e210
Revise Teleport Target ( #7531 )
...
* Revise teleport target
---------
Co-authored-by: Stephen C. Wills <staphen@gmail.com>
1 year ago
Gleb Mazovetskiy
f7a93f4cd3
Improve `dev.display.path()`
...
1. Do not draw foliage with the pause trn.
2. Display the number of steps.
3. If the tile is not walkable (allowed for destination tile), display
the number of steps in yellow.
1 year ago
Andrew James
c7abf2f778
Extract logic from CheckInvCut/AutoPlaceItemInInventory ( #7494 )
...
* Remove unnecessary namespace
* Extract FindSlotUnderCursor
* Split logic for finding a space in the inventory to dedicated functions
1 year ago
Eric Robinson
baaa906583
Remove CheckCheatStats() ( #7461 )
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
KPhoenix
b0cb1b92ed
Bugfix: Corruption item power
2 years ago
Eric Robinson
fc457388fd
Removes the logic that mimics the Hellfire oversight
2 years ago
Eric Robinson
a374985c5b
Optimize StartSpell()
...
`isValid` can be set to false initially, removing the need for a case for `SpellType::Invalid`, as if all the previous conditions are not met, `isValid` will remain false.
2 years ago
Eric Robinson
cec258fd4d
Clean up StartRangeAttack() ( #7207 )
2 years ago
Eric Robinson
d54e96ed90
Optimize RespawnDeadItem() ( #7212 )
2 years ago
qndel
24f108f193
fix many typos ( #7322 )
2 years ago
Gleb Mazovetskiy
bf98d9f533
Speed up DeadItem
...
Previously, the same tiles were rechecked over and over again.
O(k^3) -> O(k^2)
This changes the visitation order but we agreed in #7215 that
we don't care.
2 years ago
Eric Robinson
5ae0e5eb17
Optimize DeadItem() ( #7213 )
...
Optimize DeadItem() - Look up `player.position.tile` only once.
2 years ago
staphen
60113bb0b8
Fix brightness of whu casting animations
2 years ago
matheusgomes28
7848ab731e
Splitting CheckInvPaste() into smaller functions ( #6984 )
2 years ago
Tully
ba529feb3e
Fix infravision monsters flickering when manipulating inventory ( #6687 )
2 years ago
Eric Robinson
0a2d488efc
Remove redundant code from southwalk fix ( #7052 )
2 years ago
KPhoenix
00e97d4efc
Remove more redundant code
2 years ago
KPhoenix
21df8d6703
Remove redundant code
2 years ago
KPhoenix
fee49ea061
Consolidate walk functions
2 years ago
KPhoenix
8291d30dd1
Fix South Walk bug
2 years ago
Eric Robinson
ad452cb6c0
Bugfix: DLVL 16 speech after Diablo death ( #7008 )
2 years ago
ikonomov
99308085f0
spectral damage off by 1 ( #7021 )
2 years ago
qndel
d907ee230d
fix typos
...
[skip ci]
2 years ago
obligaron
cd840513b9
Introduce Player::isLevelOwnedByLocalClient
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
f445bb4ef8
Change CastSpell to Player reference
2 years ago
obligaron
75f68e1b8f
Introduce Player::occupyTile
2 years ago
obligaron
79a43dc1de
Introduce AddMissile overloads specific for player and monster
2 years ago
ephphatha
3b458376bb
Use a pointer to a player instance instead of network id for cursor hovering
2 years ago
Anders Jenbo
bb2e189327
Convert _sfx_id in to class enum
2 years ago
staphen
b82081d883
Prevent softlock when removing Auric Amulet
2 years ago
KPhoenix
fec9bc7f40
Bugfix: Speed spell on item swap
3 years ago
ephphatha
4e6517e54c
load starting loadout dynamically
3 years ago
ephphatha
56a6889225
Use generic code to create starting items for new characters
3 years ago