DakkJaniels
fb420b1473
Consistency: use damage formulas if missile damage has not already been assigned
3 years ago
DakkJaniels
f750e77476
remove commented out code
3 years ago
DakkJaniels
48e562e875
clean up MI_Projectile
3 years ago
DakkJaniels
d2134f93cd
MI_Firebolt -> MI_Projectile. Calculate damage when missile is added.
3 years ago
Eric Robinson
30c1991039
`enum _mai_id` -> `enum class MonsterAIID` ( #5683 )
3 years ago
Anders Jenbo
c99f7cf644
Floating numbers ( #5639 )
...
Co-authored-by: qndel <stefan551@o2.pl>
Co-authored-by: Stephen C. Wills <staphen@gmail.com>
3 years ago
KPhoenix
8db521727d
`enum missile_id` -> `enum class MissileID`
...
Changes `enum missile_id` to `enum class MissileID`
3 years ago
KPhoenix
12fc02f7f5
Fix redundancy in AddBoneSpirit function
3 years ago
staphen
0d43f468e5
Improve missile collision interpolation logic
3 years ago
Anders Jenbo
0c5fd01067
Change missile_resistance into class DamageType
3 years ago
KPhoenix
a22389613d
Remove No Monster Heal from Fire Arrows
3 years ago
Gleb Mazovetskiy
09d7f99c32
Optimize IsTileSafe
...
Add dungeon flags for Fire/Lightning Wall and use them to check if the
monster considers the tile safe.
3 years ago
obligaron
610e80f098
Sync break crux
3 years ago
Gleb Mazovetskiy
6dca019de2
Use `function_ref` instead of `function`
...
`function_ref` is a lightweight function pointer,
whereas `std::function` always involves a heap allocation.
3 years ago
Gleb Mazovetskiy
680ab5ec40
Overhaul backbuffer state handling
...
When rendering directly to the output buffer, we need to maintain the
state of what has been drawn and what needs redrawing per-buffer.
We previously tried to do it implicitly by checking `SDL_DOUBLEBUF` and
other flags. The previous implementation was broken in several
ways, resulting in rendering issues on devices that support 8-bit output
directly.
Changes this mechanism to explicitly maintain buffer state per output
buffer. The new mechanism doesn't require knowledge of the number of
buffers, and thus also works correctly with triple-buffering.
Fixes #5447
3 years ago
Gleb Mazovetskiy
0498d7d3a7
Fix compilation warnings
3 years ago
staphen
702fedbc54
Remove ConsumeSpell() from AddMissile() functions
3 years ago
Gleb Mazovetskiy
759ca7f055
`WorldTileRectangle/Size`
...
Adds a custom sized type for the world tile rectagle.
This allows us to better express intent.
It also allows us to make certain globals smaller, e.g. `THEME_LOC`.
3 years ago
obligaron
795a43dd89
Add Arena Support
3 years ago
ephphatha
ea3ecbd619
Use _item_indexes type where appropriate
3 years ago
ephphatha
28d685ea85
Save and restore item seed when downgrading potions from steal trap
3 years ago
obligaron
7ad5a45905
Fix warp position offset and adjust some spawn positions ( #5364 )
4 years ago
Mikołaj Piróg
5e340d3261
Replace level member with a member function in monster ( #5336 )
4 years ago
obligaron
72dc999aba
Fix cathedral warp for upstairs
4 years ago
obligaron
948e74c539
Fix crypt warp
4 years ago
obligaron
9c97b302cd
Simplify AddWarp
4 years ago
zaid-ismail031
af32a42e53
Added clang formatting to missiles.cpp.
4 years ago
zaid-ismail031
b0c9a8024e
Refactor missiles.cpp to use Direction enum instead of magic Point/Displacement constants.
4 years ago
obligaron
deb0d6d9e1
Use missile helpers in MoveMissile/UpdateMissileRendererData ( #5291 )
4 years ago
obligaron
68891a8df1
Rename MissileMovementDistrubution => MissileMovementDistribution
4 years ago
obligaron
4b93249eee
Use MoveMissile in SpawnLightning to correctly check walls
4 years ago
obligaron
9d68478cb4
Split MoveMissile out of MoveMissileAndCheckMissileCol
4 years ago
obligaron
4dc0666b12
Resurrect SyncPositionWithParent
4 years ago
Vladimir Olteanu
58ae9169f1
Item effect cleanup ( #5229 )
4 years ago
staphen
f9e01f25c4
Consistently send network messages when monsters are damaged
4 years ago
obligaron
a410e989bf
Remove ScrollInfo
4 years ago
Gleb Mazovetskiy
961866e1c4
CLX: A new graphics format
...
The format is almost identical to CL2, except it uses the frame header
to store frame width and height instead of 5 32-line offsets.
This means we always have access to frame dimensions, so we can use it
as an on-disk format for our graphics as well.
Additionally, we may be able to optimize the rendering even more
in the future now that we have guaranteed knowledge of frame dimensions.
4 years ago
obligaron
439a9926e5
Clean up spell usage function names
...
Rename UseMana -> ConsumeSpell
Rename RemoveCurrentSpellScroll -> ConsumeScroll and remove unused return value
Rename UseStaffCharge -> ConsumeStaffCharge
Rename UseScroll -> CanUseScroll
4 years ago
obligaron
6804221199
Store scroll/rune location in SpellCastInfo.spellFrom and remove the scroll/rune only after the spell is casted
4 years ago
ephphatha
9309f2fe4f
Add enum to represent monster sound effects
4 years ago
Stephen C. Wills
e364b7488c
HitMonster() cleanup ( #5147 )
4 years ago
ephphatha
0ce76a3f13
Add Object lookup method to mimic map::at()
4 years ago
Cesar Canassa
102f4abe9b
♻️ Remove _misource access from AddLightningWall ( #5098 )
4 years ago
ephphatha
975eb3674b
Add helper to check if a monster belongs to a player
...
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
4 years ago
Cesar Canassa
0ce0f5b7b4
♻️ Remove _misource access from AddSpecArrow
4 years ago
Cesar Canassa
f5af1fa49c
♻️ Remove _misource access from AddRuneExplosion
4 years ago
Cesar Canassa
71edcbed12
♻️ Remove _misource access from AddWarp
4 years ago
Cesar Canassa
020ce5eb2b
♻️ Automatically dereference sourcePlayer on AddFlash
4 years ago
Cesar Canassa
98023a822e
♻️ Automatically dereference sourceX on MI_Arrow
4 years ago
Cesar Canassa
582e2b4e12
♻️ Automatically dereference sourceX on MI_Firebolt
4 years ago