Evil Eye
3c83117e99
Replace new with make_unique in openmw
2022-05-29 13:24:48 +02:00
ζeh Matt
23615e653a
Mark getActivePackage const
2022-03-28 16:17:42 +03:00
elsid
595c2e0a8e
Use unique_ptr to manage AiPackage lifetime
2022-02-23 00:39:30 +01:00
ζeh Matt
b997e28e57
Fix #6633 : AiSequence packages being removed incorrectly
2022-02-19 14:56:51 +02:00
ζeh Matt
0ce29a6131
Simplify logic in AiSequence::execute
2022-02-16 20:21:10 +02:00
ζeh Matt
e60e0b55eb
Fix potential another crash
2022-02-16 18:19:55 +02:00
ζeh Matt
83be3826ff
Fix #6618 : Crash due to iterator invalidation
2022-02-16 18:19:10 +02:00
Matt
367bdcf0cc
#6091 : Optimize isInCombat
2022-02-12 23:50:41 +00:00
Petr Mikheev
6c56436809
Control AI packages from Lua
2022-02-06 15:01:51 +01:00
elsid
45db56b382
Rework fixed string
...
* Avoid inheritance.
* Define equality operators out of the class definition.
* Replace toString with toStringView where it doesn't make sense to create a string.
2022-01-28 18:39:09 +01:00
Bret Curtis
d1fb854521
move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
...
esm typo
esm typo
2022-01-23 17:04:48 +01:00
Evil Eye
d6f06fbf9a
Remove allies from combat when stopping combat
2021-11-25 22:00:52 +01:00
Evil Eye
231da19aa4
Load repeat flag and use reset argument
2021-11-20 11:02:58 +01:00
Evil Eye
29921bf9fa
Don't stack cast packages
2021-08-07 10:06:56 +02:00
jvoisin
1cd15613a6
Remove some useless headers in apps/openmw/mwmechanics
2021-05-15 22:14:08 +02:00
Alexei Dobrohotov
f5af09aed9
Fix AI sequence looping code (bug #5706 )
2020-12-22 05:56:59 +03:00
Andrei Kortunov
e6036e13b9
Use more C++11 loops in game mechanics code
2020-07-25 15:54:49 +04: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
b67e18329e
Store AI packages as unique_ptr
2020-06-01 17:07:08 +02:00
elsid
ce7c47ee12
Return cloned AiPackage as unique_ptr
2020-06-01 17:07:08 +02:00
elsid
a4fbcb8a10
Remember package iterator to erase it from list without find call
2020-05-17 22:37:44 +02:00
elsid
d48eead038
Check type id of current package
...
If package is changed the following usage of it is not consistent.
2020-05-17 22:34:15 +02:00
elsid
ca93f8ee39
Compare initialized iterator
...
Comparsion of untilialized iterator is UB. Initialize with packages end.
2020-05-17 21:42:38 +02:00
elsid
e3cce0949e
Replace condition that may lead to UB by assert
...
If mPackages is empty it means package is a pointer to a deleted object
at line . We can assume it couldn't happen because execute is always called
next for this object at line 289.
2020-05-17 21:42:38 +02:00
Andrei Kortunov
9f27a0d095
Keep an AiWanderStorage when cloning an actor (bug #5267 )
2020-03-10 12:22:21 +04:00
capostrophic
fc0f813dcb
Add and use 'always active' AI package flag
...
Update documentation
2020-01-10 12:07:57 +03:00
capostrophic
2d87d287ba
Handle out-of-range actors' travel packages ( #5212 )
2020-01-09 14:17:54 +03:00
Andrei Kortunov
61ab7f3c1e
Implement actors movement deceleration (feature #4544 )
2019-10-31 14:41:12 +04:00
Grigory Latyshev
3872d7476b
Move makeOsgVec3f() to settingsutils.hpp
...
Remove all other makeOsgVec3f() implementations
2019-02-28 20:03:42 +00:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
Andrei Kortunov
2cac8b59b1
Use square distance to target
2018-08-29 17:20:32 +04:00
Marc Zinnschlag
20c53594de
Merged merge request !36
2018-08-18 12:06:35 +02:00
James Carty
513e99148e
Fix function with no return value
2018-08-17 20:18:20 +01:00
James Carty
6889432030
Move code to seperate functions for reusability
2018-08-16 00:26:02 +01:00
Andrei Kortunov
5a4d0cec3a
Use new logging system for game itself
2018-08-14 23:05:43 +04:00
Andrei Kortunov
3d1daaebab
Rework manual spellcasting (e.g. via scripts)
2018-07-12 16:24:25 +04:00
Andrei Kortunov
ec73011617
Clean temporary storage if we assign new AI package (bug #4464 )
2018-06-27 12:52:43 +04:00
Andrei Kortunov
ee45f54b53
Refactor AiTemporaryStorage usage
2018-06-27 12:48:34 +04:00
Andrei Kortunov
6ed2773299
Do not stack return packages
2018-06-08 21:53:47 +04:00
Andrei Kortunov
74a2cbe696
AI: return back after pursuit
2018-06-08 21:53:47 +04:00
Andrei Kortunov
3d0631cfcc
Store last AI package in savegame
2018-06-08 21:53:47 +04:00
Andrei Kortunov
3a0ee78d2b
AiTravel: store mHidden flag in savegame
2018-06-08 21:53:47 +04:00
Andrei Kortunov
18ff097e4a
Add the parameter to AiSequence::stack() to control ability to cancel other AI packages
2018-06-08 21:53:47 +04:00
scrawl
fde6e29628
Merge pull request #1326 from akortunov/spellpriority
...
Combat AI improvements [feedback needed]
2017-07-31 17:51:51 +00:00
Andrei Kortunov
548814bfbc
Added AiBreathe package (feature #1374 )
2017-07-25 10:58:04 +04:00
Andrei Kortunov
1a8f2bfc11
Combat AI: select target by priority
2017-06-16 16:11:12 +04:00
Allofich
4f08084e79
Make stationary actors return to position on load
...
Also makes wandering actors resume their previous destination when an interrupting combat or pursuit ends.
(Fixes #3656 )
2017-06-15 18:33:50 +09:00
Allofich
028762a7dc
Make guards that are attacked try to arrest player
...
(Fixes #3706 )
2017-06-15 01:47:10 +09:00
Ewan Higgs
38a2de3c51
convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis
2017-06-09 16:49:25 +02:00