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
Alexei Dobrohotov
2d23dad2bc
Merge branch 'master' into ai_package_type
2020-06-17 01:47:23 +03:00
elsid
b095ca6c86
Use actor speed to define area cost for pathfinding
2020-06-13 02:24:52 +02:00
elsid
82893c30f4
Store package type id as enum except ESM
2020-06-11 21:02:27 +02:00
elsid
5b34ef224b
Replace AiPackage virtual methods by options
2020-06-06 12:00:17 +02:00
elsid
ce7c47ee12
Return cloned AiPackage as unique_ptr
2020-06-01 17:07:08 +02:00
elsid
3b5ce71d71
Remove redundant explicit dtor definition for AiPackage
2020-05-17 22:18:26 +02:00
Capostrophic
013953ec7f
Support Wander movement deceleration
2020-02-11 13:50:53 +03:00
capostrophic
fc0f813dcb
Add and use 'always active' AI package flag
...
Update documentation
2020-01-10 12:07:57 +03:00
Andrei Kortunov
61ab7f3c1e
Implement actors movement deceleration (feature #4544 )
2019-10-31 14:41:12 +04:00
elsid
d1d6ba3ed0
Fix rebuild path for walking actors
...
Ignore z coordinate for not swimming nor flying actors to calculate
distance from actor destination to last path point. If walking actor
destination point is floating above the ground then a point on navmesh
may be too far away when z coordinate is included. In this case path
will be rebuild on each AI_REACTION_TIME.
2019-10-07 20:25:07 +02:00
Roman Siromakha
41ad23ebdc
Revert "[WIP] Open door when it is on the way to a next path point (bug #5073 )"
2019-08-27 20:55:03 +02:00
elsid
b4ec444057
Open door when it is on the way to a next path point
2019-08-27 20:49:35 +02:00
elsid
69b4fe8545
Revert "Open door when it is on the way to a next path point"
...
This reverts commit c32872fb16
.
2019-08-27 20:49:07 +02:00
elsid
c32872fb16
Open door when it is on the way to a next path point
2019-08-15 19:35:41 +02:00
Capostrophic
25e52f7dfe
Use 2D distance for fight rating of vertically moving actors (bug #4961 )
2019-06-05 21:41:02 +03:00
Andrei Kortunov
1832f1759d
AI: use a consistent check if a target is hidden (bug #4920 )
2019-04-28 16:41:10 +04:00
Capostrophic
c03ed4cd50
Include cleanup
2019-02-19 18:40:33 +03:00
elsid
92b34e8bb4
Check whether can actor move along z-axis in separate function
2018-10-13 22:16:34 +03:00
elsid
27a74725f1
Use osg::Vec3f
2018-10-13 22:16:34 +03:00
elsid
d02beae5a8
Find path for actors according to their abilities to swim and walk
2018-10-13 22:16:33 +03:00
elsid
fafba8ea0c
Use recastnavigation to find path
2018-10-13 22:16:25 +03:00
elsid
1a95b7a154
Remove duplicate zTurn call
2018-10-13 22:16:22 +03:00
elsid
c9f3064cbd
Update ObstacleCheck once per frame
2018-10-13 22:16:22 +03:00
elsid
ad027d13fa
Remove unused
2018-10-13 22:16:21 +03:00
elsid
4d868bec92
Use osg::Vec3f to store path nodes in Pathfinder
2018-10-13 22:16:20 +03:00
elsid
0cfdf0c7b6
Remove unused virtual
2018-10-13 22:16:20 +03:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Andrei Kortunov
3d1daaebab
Rework manual spellcasting (e.g. via scripts)
2018-07-12 16:24:25 +04:00
Andrei Kortunov
81b78a82e8
AI: try to open doors every AI_REACTION_TIME seconds (bug #4454 )
2018-06-13 17:47:32 +04:00
Marc Zinnschlag
7d9de93fd3
Merged pull request #1477
2018-06-09 10:52:35 +02:00
Andrei Kortunov
5105c67642
Add mHidden field to AiTravel
2018-06-08 21:53:47 +04:00
Andrei Kortunov
81f29d8dcd
AiWander: resume moving to destination after combat
2018-06-08 21:53:47 +04:00
Andrei Kortunov
fed10e87aa
Store integer actor ID in AI packages (bug #4036 )
2018-06-08 19:57:41 +04:00
Andrei Kortunov
f7f8dfaf2a
AiWander: do not allow flying/swimming creatures to use pathgrid
2017-11-28 18:03:13 +04:00
scrawl
c50b18b3bb
Move PathgridGraph out of CellStore
...
By definition this is not 'Mutable state of a cell' and does not belong in CellStore.
This change should improve startup times (graph is now loaded on demand) and edits to 'pathgrid.hpp' no longer cause the entirety of OpenMW to be rebuilt.
2017-11-27 21:20:31 +00:00
Andrei Kortunov
548814bfbc
Added AiBreathe package (feature #1374 )
2017-07-25 10:58:04 +04:00
Leon Krieg
739cd5ba45
Fixed more spelling mistakes
2016-12-15 13:09:40 +01:00
mrcheko
72786fef9d
prevent running in circles around path points
...
addresses http://bugs.openmw.org/issues/2229
2016-09-09 23:57:19 +03:00
mrcheko
aa441f2648
AiPackage: fix path recalc on cell change
...
AiTravel: remove unneeded code
2016-09-06 01:11:10 +03:00
mrcheko
612c7f1a2f
Revert "Revert "Merge pull request #993 from mrcheko/pathfinding""
...
This reverts commit 3732979eec
.
2016-08-19 22:15:26 +03:00
scrawl
3732979eec
Revert "Merge pull request #993 from mrcheko/pathfinding"
...
This reverts commit 5190275b37
, reversing
changes made to d7845012bf
.
2016-08-14 18:04:33 +02:00
mrcheko
203804ff15
fix AiPackage repeating
2016-07-16 19:08:49 +03:00
mrcheko
b4e94e2aae
Merge remote-tracking branch 'upstream/master' into pathfinding
...
# Conflicts:
# apps/openmw/mwmechanics/aipackage.cpp
# apps/openmw/mwmechanics/aipackage.hpp
2016-07-12 00:45:01 +03:00
Allofich
c57d177f1c
Trim unneeded code
2016-07-12 04:17:08 +09:00
mrcheko
f57858b750
Merge remote-tracking branch 'upstream/master' into pathfinding
...
# Conflicts:
# apps/openmw/mwmechanics/aiactivate.cpp
2016-07-10 14:36:48 +03:00
mrcheko
d2fe6fe857
Merge remote-tracking branch 'refs/remotes/origin/master' into pathfinding
...
# Conflicts:
# apps/openmw/mwmechanics/aiactivate.cpp
# apps/openmw/mwmechanics/aicombat.cpp
# apps/openmw/mwmechanics/aicombat.hpp
# apps/openmw/mwmechanics/aifollow.cpp
# apps/openmw/mwmechanics/aipackage.cpp
# apps/openmw/mwmechanics/aipackage.hpp
# apps/openmw/mwmechanics/aiwander.cpp
# apps/openmw/mwmechanics/aiwander.hpp
2016-07-09 22:59:54 +03:00
MiroslavR
dc0bc5b68c
Implement Face instruction (Feature #1424 )
2016-07-09 02:16:47 +02:00
Allofich
b1be3596dc
Cleanup of #include statements
2016-06-18 10:56:28 +09:00
Allofich
065d6a391d
Don't repeat sequences of only one non-wander AI
2016-06-06 04:12:49 +09:00