Evil Eye
a2171875a0
Prevent nullptr access
2021-01-24 15:15:51 +01:00
fredzio
1f4c85520f
Use convexSweepTest for projectile movement to solve any
...
imprecision issue with projectile collision detection.
Simplify the mechanics: manage hits in one spot.
Give magic projectiles a collision shape similar in size to their visible
model.
Rename the 2 convex result callback to clearly state their purpose.
2021-01-21 20:36:33 +01:00
fredzio
b39437dfb6
Don't allow projectiles to stand still when they hit an ally.
...
When an NPC fire a projectile, it should affect only its targeted actor.
To this end, after a hit is detected the target is checked against the
list of AI targets and reactivated if necessary.
Problem occurs when the hit occurs as a result of a friendly actor going
into the projectile (detected in ClosestNotMeConvexResultCallback):
while the projectile is inside the friend's collision box, it is
deactivated, just to be immediately reactivated. Effectively, the
projectile does nothing until the actor moves out.
Add a check inside the ClosestNotMeConvexResultCallback before declaring
a hit.
Since the necessary data is not safely accessible from the async thread,
maintain a copy inside the Projectile class.
2020-12-14 22:23:01 +01:00
fredzio
4fbe1ed12c
Ignore caster collision shape. Sometimes the magic bolt get launched
...
inside too near its caster.
2020-12-08 09:06:34 +01:00
fredzio
66fe3b0d38
Modify projectile collision to work with async physics
2020-12-08 09:06:33 +01:00
Andrei Kortunov
dc7b48e92e
Generate physics collisions for projectiles (bug #3372 )
...
Remove redundant now mHit field
2020-12-08 09:05:38 +01:00
psi29a
ba3aad31c1
Merge branch 'hitdebug' into 'master'
...
Visualize hits in the debug overlay
See merge request OpenMW/openmw!379
2020-11-01 10:20:14 +00:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
...
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
fredzio
e8c0a7bec0
Visualie projectile hits
2020-10-26 13:53:36 +01:00
Andrei Kortunov
065ed5138e
Use emplace_back instead of push_back
2020-10-18 10:27:35 +04:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
Petr Mikheev
0de6650add
Add RayCastingInterface
2020-08-06 22:03:33 +02:00
Capostrophic
456f0f9f44
Clean up magic bolts of actors that are gone ( #5451 )
2020-06-06 19:11:22 +03:00
Bret Curtis
8a8107e837
as it says; revert vismask and uncomplicate openmw
2020-04-20 20:57:38 +02:00
Andrei Kortunov
7545256d1f
Do not try to launch magic bolt when direction to target is empty (bug #5350 )
2020-04-04 22:39:13 +04:00
Andrei Kortunov
84979fa8b7
Move VisMask to components
2020-02-16 16:03:35 +04:00
Andrei Kortunov
d1e0fa575e
Take in account caster's race height when launch magic bolt (bug #5209 )
2019-11-17 16:37:38 +04:00
Andrei Kortunov
f0cef772fa
Refactor weapon types behaviour
...
1. Move weapon types behaviour from switches to the table (should allow
us to de-hardcode weapon types later)
2. Gereralize bones injection to actors skeletons (instead of using the
hardcoded xbase_anim_sh.nif)
2019-08-09 19:40:27 +04:00
Andrei Kortunov
8557346fbd
Use glow for enchanted arrows (feature #5122 )
2019-08-07 12:58:14 +04:00
Capostrophic
f0433704b4
Only collect every unique magic bolt sound once (bug #4964 )
2019-04-17 19:23:50 +03:00
Andrei Kortunov
4c21776b94
Use relative animation time only for bows and crossbows (bug #3778 )
2019-03-08 20:16:02 +04:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
Andrei Kortunov
0937f02598
Get rid of unnecessary string streams
2019-01-07 21:08:16 +04:00
Andrei Kortunov
70ed8fd1a9
Use constants instead of widely used magic numbers (task #4645 )
2018-09-17 19:22:50 +04:00
Capostrophic
7ef6fa9f61
Remove deprecated GMST get* functions
2018-08-29 18:38:12 +03:00
Andrei Kortunov
5a4d0cec3a
Use new logging system for game itself
2018-08-14 23:05:43 +04:00
Miloslav Číž
4373fea21e
Correct projectile rotation
2017-11-23 20:27:22 +01:00
Miloslav Číž
d0a299caab
Rotate thrown projectiles around the bb center
2017-11-23 20:02:38 +01:00
Miloslav Číž
38bda3bd71
Do not save thrown state for projectiles
2017-11-23 18:00:10 +01:00
Miloslav Číž
3dbcda6686
Make use of mEffectAnimationTime for projectile rotation
2017-11-23 15:14:15 +01:00
Miloslav Číž
2b9a0a7732
Save new projectile state
2017-11-23 12:11:26 +01:00
Miloslav Číž
de42aa9d03
Make thrown projectiles rotate
2017-11-23 00:32:22 +01:00
MiroslavR
b5f5268ff3
Clean up faraway projectiles
2017-09-23 18:54:17 +02:00
MiroslavR
f15de6d3ca
ESS-Importer: Convert magic projectiles ( Closes #2320 )
2017-09-20 18:58:56 +02:00
Chris Robinson
780e82480d
Make the PlayMode and PlayType enums scoped
...
Also shorten them by putting them in the MWSound namespace
2017-09-15 02:36:59 -07:00
Chris Robinson
1fe60dd8e2
Replace some shared_ptrs with pointers to deque entries
2017-09-14 16:00:30 -07:00
Allofich
6b53541571
Prevent AI actors from hitting unintended targets
...
(Fixes #3254 )
2017-02-12 19:51:19 +09:00
NeveHanter
e82d542d89
Merge remote-tracking branch 'upstream/master' into bugfix-3617
2017-01-15 09:49:45 +01:00
NeveHanter
811e9ad9f3
Fixed bug https://bugs.openmw.org/issues/3617 by allowing touch and target enchantments from ranged weapons and their projectiles to explode even when colliding with non-activable objects, terrain, water slab or when shoot underwater.
...
Also allowed projectiles to fly through the dead bodies as in vanilla.
2017-01-15 09:49:25 +01:00
scrawl
7b5f3e3cdc
Fix crash in ProjectileManager when a sound id fails to play or is not found
2017-01-01 21:34:31 +01:00
mrohrlach
71e74f5a93
Moved projectile light calculation to separate method
2016-12-13 18:04:20 -07:00
mrohrlach
f5da179a90
Removed two more bad casts
2016-12-09 18:15:40 -07:00
mrohrlach
3b0c791892
Removed bad casts and unnecessary comments
2016-12-09 18:10:06 -07:00
mrohrlach
c2e5f24e98
Tidying up
2016-12-04 16:31:11 -07:00
mrohrlach
ef5cf76ad8
Implemented retrieval of effect colors for lights, made recommended changes
2016-12-04 16:11:21 -07:00
mrohrlach
3816d0f6dc
Changed light values to better match vanilla. Still need to pull diffusion properties from spells
2016-12-03 19:44:52 -07:00
mrohrlach
099e79edbe
Changed a line that did not need to be changed apparently
2016-12-03 19:12:25 -07:00
mrohrlach
61097d93b9
Replaced tabs with spaces (oops)
2016-12-03 19:09:03 -07:00
mrohrlach
49ce80346c
Changed methods slightly to ensure non-magic projectiles do not receive lights
2016-12-03 15:42:24 -07:00
mrohrlach
83945cf280
Added reasonable approximation of magic bolt lights
2016-12-03 15:24:21 -07:00