1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 23:49:55 +00:00
Commit graph

39 commits

Author SHA1 Message Date
Alexei Dobrohotov
2bfee281fd Merge branch 'restore_caster' into 'master'
Restore projectile caster from savegame (#5860)

See merge request OpenMW/openmw!616

(cherry picked from commit d595c7adb0fb45eafed6d3d0403ad640a91411ed)

c5426bec In the savegame, projectile caster is identified by its actor id. When
2021-03-05 21:07:29 +00:00
fredzio
6e969ca3fa Use mesh collision box instead of node bounding sphere for projectile
size. The bounding sphere is much bigger than the mesh.
2021-02-05 22:53:45 +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
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
Capostrophic
f0433704b4 Only collect every unique magic bolt sound once (bug #4964) 2019-04-17 19:23:50 +03:00
Miloslav Číž
3dbcda6686 Make use of mEffectAnimationTime for projectile rotation 2017-11-23 15:14:15 +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
1fe60dd8e2 Replace some shared_ptrs with pointers to deque entries 2017-09-14 16:00:30 -07:00
Bret Curtis
07f75e1104 replace boost::shared_ptr in extern and components 2017-06-09 19:08:53 +02:00
mrohrlach
3b0c791892 Removed bad casts and unnecessary comments 2016-12-09 18:10:06 -07:00
mrohrlach
ef5cf76ad8 Implemented retrieval of effect colors for lights, made recommended changes 2016-12-04 16:11:21 -07:00
mrohrlach
49ce80346c Changed methods slightly to ensure non-magic projectiles do not receive lights 2016-12-03 15:42:24 -07:00
Allofich
fe3a033642 Use particle textures for spell projectiles 2016-09-08 23:56:54 +09:00
Allofich
f8270f6bd5 Consolidations and cleanup for multi-effect spells 2016-09-05 05:30:51 +09:00
Allofich
dbd7c038b2 Add loading code for multi-effect projectiles 2016-09-05 03:45:13 +09:00
Allofich
f49ebee56a Play sounds for multi-effect projectile 2016-09-04 23:57:06 +09:00
Allofich
37f07f7435 Combine into one multi-effect magic projectile 2016-09-04 22:35:29 +09:00
Allofich
10842462c7 Send lists of models and sounds to launchMagicBolt 2016-09-04 17:42:27 +09:00
scrawl
aec8c38461 Move observer_ptr include where it belongs 2016-01-25 21:03:33 +01:00
Tobias Kortkamp
0659687bfb Some fixes for building on FreeBSD 2016-01-25 14:13:16 +01:00
scrawl
553132cb51 Accept a ConstPtr in launchProjectile 2015-12-18 17:13:54 +01:00
scrawl
a8938589f6 Magic projectiles rotate during flight 2015-12-05 00:33:01 +01:00
scrawl
3f93af4181 Projectiles interact with the water surface (Fixes #2986) 2015-12-04 23:28:11 +01:00
scrawl
62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 2015-11-22 19:54:26 +01:00
scrawl
882e359008 Move attackStrength to the CharacterController, where it should have been to begin with
Only relevant for actors in active cells, so doesn't belong in CreatureStats. This change should slightly reduce the game's memory usage.
2015-06-26 05:15:07 +02:00
scrawl
5bc6513e2d Fix projectile hit bug where the incorrect attackStrength would be used if a new attack has been performed in the meantime 2015-06-26 02:32:41 +02:00
scrawl
f81c3bcd6d Fix for broken InitWorldSpaceParticles on projectile effects 2015-06-11 16:40:26 +02:00
scrawl
de8e5f0db1 Restore projectiles 2015-06-01 21:41:13 +02:00
scrawl
7a3bc69df7 Readded sound listener 2015-05-12 19:02:56 +02:00
scrawl
c883a73d30 Several warning fixes 2015-01-23 15:34:47 +01:00
scrawl
11b05c352f Fix exception when casting Bound Gloves spell 2014-06-19 16:00:27 +02:00
scrawl
e95483c40f Fix crash for on target spells cast by non-actors (Fixes #1529) 2014-06-18 16:57:53 +02:00
scrawl
e266aff561 Savegame: store projectiles 2014-05-17 05:24:32 +02:00
scrawl
9adb990143 Fix potentially unsafe use of MWWorld::Ptr 2014-05-17 02:52:24 +02:00
scrawl
e5a21aca53 Refactor projectiles to no longer use MW-objects 2014-05-16 13:33:30 +02:00