unknown
073a7f2b2d
Comments to explain the arcane workings of Morrowind
2020-07-30 21:39:04 +02:00
unknown
e27858cfab
these were supposed to be included
2020-07-28 18:24:09 +02:00
Evil Eye
6ad20ec9c7
Mutate base records when adding/removing spells
2020-07-28 08:33:28 +02:00
Bret Curtis
ae1af0e103
Merge pull request #2972 from Assumeru/non-unique-additem
...
Mutate base record when calling add/remove item on non-unique actors
2020-07-27 23:33:10 +02:00
Evil Eye
040a92c373
implement additem/removeitem for non-unique actors
2020-07-26 11:07:18 +02:00
David Cernat
57734c172b
[Client] Retain AiPursue for guards ignoring player because of dialogue
...
In OpenMW, guards starting combat with the player cause other guards with an AiPursue package to also join the combat in MechanicsManager::startCombat(). Previously, however, TES3MP was discarding AiPursue packages for the guards who hadn't started the arrest dialogue with the player by returning the wrong boolean in AiPursue::execute(), leading to just one-on-one combat with the arresting guard.
2020-07-26 11:06:11 +02:00
David Cernat
ff10aa816b
Add OpenMW commits up to 25 Jul 2020
...
# Conflicts:
# .travis.yml
2020-07-25 19:44:01 +02:00
Andrei Kortunov
e6036e13b9
Use more C++11 loops in game mechanics code
2020-07-25 15:54:49 +04:00
elsid
b7c1c52439
Adjust actor rotation when flee by axis x
...
Otherwise Cliff Racers can go underwater.
2020-07-13 20:08:37 +02:00
David Cernat
39e429c9eb
Add OpenMW commits up to 11 Jul 2020
...
# Conflicts:
# .travis.yml
# apps/openmw/mwmechanics/actors.cpp
2020-07-11 21:42:01 +02:00
Andrei Kortunov
da791590ac
Update HUD icons during mechanics update again to avoid crashes
2020-07-11 20:40:00 +04:00
psi29a
c3a44212c7
Merge branch 'player_resurrection_spell_fix' into 'master'
...
Don't clear spells for a dead player, preventing resurrection problems
See merge request OpenMW/openmw!207
2020-07-10 12:00:24 +00:00
David Cernat
c56cd7c221
[General] Implement PlayerSpellsActive packet, part 1
...
Additions and removals of the local player's active spells can now be saved to and loaded from the server.
2020-07-10 02:09:11 +02:00
psi29a
46db69a349
Merge branch 'swimming' into 'master'
...
Swimming-related fixes
See merge request OpenMW/openmw!247
(cherry picked from commit 8be328ef80f29e9692e29d24beefa8ced16537a7)
738c71fd Extend the "turn to movement direction" mode for swimming up and down.
10d3e82b New setting "swim upward coef"
2020-07-09 20:05:59 +00:00
David Cernat
5eb7eb8d88
Add OpenMW commits up to 4 Jul 2020
...
# Conflicts:
# .travis.yml
# CI/before_script.linux.sh
# apps/openmw/engine.cpp
# apps/openmw/mwbase/windowmanager.hpp
# apps/openmw/mwgui/charactercreation.cpp
# apps/openmw/mwgui/windowmanagerimp.hpp
# apps/openmw/mwmechanics/character.cpp
2020-07-04 16:50:54 +03:00
Andrei Kortunov
27f1a3376c
Add a separate stats watcher for GUI
2020-07-01 15:55:44 +04:00
Petr Mikheev
a455b99ed6
Fix incorrect speed for creatures, that is caused by https://gitlab.com/OpenMW/openmw/-/merge_requests/245/diffs?commit_id=eebbacd8b4ab22b3e824538df2d7faec0038c1a1
2020-06-27 23:56:48 +02:00
psi29a
e83fb8c3fd
Merge branch 'fix_turn_to_movement' into 'master'
...
Bugfix for "turn to movement direction"
Fix for #5457 .
Users complain that movement is not smooth enough when the character turns from "straight right" to "straight right and a bit backward" movement.
This MR fixes it.
The problem was mostly caused by the logic that at first changes animation speed to match movement speed, and then adjusts the movement speed to match the animation. IMHO it is a doubtful logic because then the real movement speed may be not consistent with the result of getSpeed.
Also I've removed the setting "turn to movement direction speed coef" because:
1) It was added as a workaround for this "non smooth movement" problem. After the fix it is not needed.
2) Users mistakenly think that it is somehow related to movement speed for diagonal movement.
See merge request OpenMW/openmw!245
2020-06-26 20:04:02 +00:00
Petr Mikheev
63f828fea8
Bugfix for "turn to movement direction"
2020-06-26 20:04:02 +00:00
Bret Curtis
c4453322e5
Merge pull request #2931 from Capostrophic/intimidate
...
Increase disposition on marginal Intimidate wins (#5485 )
2020-06-26 13:47:35 +02:00
Andrei Kortunov
d0fe15b095
Use meaningful names instead of mSkill1 and mSkill2
2020-06-26 11:47:59 +04:00
Andrei Kortunov
fde0f20a6f
Fix faction requirement calculations (bug #5499 )
2020-06-26 11:14:38 +04:00
Capostrophic
b592fa826c
Increase disposition on marginal Intimidate wins ( #5485 )
2020-06-25 20:28:55 +03:00
Capostrophic
c7aea20657
Don't offer a price of 1 gold for zero value items ( #5484 )
2020-06-25 14:56:20 +03:00
David Cernat
3b2eb6f62c
Add OpenMW commits up to 22 Jun 2020
...
# Conflicts:
# .travis.yml
# CMakeLists.txt
2020-06-22 20:50:55 +03:00
Petr Mikheev
b4c699348f
Improved strafe movement
2020-06-22 15:22:34 +02:00
David Cernat
74ac59fed2
[Client] Prevent allied players from breaking each other's sneaking
2020-06-18 10:29:30 +03:00
Bret Curtis
c944acf26b
Merge pull request #2913 from akortunov/warnfix
...
Get rid of ECLD and dependencies
2020-06-17 15:00:57 +02:00
Andrei Kortunov
d1a3cc98ff
Get rid of ECLD and dependencies
2020-06-17 13:09:16 +04:00
Bret Curtis
1db58575c8
Fixed missed AiPackageTypeId::Wander 'fix'
2020-06-17 09:58:18 +02:00
Alexei Dobrohotov
2d23dad2bc
Merge branch 'master' into ai_package_type
2020-06-17 01:47:23 +03:00
psi29a
0dc7715c35
Merge branch 'object_paging_retry' into 'master'
...
Object Paging
See merge request OpenMW/openmw!209
2020-06-16 08:21:54 +00:00
elsid
b095ca6c86
Use actor speed to define area cost for pathfinding
2020-06-13 02:24:52 +02:00
bzzt lost a hitlab login
c1ebd9474b
stop navmesh updates when ai off
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
elsid
d863267d5c
Do not fallback to direct path without pathgrid
...
Assume this might happen only due buildPath call when navmesh can't
provide path.
2020-06-12 21:46:10 +02:00
elsid
c4cd3b2c4f
Add pathgrid to navmesh as off mesh connection
2020-06-12 21:04:02 +02:00
elsid
095a45c714
Remove unused PathgridGraph::mIsExterior
2020-06-11 21:43:51 +02:00
elsid
82893c30f4
Store package type id as enum except ESM
2020-06-11 21:02:27 +02:00
David Cernat
e5b1843089
Add OpenMW commits up to 11 Jun 2020
...
# Conflicts:
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwgui/jailscreen.cpp
# apps/openmw/mwmechanics/activespells.cpp
# apps/openmw/mwmechanics/aiactivate.cpp
# apps/openmw/mwmechanics/aiactivate.hpp
# apps/openmw/mwmechanics/creaturestats.cpp
# apps/openmw/mwscript/aiextensions.cpp
# apps/openmw/mwscript/statsextensions.cpp
# apps/openmw/mwworld/worldimp.cpp
# apps/openmw/mwworld/worldimp.hpp
2020-06-11 13:21:58 +03:00
David Cernat
36a2308acd
Add OpenMW commits up to 30 May 2020
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwbase/windowmanager.hpp
# apps/openmw/mwgui/windowmanagerimp.hpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwmechanics/actors.hpp
# apps/openmw/mwscript/interpretercontext.cpp
2020-06-09 17:50:26 +03:00
Bret Curtis
6bc04507ef
Merge pull request #2715 from akortunov/cleanup
...
Remove custom data for disposed actors
2020-06-08 12:29:28 +02:00
Andrei Kortunov
3dd4023e8d
Update active spells during rest
2020-06-08 11:29:38 +04:00
Alexei Dobrohotov
d5d385fe9e
Merge pull request #2891 from elsid/ai_packages_options
...
Replace AiPackage virtual methods by options
2020-06-08 02:06:38 +03:00
David Cernat
62df188fd4
Add OpenMW commits up to 16 May 2020
...
# Conflicts:
# CI/before_script.linux.sh
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwinput/inputmanagerimp.cpp
# apps/openmw/mwscript/globalscripts.cpp
# apps/openmw/mwscript/interpretercontext.cpp
# apps/openmw/mwworld/cellstore.cpp
# apps/openmw/mwworld/cellstore.hpp
# apps/openmw/mwworld/worldimp.cpp
# apps/openmw/mwworld/worldimp.hpp
# components/interpreter/context.hpp
2020-06-06 22:38:28 +03:00
Fanael Linithien
48758116d6
Make sure the skill level up message box displays the value correctly
...
Fixes regression introduced in 204d2acf25
.
2020-06-06 14:24:33 +02:00
elsid
5b34ef224b
Replace AiPackage virtual methods by options
2020-06-06 12:00:17 +02:00
Bret Curtis
3b1c717ab9
Merge pull request #2888 from elsid/ai_packages_const
...
Mark not changing AiPackages fields as const
2020-06-05 23:11:10 +02:00
elsid
da8ea9d8c7
Mark not changing AiPackages fields as const
2020-06-04 23:12:23 +02:00
Andrei Kortunov
5468fcb29f
Store attributes and skills values as floats (bug #4021 )
2020-06-03 17:34:15 +04:00
Bret Curtis
2eb9d4ad4e
Merge pull request #2878 from Assumeru/mutate-ai
...
Mutate base records when editing AI settings (#2798 )
2020-06-03 15:09:40 +02:00
Bret Curtis
dd7f5fcde7
Merge pull request #2884 from Capostrophic/deathmagic
...
Update spell effects during death animation (#5403 )
2020-06-03 15:07:08 +02:00
Andrei Kortunov
3dce225f28
Implement vanilla-style corprus handling (bug #3714 , bug #4623 )
2020-06-03 12:58:17 +04:00
Evil Eye
4d7947d27c
Mutate base records when editing AI settings ( #2798 )
2020-06-02 21:59:37 +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
Bret Curtis
18bb6dd223
Merge pull request #2859 from elsid/aipackage_single_clone
...
Single clone function definition for all AI packages
2020-06-01 01:21:57 +02:00
Capostrophic
d72152183f
Update spell effects during death animation ( #5403 )
2020-05-30 23:24:06 +03:00
Capostrophic
b0b4550f05
Pass Actor by reference, simplify GetTarget for greetings
2020-05-30 00:51:58 +03:00
Capostrophic
efd5f13b2b
Make greeting-related actor data temporary (bug #5397 )
2020-05-30 00:51:58 +03:00
Bret Curtis
9d0855baa5
Merge pull request #2866 from elsid/extend_osg_stats
...
Extend OSG stats
2020-05-29 23:23:38 +02:00
Bret Curtis
6f2fdb990b
Merge pull request #2876 from Capostrophic/blending
...
Reenable weapon animation lower body anim blending in first person view (#5441 )
2020-05-29 11:05:33 +02:00
Capostrophic
95cd473352
Reenable weapon animation lower body animation blending in FPV ( #5441 )
...
Disabling it is a non-vanilla behavior that breaks things that aren't broken in vanilla
2020-05-26 17:01:45 +03:00
Capostrophic
51c0806a31
Use AppliedOnce flag in more effect duration calculations ( #5425 )
2020-05-24 18:37:21 +03:00
elsid
69df6098e5
Report frame number, number of actors and objects to stats
2020-05-22 17:39:18 +02:00
elsid
a59e25e093
Optimize MWRender::Animation::hasAnimation
...
Use a set to check for group start existence.
Reduce time taken from 2.6% to 0.08% and
MWMechanics::MechanicsManager::update from 7% to 5%
in relative CPU time usage for a scene with ~100 actors.
2020-05-21 16:21:11 +02:00
elsid
8e0934cbd8
Single AI package clone definition
2020-05-20 20:15:29 +02:00
elsid
103188b61d
Derive all AI package classes from template to support CRTP features
2020-05-20 20:15:29 +02:00
David Cernat
411b6dcd8e
Don't clear spells for a dead player, preventing resurrection problems
2020-05-18 14:46:20 +03:00
Bret Curtis
88a7ecc18d
Merge pull request #2528 from akortunov/effectstime
...
Use real time to update spell effects
2020-05-18 11:07:48 +02:00
Bret Curtis
730d0493db
Merge pull request #2856 from elsid/aisequence_cleanup
...
AiSequence cleanup
2020-05-18 09:47:36 +02:00
Bret Curtis
72507e57c6
Merge pull request #2857 from elsid/aipackage_cleanup
...
Remove redundant explicit dtor definition for AiPackage
2020-05-18 00:13:30 +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
f566ab03ab
Mark overriden AiPackage methods as final
2020-05-17 22:19:50 +02:00
elsid
3b5ce71d71
Remove redundant explicit dtor definition for AiPackage
2020-05-17 22:18:26 +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
elsid
d86669843e
Remove unseud pointTolerance argument
2020-05-16 18:44:12 +02:00
elsid
256c9917a4
Make AiWander::isPackageCompleted const
2020-05-16 18:44:12 +02:00
elsid
131f2557b1
Split functions to remove redundant clearPath argument
2020-05-16 18:44:12 +02:00
elsid
b8513e0318
Remove unused arguments
2020-05-16 18:44:12 +02:00
elsid
489a92de95
Check for hidden path only for actors wandering manually
...
Actors who doesn't wander over pathgrid.
2020-05-16 16:26:42 +02:00
elsid
e616188265
Do not allow wandering actor to have empty path
2020-05-16 16:11:30 +02:00
elsid
71350c6dff
Remove redundant variable
2020-05-16 16:11:30 +02:00
Andrei Kortunov
b5833f3c59
Use real time to update spell effects instead of game timestamps (bug #5165 )
2020-05-16 11:00:28 +04:00
Andrei Kortunov
3ebbe14a62
Avoid zero division
2020-05-16 10:56:51 +04:00
Capostrophic
8265ebc484
Fix spell school calculation
2020-05-15 22:24:48 +03:00
Bret Curtis
b7c33dbe0a
Merge pull request #2831 from Capostrophic/pursue
...
Allow guards to pursue an invisible player (bug #4774 )
2020-05-12 11:45:01 +02:00
Capostrophic
ece0db4f82
Cap movement animation playback speed
2020-05-11 15:11:32 +03:00
Capostrophic
a5d0d13e14
Allow guards to pursue an invisible player (bug #4774 )
2020-05-09 21:23:06 +03:00
David Cernat
053a5a6258
Add OpenMW commits up to 9 May 2020
...
# Conflicts:
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwscript/aiextensions.cpp
2020-05-09 15:17:04 +03:00
Bret Curtis
b4aeb2711c
Merge pull request #2809 from Capostrophic/spellcasting
...
Refactor spellcasting header and implementation (task #5339 )
2020-05-05 17:17:13 +02:00
Capostrophic
844838c46a
Revert an invalid attempt to autoequip shields instead of torches
2020-04-30 00:12:52 +03:00
Capostrophic
69cd53ef8a
Fix reflect
2020-04-27 14:06:50 +03:00
Capostrophic
e7f91ff341
Simplify some inflict() logic
2020-04-27 12:50:09 +03:00
Capostrophic
4c1c30db33
Address akortunov's concerns regarding spell refactoring
...
Separate linked effect handling into linked effects header
Separate spell absorption handling into spell absorption header
Make armor disintegration loop a range-based for loop
2020-04-27 12:05:17 +03:00
Capostrophic
b1d857818d
Clean up CastSpell
2020-04-26 22:17:38 +03:00
Capostrophic
8d22e075e6
Separate functions that don't belong to CastSpell class
2020-04-26 22:17:38 +03:00
Capostrophic
db13984db0
Separate spell resistance
2020-04-26 21:13:59 +03:00
Capostrophic
5973285446
Move isSummoningEffect to summoning
2020-04-26 21:13:59 +03:00
Capostrophic
5535a7fb44
Move getSummonedCreature() to summoning
2020-04-26 18:58:33 +03:00
Capostrophic
a3cd3281fb
Use an array instead of a map in spellSchoolToSkill()
2020-04-26 16:21:05 +03:00
Capostrophic
4838cf7362
Clean up spellcasting
2020-04-26 00:42:40 +03:00
David Cernat
a20f8e77dc
Add OpenMW commits up to 25 Apr 2020
...
# Conflicts:
# .travis.yml
# apps/openmw/mwclass/container.cpp
# apps/openmw/mwclass/door.cpp
2020-04-25 09:52:58 +03:00
Bret Curtis
e791e65684
Merge pull request #2793 from Capostrophic/distancebias
...
Pick the correct aggressive actor in fight distance bias calculation
2020-04-23 00:09:36 +02:00
Capostrophic
40766d746c
Pick the correct aggressive actor in fight distance bias calculation
2020-04-22 16:06:42 +03:00
Bret Curtis
e1a5435531
Merge commit '8a8107e8'
2020-04-22 13:22:54 +02:00
Capostrophic
6731843691
Consider the first person movement sneaking if it's actually sneaking
2020-04-21 09:32:34 +03:00
Bret Curtis
8a8107e837
as it says; revert vismask and uncomplicate openmw
2020-04-20 20:57:38 +02:00
David Cernat
f8c557fbc0
[General] Read and use weapon quantity in RecordDynamic packets
2020-04-19 23:17:09 +03:00
David Cernat
25a632c650
Add OpenMW commits up to 13 Apr 2020
...
# Conflicts:
# CMakeLists.txt
# README.md
# apps/openmw/engine.cpp
# apps/openmw/mwclass/creaturelevlist.cpp
# apps/openmw/mwgui/quickkeysmenu.cpp
2020-04-13 19:53:42 +03:00
Andrei Kortunov
8d4dde7b56
Merge branch 'master' into autocalc
2020-04-13 13:53:29 +04:00
Capostrophic
f79e20379b
Make sure it's a crime to unlock owned doors
2020-04-12 01:56:03 +03:00
Capostrophic
ad333e88fe
Handle enchantment autocalc flag as a flag (bug #5363 )
2020-04-11 00:03:14 +03:00
Capostrophic
1928bebe98
Don't use up light duration if the held light is hidden (bug #5352 )
2020-04-04 20:51:41 +03:00
David Cernat
7bc3298ed4
Add OpenMW commits up to 1 Apr 2020
...
# Conflicts:
# .travis.yml
# CI/before_install.linux.sh
# apps/openmw/mwphysics/physicssystem.cpp
2020-04-01 19:24:11 +03:00
Capostrophic
99e89f23a6
Fix calculateNpcStatModifiers call for non-NPCs
2020-03-28 19:15:13 +03:00
Capostrophic
04ebe5c4c9
Reset skills of dead actors (bug #5328 )
2020-03-26 15:22:31 +03:00
David Cernat
907c5fc6de
Merge branch '0.7.1-summons-ordering' into 0.7.1
2020-03-22 17:29:01 +02:00
fredzio
e1b5dd97b8
Add a filter in the alchemy window.
...
A button allow to switch between ingredient name and magic effect.
Switching reset the filter.
The default filter can be set in the layout file.
The player can show only ingredients whose either name or effect
match the filter
Only effect that are known to the player (via alchemy skill) are
taken into account
2020-03-20 06:35:57 +01:00
uramer
3e7230e89d
[Client] Assign summoned creatures' actorId correctly, skipping those already assigned
2020-03-19 22:28:00 +01:00
Andrei Kortunov
dea2018d9f
Do not use dynamic casts when using ObjectState
2020-03-17 15:18:40 +04:00
David Cernat
43e7df6df8
Add OpenMW commits up to 11 Mar 2020
2020-03-11 22:17:17 +02:00
Roman Siromakha
b1ed7a433e
Merge pull request #2718 from akortunov/storage
...
Keep an AiWanderStorage when cloning an actor
2020-03-11 18:54:22 +01:00
Alexei Dobrohotov
7e6a533a29
Merge pull request #2695 from elsid/aiwander_check_destination
...
Add more destination checks for AiWander without pathgrid
2020-03-11 20:48:22 +03:00
Andrei Kortunov
9f27a0d095
Keep an AiWanderStorage when cloning an actor (bug #5267 )
2020-03-10 12:22:21 +04:00
Andrei Kortunov
ae65b0228a
Do not write custom data for disposed actors
2020-03-07 13:01:14 +04:00
David Cernat
27d35d73a2
[General] Implement OnObjectSound packet
...
Many interactions between players and objects now have their sounds sent to other players.
2020-02-29 18:15:41 +02:00
David Cernat
9d3afc019a
[Client] Add logging for items added to & removed from player by server
...
Additionally, adjust comment related to potion creation to mention sending of stored item removals.
2020-02-25 09:53:42 +02:00
David Cernat
dae805dbc1
[Client] Avoid PlayerInventory packet spam when creating many potions
2020-02-25 07:45:06 +02:00
Capostrophic
1da4b31047
Switch torches to shields for hostile NPCs (bug #5300 )
2020-02-24 02:20:08 +03:00
David Cernat
e78503d5f3
[General] Include potion quantity in RecordDynamic packets
...
Don't spam the server with one RecordDynamic packet per potion created when brewing multiple potions at once. Instead, send a single RecordDynamic packet with the potion quantity included in it.
Add serverside script functions for getting the potion quantity.
2020-02-22 21:21:30 +02:00
David Cernat
85fb1d1a0b
Add OpenMW commits up to 19 Feb 2020
...
# Conflicts:
# apps/openmw/mwworld/scene.cpp
2020-02-20 01:51:47 +02:00
Bret Curtis
a0902bb98e
Merge pull request #2700 from akortunov/masks
...
Move VisMask to components
2020-02-17 11:58:53 +01:00
Andrei Kortunov
84979fa8b7
Move VisMask to components
2020-02-16 16:03:35 +04:00
Roman Siromakha
3ae1a208df
Merge pull request #2684 from Capostrophic/damagefatigue
...
Make uncapped Damage Fatigue optional (bug #5264 )
2020-02-13 20:37:50 +01:00
Capostrophic
013953ec7f
Support Wander movement deceleration
2020-02-11 13:50:53 +03:00
elsid
9404b1dd72
Stop wandering when destination is hidden or occupied by other actor
2020-02-10 22:29:54 +01:00
elsid
4a0c056489
Do not wander to occupied area by other actor
2020-02-10 22:29:54 +01:00
elsid
85414e2353
Check for line of sight for wander destination
2020-02-10 22:29:54 +01:00
elsid
0c92a567af
Use distance to position since last normal state in obstacle checker
2020-02-10 22:29:54 +01:00
Capostrophic
122dffe4c1
Make uncapped Damage Fatigue optional (bug #5264 )
...
Cap Absorb Fatigue
2020-02-09 14:41:38 +03:00
David Cernat
f0f76516d8
Add OpenMW commits up to 4 Feb 2020
...
# Conflicts:
# .travis.yml
# CI/before_script.linux.sh
2020-02-05 02:03:31 +02:00
elsid
349040ffb2
Use status codes to handle navigator errors instead of exceptions
...
For find path use case.
2020-02-04 22:33:56 +01:00
Andrei Kortunov
1db51a9e08
Re-work wandering outside of initial cell (bug #5261 , bug #5262 )
2020-02-02 11:02:19 +04:00
Alexei Dobrohotov
2652b10b9c
Merge pull request #2681 from akortunov/hello
...
Do not interrupt greeting update when Hello = 0 or actor starts to swim
2020-01-30 00:48:13 +03:00
Andrei Kortunov
1522883fdd
Do not interrupt greeting update when Hello = 0 or actor starts to swim (bug #5248 )
2020-01-29 16:31:09 +04:00
elsid
f7caeefddb
Fallback to straight path when navmesh and pathgrind are not available
2020-01-29 11:14:07 +01:00
elsid
8e0b638145
Fix start position for AiWander random point selection
2020-01-28 20:29:52 +01:00
David Cernat
59a38164ea
[Client] Add generic objects to ObjectList using addObjectGeneric()
2020-01-23 09:03:40 +02:00
David Cernat
989188c171
[Client] Remove ObjectList's confusing addObjectDelete() function
2020-01-22 14:35:51 +02:00
elsid
1e106013a0
Use navmesh to find wander destination outside pathgrid for ground based actors
...
Use dtNavMeshQuery::findRandomPointAroundCircle from recastnavigation
2020-01-21 00:01:06 +01:00
elsid
e323e6e7e6
Consider moved distance in direction to destination for obstacle check
...
Assume actor is stuck when it's not able to move in the destination
direction with maximum speed. Approach to check moved distance from the
previous point doesn't work good for slow and big actors. When they face
obstacle they're trying to move along with oscillation so check is
passing but they don't get any closer to the destination.
2020-01-20 23:46:58 +01:00
David Cernat
60b6f92fa3
Add OpenMW commits up to 13 Jan 2020
...
# Conflicts:
# apps/openmw/mwmechanics/actors.cpp
2020-01-15 07:49:26 +02:00
Andrei Kortunov
a384104f73
Rework greeting timeouts (bug #5249 )
2020-01-11 21:47:08 +04:00
Andrei Kortunov
2bed25a5e8
Merge pull request #2659 from Capostrophic/aitravel
...
Handle out-of-range actors' travel packages (bug #5212 )
2020-01-10 13:32:51 +04:00
capostrophic
fc0f813dcb
Add and use 'always active' AI package flag
...
Update documentation
2020-01-10 12:07:57 +03:00
capostrophic
af2ea477d5
Don't use loops to detect absorb effects
2020-01-09 22:17:01 +03:00
capostrophic
42cc27194b
Fix reported spellcasting discrepancies
...
Make ExplodeSpell behavior closer to Cast behavior (#5242 )
Nullify on-self absorb spells in a different way (#5241 )
Allow casting permanent spells through Cast/ExplodeSpell
2020-01-09 22:17:01 +03:00
capostrophic
2d87d287ba
Handle out-of-range actors' travel packages ( #5212 )
2020-01-09 14:17:54 +03:00
capostrophic
29c6a8975a
Don't combine sneak idle with scripted/wander idles (bug #4284 )
2020-01-05 15:09:02 +03:00
David Cernat
a58f09fd6c
Add OpenMW commits up to 2 Jan 2020
...
# Conflicts:
# apps/openmw/mwmechanics/enchanting.cpp
# apps/openmw/mwworld/scene.cpp
2020-01-02 22:09:54 +02:00
Andrei Kortunov
71e1d576cd
Allow to enchant multiple projectiles at once (feature #3517 )
2019-12-31 21:31:49 +04:00
David Cernat
ca9cd90a4d
Add OpenMW commits up to 20 Dec 2019
...
# Conflicts:
# apps/openmw/mwworld/scene.cpp
2019-12-20 15:43:50 +02:00
Andrei Kortunov
30a18c2a66
Merge pull request #2625 from Capostrophic/sneaking
...
[Regression] Attempt to fix idle state reset again
2019-12-20 14:32:22 +04:00
David Cernat
9763f6f9c5
[Client] Fix infinite activation loops caused by 48aba76ce9
2019-12-15 07:23:37 +02:00
Andrei Kortunov
97ee4bc349
Improve equipment logic (bug #5223 )
2019-12-14 22:30:27 +04:00
Capostrophic
483b37bb3f
Disallow resting if the fall height hasn't been reset (bug #4802 )
2019-12-12 15:26:02 +03:00
Andrei Kortunov
3d9c42e8ee
Cap reputation values (bug #5226 )
2019-12-11 08:47:46 +04:00
David Cernat
4b27f8986b
[Client] Synchronize positions for actors during death animations
...
This needs some improvements, because:
1) Sometimes the cell authority sends the death animation too late and a different one gets played on the other clients
2) There is probably a simpler check that can be done for position changes during a death animation.
2019-12-06 21:04:42 +02:00
David Cernat
c253950dd7
[Client] Don't play dying words for NPCs loaded up as dead from server
2019-12-06 14:50:10 +02:00
David Cernat
980edac942
[General] Rename PlayerTeam into PlayerAlly
...
Considering that you can be allies with someone without being allied to their allies, changing the name makes the system more intuitive.
2019-12-05 19:15:11 +02:00
David Cernat
a383b7b612
[General] Include death animations in ActorDeath packets
2019-12-05 13:27:55 +02:00
David Cernat
c4950f1beb
[Client] Implement PlayerTeam packet, part 2
...
When determining actors siding with someone, also check the team members of DedicatedPlayers, not just those of the LocalPlayer.
Don't set players as each other's hitAttemptActor if they are team members.
Don't run startCombat() for DedicatedPlayers who get attacked.
2019-12-03 22:40:02 +02:00
Capostrophic
86c8fe386b
Fix idle state reset
2019-12-03 20:50:57 +03:00
David Cernat
eeb3e4f938
[Client] Reset friendly hits when summoning a creature
2019-12-02 23:29:36 +02:00
David Cernat
9792a5256f
[General] Use different compromise for summoning
...
Revert 9502d84a9cb99028f76f7fd2e05f9193ca66561 because the creature graveyard solves more problems than it causes. Only have the authority of a cell send deletion packets when a summon despawns.
Summoning is one of the least multiplayer-friendly systems in OpenMW and really needs to be redone serverside.
2019-12-02 20:48:52 +02:00
David Cernat
753e310dd4
[General] Implement PlayerTeam packet
2019-12-02 19:08:03 +02:00
David Cernat
9d6f3fdd09
Add OpenMW commits up to 1 Dec 2019
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwscript/aiextensions.cpp
# apps/openmw/mwscript/statsextensions.cpp
2019-12-01 23:52:42 +02:00
David Cernat
d9502d84a9
[Client] Disable clientside handling of summoned creature graveyards
2019-12-01 20:22:04 +02:00
David Cernat
d78bdefc01
[General] Include effect and spell ID for summons in ObjectSpawn packets
2019-12-01 13:31:11 +02:00
David Cernat
64c94346b6
[Client] Always send attack starts by actors immediately
...
Previously, creatures with fast attack animations would have their attack updated right after being started, which happened so quickly that it prevented the attack start from actually being sent by the client.
2019-11-30 15:50:05 +02:00
David Cernat
ed7fe859dd
[Client] Set attackingOrSpell state instantly after Attack/Cast packets
...
It is no longer necessary to wait for the Actors::update() loop to set dedicated players and actors to their new states.
2019-11-30 15:03:51 +02:00
David Cernat
7acf6865b9
[Client] Don't clear spells for dying actors
2019-11-29 19:49:17 +02:00
David Cernat
0dae3074a6
[Client] Add missing comment related to spellcast animation
2019-11-29 14:02:52 +02:00
David Cernat
16662d772b
[General] Synchronize death animations for players
2019-11-29 12:52:47 +02:00
David Cernat
140c1c9c12
[General] Use hard synchronization for melee attack animations
...
Previously, each client chose its own attack animations for DedicatedPlayers and DedicatedActors based on the direction they were walking in, which however led to desyncs for players with "Always Use Best Attack" enabled and for creatures which pick their attack animations randomly.
2019-11-29 10:39:57 +02:00
David Cernat
a385fcdd87
[Client] Fix crash caused by setting instant state for null localCast
2019-11-28 20:28:55 +02:00
David Cernat
06b4a4f97c
[Client] Don't tie spellcasting for dedicated players/actors to anim end
...
When Koncord implemented spellcasting, he made it so only the act of initiating a spellcast was synchronized, leaving it to other clients to actually cast a spell for a dedicated player or actor once their spellcasting animation was over. This had led to a lot of desyncs and has always been inconsistent with the handling of attacks, so I've belatedly gone ahead and prevented the end of a spellcasting animation from having any effect for dedicated players and actors, making them cast a spell when an appropriate Cast packet is received from them instead.
Additionally, the logged messages in MechanicsHelper's handling of attacking and casting have been moved around slightly.
2019-11-28 10:34:34 +02:00
David Cernat
7815c8bdaf
[Client] Queue sending of Cast packet from CastSpell::cast()
2019-11-28 09:40:22 +02:00
David Cernat
b74e3a7e2e
[Client] Include spellIds in Cast packets again, fixing problem from 190c404b38
2019-11-28 00:11:51 +02:00
David Cernat
bbf9f20053
[Client] Stop sending WorldKillCount packets or incrementing local kills
...
This means the server scripts are now required to send a WorldKillCount packet as a reply to ActorDeath packets sent by clients. This gives the server full control over which kills are counted, while also solving the previous problem of kills being counted only for actors that had finished their death animations.
2019-11-27 11:21:29 +02:00
David Cernat
0c98c5d09e
Add OpenMW commits up to 19 Nov 2019
...
# Conflicts:
# apps/openmw/mwmechanics/aipursue.cpp
# apps/openmw/mwmechanics/summoning.cpp
2019-11-19 17:16:48 +02:00
Andrei Kortunov
d0643d266a
Do not use fallthrough in switches
2019-11-19 16:10:18 +04:00
Andrei Kortunov
4118b20608
Allow ActionOpen and ActionTalk only for player (bug #5210
2019-11-18 12:41:11 +04:00
Andrei Kortunov
6861d9d5e5
Merge pull request #2510 from elsid/ai_open_door
...
Open door when it is on the way to a next path point (bug #5073 )
2019-11-17 21:21:22 +04:00
Andrei Kortunov
6554130f6f
Merge pull request #2594 from Capostrophic/summonsummon
...
Minor summoned creature cleanup fixes
2019-11-17 10:47:07 +04:00
Andrei Kortunov
8dbbe42f21
Add missing isNpc() check (bug #5206 )
2019-11-17 09:17:03 +04:00
Andrei Kortunov
af41e9acc1
Initialize variables to avoid undefined values
2019-11-13 14:47:29 +04:00
David Cernat
1d8668305c
[Client] Send PlayerSpellbook packet when contracting or curing disease
2019-11-12 17:44:38 +02:00
Capostrophic
1097c2cfc4
Minor summoned creature cleanup fixes
2019-11-12 17:50:06 +03:00
Capostrophic
9c78e8cc56
Make sure movement not controlled by animation has valid velocity
...
Fixes erroneously always normalized movement speed in first person
2019-11-12 17:33:44 +03:00
David Cernat
5762a36fc2
Add OpenMW commits up to 7 Nov 2019
...
# Conflicts:
# apps/openmw/mwmechanics/aifollow.hpp
2019-11-08 06:20:41 +02:00
Andrei Kortunov
6eb8e0cf4d
Display magic effects according to research page
2019-11-07 11:05:18 +04:00
Andrei Kortunov
61ab7f3c1e
Implement actors movement deceleration (feature #4544 )
2019-10-31 14:41:12 +04:00
David Cernat
54301f5f89
Add OpenMW commits up to 29 Oct 2019
...
# Conflicts:
# apps/openmw/mwmechanics/combat.cpp
# apps/openmw/mwworld/inventorystore.cpp
2019-10-29 23:49:31 +02:00
David Cernat
bde9f7b817
Add OpenMW commits up to 20 Oct 2019
...
# Conflicts:
# apps/openmw/mwgui/recharge.cpp
# apps/openmw/mwrender/globalmap.cpp
# apps/openmw/mwrender/globalmap.hpp
# apps/openmw/mwworld/inventorystore.cpp
2019-10-29 22:26:35 +02:00
Capostrophic
ee4fa93bd4
Rework prevent merchant equipping setting again
2019-10-28 01:58:23 +03:00
Andrei Kortunov
15cd305253
Reset idle animation only when play movement animation (bug #5196 )
2019-10-27 12:33:28 +04:00
Andrei Kortunov
b27089f7be
Merge pull request #2560 from Capostrophic/geteffect
...
Fix GetEffect result when running on dead actors
2019-10-26 12:47:58 +04:00
Bret Curtis
afb218fe29
Merge pull request #2564 from Capostrophic/enchant
...
Remove on-strike enchantment support for ranged weapon types (bug #5190 )
2019-10-23 15:11:36 +02:00
Bret Curtis
262d87846c
Merge pull request #2047 from akortunov/holstered_shield
...
Shields holstering support
2019-10-22 16:46:12 +02:00
Andrei Kortunov
d3a3b2f1f6
Shields holstering support (feature #5193 )
2019-10-22 09:02:59 +04:00
Alexei Dobrohotov
5d5ec1cf63
Merge pull request #2550 from elsid/fix_path_rebuild
...
Fix rebuild path for walking actors (Bug #5181 )
2019-10-20 16:05:29 +03:00
Capostrophic
fc7b4d73a8
Remove on-strike enchantment support for ranged weapon types (bug #5190 )
2019-10-20 13:34:42 +03:00
Andrei Kortunov
dd781b3da2
Fix OnStrike bows charges (regression #5191 )
2019-10-20 10:21:47 +04:00
elsid
e4d0af6a6d
Use z coordinate for path distance when diff by z is greater then actor height
2019-10-19 22:01:32 +02:00
elsid
81832f8e17
Reuse distance functions
2019-10-19 12:51:37 +02:00
Capostrophic
bc5d54a161
Fix GetEffect result when running on dead actors
2019-10-12 19:06:10 +03:00
Andrei Kortunov
31e78ed41f
Rework 'prevent merchant equipping' feature
2019-10-12 14:17:03 +04:00
Capostrophic
ce943b4f9e
Make enchantments affect all actors with an inventory (bug #5186 )
2019-10-11 19:29:12 +03:00
Andrei Kortunov
67bef9a3a1
Merge pull request #2554 from Capostrophic/summon
...
Make sure summoned creatures are removed upon caster death (#5183 )
2019-10-11 20:06:16 +04:00
Capostrophic
e9009f8d10
Make sure summoned creatures are removed upon caster death
2019-10-10 17:57:45 +03:00
Andrei Kortunov
69aceb5c1e
Split greetings from AiWander (bug #4594 )
2019-10-10 09:28:40 +04:00
David Cernat
d163f1b6da
[General] Turn WorldKillCount into a Worldstate packet
...
Rename the old WorldKillCount that was a Player packet into PlayerPlaceholder. Rename the unused CellCreate that was a Worldstate packet into WorldKillCount. On the server, move kill count-related script functions from QuestFunctions to WorldstateFunctions.
2019-10-08 11:09:08 +03:00
Andrei Kortunov
c51aba0b13
Recharge items outside of player's inventory (bug #4077 )
2019-10-07 22:59:43 +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
David Cernat
4a34666c59
Add OpenMW commits up to 7 Oct 2019
...
# Conflicts:
# apps/openmw/mwmechanics/aiactivate.cpp
2019-10-07 08:19:21 +03:00
Andrei Kortunov
2b2f63c919
Merge pull request #2538 from Capostrophic/animation
...
Use random attack strength if there's no wind up animation (bug #5059 )
2019-10-02 08:23:13 +04:00
elsid
7fbc696d44
Change angle direction by rolling dice to avoid rotating door
2019-09-29 13:44:06 +02:00
Capostrophic
4d381d0804
Use random attack strength if there's no wind up anim (bug #5059 )
2019-09-24 22:42:04 +03:00
Andrei Kortunov
48aba76ce9
Implement vanilla-style AiActivate (bug #4456 )
2019-09-24 09:30:39 +04:00
Alexei Dobrohotov
ac5491b5c2
Merge pull request #2534 from akortunov/toggleview
...
Improve resurrection handling
2019-09-22 02:02:03 +03:00
Andrei Kortunov
6450d84473
Improve resurrection handling
2019-09-21 20:22:45 +04:00
Capostrophic
7c9a9d7de0
Fix chance none logic for nested levelled lists (bug #5169 )
2019-09-21 14:30:38 +03:00
David Cernat
cc25612b8d
Add OpenMW commits up to 18 Sep 2019
...
# Conflicts:
# apps/openmw/mwclass/container.cpp
# apps/openmw/mwclass/door.cpp
# apps/openmw/mwmechanics/security.cpp
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwscript/miscextensions.cpp
2019-09-18 23:46:08 +03:00
Evil Eye
32de86d114
merge master
2019-09-17 20:31:53 +02:00
Evil Eye
7c8b82f45c
move locking behaviour to cellref
2019-09-17 20:30:37 +02:00
Andrei Kortunov
85bb4a76f6
Improve faction items handling (bug #5164 )
2019-09-17 19:09:08 +04:00
Andrei Kortunov
4a6d2cbaff
Do not allow player to take items from evidence chests (bug #3609 )
2019-09-17 19:08:33 +04:00
elsid
209e33f5ce
Open door when it is on the way to a next path point
2019-09-15 21:16:00 +02:00
elsid
653a391084
Do not open doors when actor has no path
...
When actor is not going anywhere it doesn't require to go through doors
so there is no need to open them.
2019-09-15 21:12:33 +02:00
elsid
d4b7b3e999
Check for AiPackage type before find nearby door
2019-09-15 21:12:29 +02:00
Capostrophic
6b74630f6e
Preparation work
...
Phase out canBeActivated() to unify activation checks
Use getName() for the name caption in tooltips
Always use tooltips for non-activator objects
Invert hasTooltip default value
2019-09-10 23:38:16 +03:00
Evil Eye
a86a8ecc0e
Allow locking/picking just about everything
2019-09-10 21:53:26 +02:00
Evil Eye
56b6a7ada4
Fix #5155
2019-09-09 22:29:59 +02:00
Andrei Kortunov
d58f93f388
Use sayDone() only for scripting backward compatibility
2019-09-06 09:19:41 +04:00
David Cernat
ca67587b89
Add OpenMW commits up to 5 Sep 2019
...
# Conflicts:
# apps/openmw/mwgui/container.cpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-09-05 21:41:50 +03:00
Andrei Kortunov
c9deb1b325
Generate sCrimeMessageReport only once per frame (bug #5012 )
2019-09-05 20:16:03 +04:00
Capostrophic
c89c14bb68
Rename objectOpened() to make its role more clear
2019-09-05 17:36:49 +03:00