1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-30 21:32:42 +00:00

3146 Commits

Author SHA1 Message Date
Evil Eye
b4486992f0 Allow Rieklings and Goblins to attack again 2021-08-28 10:45:00 +02:00
psi29a
e8057d9fd1 Merge branch 'aipursue_path' into 'master'
Make AiPursue path destination to be as close as possible to target (#6211)

Closes #6211

See merge request OpenMW/openmw!1154
2021-08-26 07:55:12 +00:00
Alexei Dobrohotov
0922d0b105 Clean up text key extraction 2021-08-22 05:56:30 +03:00
Alexei Dobrohotov
31e70f2ecc Merge branch 'minor_factorisation' into 'master'
Minor factorisation in apps/openmw/mwmechanics/actors.cpp

See merge request OpenMW/openmw!1143
2021-08-21 06:22:17 +00:00
elsid
fea4fb6e69
Make AiPursue path destination to be as close as possible to target
Even when target is not reachable actor will try to run there either because
target navmesh polygon is selected within extended area or because partial path
is built to the closest possible polygon.
2021-08-18 23:44:36 +02:00
cc9cii
47a841d3b7 Fix/workaround for Issue #3246
OpenMW save file assumes the presence of NPC/Creature data but the vanilla save file provides only the delta changes in most situations.  The base data are not available without loading all the relevant dependency content files.  Duplicating that code in the ESSImporter is not desirable.

Ideally a flag should be set but that will mean a change in the save file format.  For a minor change such as this doing so seems like an overkill.  So a temporary workaround is introduced where the gold carried by the NPC/Creature is used as an indicator as the lack of ACDT data.
2021-08-17 12:29:28 +10:00
jvoisin
39cd679ca9 Minor factorisation in apps/openmw/mwmechanics/actors.cpp 2021-08-16 13:13:44 +02:00
jvoisin
0792bb212a Use an emplace instead of an insert 2021-08-15 18:57:33 +02:00
psi29a
8c81191d09 Merge branch 'schneller' into 'master'
Optimize actors physics simulation

See merge request OpenMW/openmw!1048
2021-08-08 12:27:53 +00:00
fredzio
5fc3b80406 Don't query actor halfextent in a tight loop, use the already existing
variable. These repeated calls become costly with > 150 actors.
2021-08-07 13:38:24 +02:00
Evil Eye
29921bf9fa Don't stack cast packages 2021-08-07 10:06:56 +02:00
Petr Mikheev
0f7f5ce140 Remove Lua command "self:setDirectControl" 2021-08-03 14:36:51 +03:00
Evil Eye
5cdf1e7e6b Merge branch 'vec3_vs_xyz' into 'master'
Use Vec3f instead of x,y,z in World API

See merge request OpenMW/openmw!730
2021-07-31 10:36:11 +00:00
fredzio
a7b190ad29 Change rotateObject() to take a osg::Vec3f argument instead of 3 floats
for readability.
2021-07-30 23:24:53 +02:00
fredzio
88a5ca440b Change moveObject() to take a osg::Vec3f argument instead of 3 floats
for readability.
2021-07-30 23:24:49 +02:00
Evil Eye
779795734f Remove calm/rally/demoralize and turn undead from the wrong targets 2021-07-29 18:23:45 +02:00
Evil Eye
88d207b0cd Merge branch 'land' into 'master'
Correct creature landing sound type (bug #6118)

Closes #6118

See merge request OpenMW/openmw!1054
2021-07-28 16:18:44 +00:00
Evil Eye
977f717f8b Prevent a missing weapon animation from partially freezing actors 2021-07-27 16:33:07 +02:00
Alexei Dobrohotov
536dc6a0c6 Correct creature landing sound type (bug #6118) 2021-07-27 07:39:21 +03:00
psi29a
cd9fb2adad Merge branch 'dial_me_maybe' into 'master'
Change disposition to work like vanilla

Closes #5100 and #5842

See merge request OpenMW/openmw!599
2021-07-12 14:22:26 +00:00
Petr Mikheev
702eb19271 Fixes and refactoring 2021-07-09 20:48:54 +02:00
Petr Mikheev
a8f76260bc A possibility to view actor controls from lua scripts without disabling AI. 2021-07-09 20:48:54 +02:00
Petr Mikheev
914e604e06 Interactions between LuaManager and other parts of OpenMW 2021-07-09 20:24:56 +02:00
Evil Eye
1196e0cfe6 Change disposition to work like vanilla 2021-07-06 17:03:56 +02:00
psi29a
7cc4e5afa1 Merge branch 'more_magical_stamina' into 'master'
Make fatigue and magicka recalculation behave the same way

Closes #6107

See merge request OpenMW/openmw!968
2021-07-05 13:24:09 +00:00
elsid
8d1eb7e2e6
Fix slow AiPackage::getTarget calls
Assume there are no cell refs with empty ref id.
2021-07-04 14:09:11 +02:00
NeveHanter
6bb030aa55 Ignore actors siding with player in awarness check to allow training the sneaking or knowing whether player is detected by other actors in the siding actor line of sight 2021-07-03 13:40:36 +02:00
Evil Eye
5e4beb217a Make fatigue and magicka recalculation behave the same way 2021-07-03 10:47:26 +02:00
elsid
5624fe1911
Consider path not found when there is navmesh query error
Fix a specific case when the guard at the start of the game fails to find path
due to failed getPolyHeight call that results into a partial path to the
target.
2021-06-30 20:13:27 +02:00
Evil Eye
2be27da791 Merge branch 'const_refs' into 'master'
Add a ton of const refs

See merge request OpenMW/openmw!954
2021-06-24 18:57:41 +00:00
Evil Eye
9f7980ecd7 Merge branch 'refenreces' into 'master'
Sprinkle some references where it makes sense

See merge request OpenMW/openmw!952
2021-06-24 17:40:36 +00:00
jvoisin
cf11870b1c Sprinkle some references where it makes sense 2021-06-24 00:28:09 +02:00
jvoisin
5840279f16 Use default instead of empty constructors/destructors
See https://pvs-studio.com/en/docs/warnings/v832/ for details
2021-06-24 00:26:15 +02:00
jvoisin
1123dc46ee Add a ton of const refs 2021-06-23 23:13:59 +02:00
Evil Eye
f264a8d90a Merge branch 'vfx' into 'master'
Calculate magic VFX vertical offset (bug #5453)

Closes #5453

See merge request OpenMW/openmw!909
2021-06-22 17:15:29 +00:00
Alexey Yaryshev
2577047b59 Fixed an issue #6101 (https://gitlab.com/OpenMW/openmw/-/issues/6101) 2021-06-22 14:51:49 +00:00
Dobrohotov Alexei
870cdd0130 Calculate magic VFX vertical offset (bug #5453) 2021-06-21 23:29:45 +03:00
elsid
e7d68d3d1b
Validate almost straight shortcuts by navmesh raycast
Check whether it's possible to actually move over navmesh by such shortcut.
2021-06-21 18:50:45 +02:00
Léo Peltier
5c4e1252e9 Handle AutoCalc flag when getting spell cost
Fixes #5483

This only applies to "base game" spells.
When adding an AutoCalc spell with TES:CS its cost is computed and
stored inside game files. This stored cost was being used by OpenMW and
the actual cost was never recomputed at runtime whereas Morrowind.exe
discards the stored cost.
While this worked fine in vanilla, mods can update AutoCalc spell
effects without ever updating the stored cost.

The formula was mostly there already but there was a few differences,
namely a 1 second offset in duration.
2021-06-20 13:42:28 +02:00
elsid
e5e04b85c1
Consider time to destination when try to avoid collision
Actor may reach destination before collision. Get next path point from active
packet pathfinder and use point tolerance to reduce distance.

Use maximum of last destination tolerance and DEFAULT_TOLERANCE because
there are 2 checks made for path completion. First checks whether actor is
close enough to the destination and second drop last path point when actor is
closer than DEFAULT_TOLERANCE.
2021-06-19 14:11:20 +02:00
elsid
56e6305345
Revert "Merge branch 'fix_new_game_guard' into 'master'"
This reverts commit a487295d39544455d754d107675792cf2074c613.
2021-06-19 14:06:46 +02:00
psi29a
329ec8f044 Merge branch 'dont_bury_me_plz' into 'master'
Don't unsummon creatures not found within the active cells

Closes #6070

See merge request OpenMW/openmw!926
2021-06-16 09:43:53 +00:00
psi29a
c39c0266a9 Merge branch 'free_from_bondage' into 'master'
Do not assume the bound item cache is valid after loading a save

Closes #6069

See merge request OpenMW/openmw!931
2021-06-16 09:43:14 +00:00
unknown
7d756d997e Rebuild the cache in readState 2021-06-12 18:18:52 +02:00
fredzio
7d0483d7ad Cast spell even if target Ptr is empty. It happens when enchanted arrows
hit water or ground.
2021-06-11 05:55:37 +02:00
Evil Eye
90fa8dca35 Do not assume the bound item cache is valid after loading a save 2021-06-06 18:10:55 +02:00
Evil Eye
89e0bfd1a4 Purge summon effects on dispose 2021-06-06 12:45:42 +02:00
Evil Eye
004660be3d Don't unsummon creatures not found within the active cells 2021-06-02 20:33:29 +02:00
psi29a
a487295d39 Merge branch 'fix_new_game_guard' into 'master'
Consider time to destination when try to avoid collision

See merge request OpenMW/openmw!914
2021-05-30 11:52:48 +02:00
Evil Eye
b8472e1303 Use modified paralyze magnitude to fall and float 2021-05-28 16:55:54 +02:00