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

3074 commits

Author SHA1 Message Date
elsid
28fc21792e
Allow water walking actors to find path over water surface 2021-04-11 21:59:28 +02:00
elsid
634556be9d
Add setting to allow following creatures to find path over water surface 2021-04-11 21:59:28 +02:00
Andrei Kortunov
f984e96b34 Use conventional names for atan2 arguments 2021-04-10 12:23:03 +04:00
Jonas Tobias Hopusch
799cf16f31
Attempt to fix #5942
Closes OpenMW/openmw#5942
This is an attempt to apply the fix suggested by @Capostrophic
2021-04-09 18:16:05 +02:00
Andrei Kortunov
59720aea9a Restore old aiming for melee combat 2021-04-07 12:07:03 +04:00
Andrei Kortunov
50352daf90 Rework knockdown and knockout animations fallbacks 2021-03-29 14:45:07 +04:00
Andrei Kortunov
b61337643e Merge branch 'issue-5680' into 'master'
change aim calculation

See merge request OpenMW/openmw!685
2021-03-26 11:43:20 +00:00
Max
2cd96e56d5 create constant and use constant in other parts of the code base 2021-03-24 14:54:46 -07:00
elsid
453e94ea9f
Use half extents for destination distance tolerance in AiEscort
For actors moving in water destination may be located at such z coordinate
that they can't reach.
2021-03-24 00:07:28 +01:00
elsid
f32e1790bc
Add half extents to AiEscord max distance
For actors with big bounding box given constants may not work properly like
it's not possible to get close enough to actor from a given angle to make it
move.
2021-03-23 23:49:57 +01:00
elsid
39c0ce9ddf
Build limited path for far destinations
When distance between start and end point is greater than max radius of area
possibly covered by navmesh there is no way to find path via navmesh. Also if
distance is greater than cell size navmesh might not exists withing mentioned
area because cell is not loaded therefore navmesh is not generated. So minumum
of these values is used to limit max path distance. Assuming that path
actually exists it's possible to build path to the edge of a circle. When
actor reaches initial edge path is built further. However it will not be
optimal.
2021-03-23 23:23:12 +01:00
psi29a
415591b7ed Merge branch 'ai_reaction_deviation' into 'master'
Distribute AI reactions and engage combat calls over time

See merge request OpenMW/openmw!674
2021-03-22 21:37:09 +00:00
Evil Eye
8e9bd5c0bd Don't throw an exception when equipping a bound item fails 2021-03-22 20:44:13 +01:00
Evil Eye
580fa78034 Don't purge summon effects with invalid creature ids 2021-03-22 20:43:34 +01:00
Petr Mikheev
7bbbe40abe "static const" -> "static constexpr" in headers 2021-03-21 13:57:54 +01:00
elsid
62c0ecbbd0
Separate engage combat timer for each actor
Use DeviatingPeriodicTimer to distribute calls over time. This reduces
stuttering and make AI more natural.
2021-03-20 14:50:56 +01:00
elsid
675c0ab72f
Apply uniform random deviation to AI reaction timer
This allows to distribute AI reaction calls over time.

Before this change actors appearing at the same frame will react in the same
frame over and over because AI reaction period is constant. It creates a
non-uniform CPU usage over frames. If a single frame has too many AI reactions
it may cause stuttering when there are too many actors on a scene for current
system.

Another concern is a synchronization of actions between creatures and NPC.
They start to go or hit at the same frame that is unnatural.
2021-03-20 14:47:54 +01:00
Evil Eye
c2580d60e9 Register copied Spells with SpellList 2021-03-14 19:32:03 +01:00
Petr Mikheev
447c3b9489 Fix 5846 2021-03-13 21:54:49 +01:00
Dobrohotov Alexei
fc329050b3 AIPursue: Pursue the player until LOS is established (#5869) 2021-03-03 22:06:58 +03:00
Evil Eye
e2fc5d87b3 Merge branch 'elemental_shields' into 'master'
Don't let elemental shields harm the player in god mode

Closes #5875

See merge request OpenMW/openmw!631
2021-03-02 06:45:38 +00:00
Alexei Dobrohotov
023bc80f55 Don't let elemental shields harm the player in god mode 2021-03-01 21:37:30 +00:00
elsid
8dba61f7ae
Use navmesh raycast to find reachable position around target 2021-02-14 04:14:22 +01:00
elsid
becccf3b5e
Make actor flee from a combat when cannot reach a target 2021-02-12 22:58:53 +01:00
psi29a
7a9eb34403 Merge branch 'master' into 'freeunrealestate'
# Conflicts:
#   CHANGELOG.md
2021-02-07 21:03:51 +00:00
Evil Eye
af0f94f03e Play damage sound when hurt by elemental shields 2021-02-07 12:55:10 +01:00
Evil Eye
e4cd89643f Merge branch 'master' of gitlab.com:OpenMW/openmw into freeunrealestate 2021-02-07 00:17:14 +01:00
Evil Eye
6aa75c287a Don't check magicka when casting free spells 2021-02-07 00:15:01 +01:00
psi29a
e6607486f5 Merge branch 'jfmherokiller-master-patch-23743' into 'master'
Fix the regression involving Cure

See merge request OpenMW/openmw!582
2021-02-06 15:41:24 +00:00
Noah Gooder
e42b67ee50 Modified actors.cpp and Authors.md 2021-02-05 17:59:36 +00:00
Evil Eye
61e014a765 Allow negative values for ai stats 2021-02-04 21:25:38 +01:00
Jordan Francis Moran-Meyers
0d1c073cfa Fix the regression involving Cure 2021-02-01 18:34:10 +00:00
Petr Mikheev
9590377f22 Don't ignore Z in path finding if actor can move by Z. 2021-01-29 22:30:20 +01:00
Petr Mikheev
642ca02e35 Shorten almost straight paths only if smooth movement is enabled; reduce angle limit for the shortening. 2021-01-29 22:30:01 +01:00
elsid
a3ab8dfbb4 Revert "Merge branch 'movement_fix2' into 'master'"
This reverts merge request !496
2021-01-28 12:48:19 +00:00
Petr Mikheev
bc2cec86e9 Fix bug: NPCs doesn't move if the target is exactly above or exactly below. 2021-01-26 00:05:28 +01:00
psi29a
c6f14cde20 Merge branch 'Show-level-multipliers-in-levelup-tooltip' into 'master'
Show level multipliers in levelup tooltip

Closes #5783

See merge request OpenMW/openmw!518
2021-01-25 10:01:39 +00:00
Cédric Mocquillon
3bb551a6f1 Show level multipliers in levelup tooltip 2021-01-25 10:01:39 +00: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
Alexei Dobrohotov
4638fc36b4 Allow all creatures to float to the water surface 2021-01-12 15:46:19 +03:00
psi29a
29fdcb3fa1 Merge branch 'hardlanding' into 'master'
Init mJumpState based on saved fallheight (#5739)

See merge request OpenMW/openmw!532
2021-01-11 20:46:42 +00:00
fredzio
3087ce9c70 Use saved fallheight to determine a character's jump state.
The jump state initial state is "none", and it is set after physics simulation.
If a save is done just above the ground, the character may land before
the first run of the simulation, effectively cancelling the effect of
falling.
2021-01-11 18:38:20 +01:00
Evil Eye
1ab4683dce Tweak follow distance to be more like the original 2021-01-10 16:29:32 +01:00
Bret Curtis
a735bbe9a5
Merge pull request #3040 from akortunov/pvs
Fix some issues, found by PVS Studio
2021-01-10 12:58:17 +01:00
Evil Eye
e737bd00fa Merge branch 'unused_param' into 'master'
Remove never used parameter from CharacterController::update()

See merge request OpenMW/openmw!523
2021-01-10 10:58:28 +00:00
fredzio
60f66f5e29 Remove never used parameter from CharacterController:update() 2021-01-09 21:28:27 +01:00
Andrei Kortunov
874348fb46 Remove redundant code 2021-01-09 19:19:38 +04:00
Andrei Kortunov
56666c60d4 Remove dead code 2021-01-09 14:17:59 +04:00
Andrei Kortunov
7fc4c9f3f6 Avoid dead code 2021-01-09 13:52:01 +04:00
Evil Eye
2a583e2337 consider empty paths as not constructed 2021-01-08 17:24:13 +01:00