CedricMocquillon
6bfdf0e57f
Add more information on mouse over level
2020-12-07 14:57:25 +01:00
Alexei Dobrohotov
84e1a29700
Make AI cast self-targeted spells at the ground (bug #5695 )
2020-12-04 00:41:21 +03:00
Andrei Kortunov
8084a336b5
Replace zeroes and nulls by nullptrs
2020-11-29 11:14:07 +04:00
Nelsson Huotari
f78a5d795c
Separate keyframes logic to provide basis for osgAnimation integration.
2020-11-18 22:48:47 +02:00
Alexei Dobrohotov
8a6d3d1b4f
Minor fixes
...
Fix extra semicolon
Disable collision avoidance if AI is disabled
2020-11-13 22:53:12 +03:00
Andrei Kortunov
0e971dccf0
Rework cure effects
2020-11-04 13:51:10 +04:00
Andrei Kortunov
c1d56d94c4
Do not remove active effects in loop (bug #3789 )
2020-11-02 17:51:36 +04:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
...
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
Andrei Kortunov
64ba81ecf2
Fix some issues, found by CoverityScan
2020-10-28 18:02:31 +04:00
Bret Curtis
5a824d0333
components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues
2020-10-22 23:57:53 +02:00
Alexei Dobrohotov
7da8479d25
Fix lower body blocking animation priority (bug #5656 )
2020-10-21 19:35:01 +03:00
psi29a
09373a757d
Merge branch 'radioactive' into 'master'
...
Container base record mutations
See merge request OpenMW/openmw!353
(cherry picked from commit 8b33765dd414680f0074b3e115b52b291b4cb7cb)
275908a0 mutate container base records
16fca11d add changelog entry
2020-10-20 16:56:22 +00:00
Andrei Kortunov
065ed5138e
Use emplace_back instead of push_back
2020-10-18 10:27:35 +04:00
psi29a
4adc689c7a
Merge branch 'summoncrash' into 'master'
...
Avoid summon spawn if actor isn't in a cell (bug #5644 )
See merge request OpenMW/openmw!351
2020-10-18 00:35:35 +00:00
Alexei Dobrohotov
f90e403bc1
Avoid summon spawn if actor isn't in a cell (bug #5644 )
2020-10-18 01:42:32 +03:00
psi29a
f513ee1f1d
Merge branch 'configurable_turning_delay' into 'master'
...
Makes the delay of turning while run configurable (part of "smooth movement")
See merge request OpenMW/openmw!349
2020-10-17 20:21:02 +00:00
Petr Mikheev
9ec6fce446
Makes the delay of turning while run configurable (part of "smooth movement").
2020-10-17 16:11:22 +02:00
Petr Mikheev
c72199155c
Use full speed in the "NPCs give way" maneuver.
2020-10-17 15:33:23 +02:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
Andrei Kortunov
c3d84b2c7c
Ability to attach arrows to shooter's hands (feature #5642 )
2020-10-14 10:07:42 +04:00
Assumeru
72549651e0
Rework container resolution ( #3006 )
...
* Rework container resolution
* add optional argument to getCount
* remove now-redundant changes
* undo worldimp changes
* move save-fixing code to InventoryState
* replace Rng instances with Seeds
2020-10-13 17:46:32 +02:00
Petr Mikheev
15078f5b3c
Fix #5630 "NPCs momentarily turn when the player character is moving backwards during combat"
2020-10-10 23:06:43 +02:00
Alexei Dobrohotov
1842f546c3
Restore empty target check in spell absorption
2020-10-10 14:27:52 +03:00
Alexei Dobrohotov
e930251d92
Merge branch 'godmode' into 'master'
...
Add many more godmode checks to harmful magic (bug #5633 )
Closes #4264
See merge request OpenMW/openmw!336
2020-10-09 22:09:46 +00:00
Alexei Dobrohotov
0e8c5c5034
Merge branch 'avoid_collision_update' into 'master'
...
Update logic of "NPCs avoid collisions"
See merge request OpenMW/openmw!318
2020-10-09 18:43:43 +00:00
Alexei Dobrohotov
39678c74bf
Add many more godmode checks to harmful magic (bug #5633 )
2020-10-09 20:36:51 +03:00
Alexei Dobrohotov
0dcb8c6b69
Fix pick/probe uses decrement
2020-10-09 19:20:50 +03:00
Petr Mikheev
2835ea1e21
Update logic of "NPCs avoid collisions"
2020-10-03 22:58:00 +02:00
psi29a
aa4e6c448b
Merge branch 'spellabsorption' into 'master'
...
Support enchantment absorption
See merge request OpenMW/openmw!307
2020-09-29 15:27:52 +00:00
psi29a
d9dafbe45b
Merge branch 'master' into 'uses'
...
# Conflicts:
# CHANGELOG.md
2020-09-29 08:20:50 +00:00
Alexei Dobrohotov
e0a5c24afe
Handle 0-use items like vanilla (bug #5611 )
2020-09-25 00:20:25 +03:00
Petr Mikheev
ad51a4be2e
Changes in head tracking and greetings for "smooth movement".
2020-09-22 22:50:44 +02:00
Petr Mikheev
b838782557
Avoid collisions between actors.
2020-09-22 22:50:44 +02:00
Petr Mikheev
79a72e4b44
Slightly modify aicombat to make it more difficult to get around an enemy. The difference is visible only if turning is slow (i.e. if smooth movement enabled).
2020-09-22 22:50:44 +02:00
Petr Mikheev
6a75942907
Fix CharacterController::setAttackTypeBasedOnMovement
2020-09-22 22:50:44 +02:00
Petr Mikheev
bd6b984022
Smoothing speed in CharacterController
2020-09-22 22:50:44 +02:00
Petr Mikheev
71ba94a89a
Smooth turning; smooth stopping; combat headtracking
2020-09-22 22:50:44 +02:00
Alexei Dobrohotov
f8389c6c37
Support enchantment absorption
2020-09-22 00:33:27 +03:00
Bret Curtis
dd7e964baf
Merge pull request #2999 from akortunov/spellfix
...
Apply effects during rest before fast-forwarding spells state
2020-09-20 14:47:37 +02:00
Petr Mikheev
874c754b68
Fix #5557
2020-09-15 20:24:16 +02:00
Andrei Kortunov
753ca91556
Set a minimum 1gp cost for services (regression #5600 )
2020-09-08 17:04:31 +04:00
Alexei Dobrohotov
99ab629a03
Merge pull request #2995 from akortunov/arrows
...
Improve ammo resetting
2020-09-06 13:30:55 +03:00
Andrei Kortunov
f9ca08a984
Do not use swish sound for ranged weapons
2020-09-03 09:48:12 +04:00
Andrei Kortunov
787ca06d55
Apply effects during rest before fast-forwarding spells state
2020-09-01 19:36:59 +04:00
Bret Curtis
53e581fe10
Merge pull request #2899 from akortunov/multiple_effects
...
Track magic effect index for summoning
2020-09-01 14:17:49 +02:00
Petr Mikheev
7e3d19196d
Fix #5586
2020-09-01 00:37:37 +02:00
Evil Eye
131bd5c91d
Fix unused template argument
2020-08-30 22:10:49 +02:00
Andrei Kortunov
67eace1028
Use struct instead of tuple
2020-08-29 11:24:08 +04:00
Andrei Kortunov
924f634bda
Support for multiple summons with same ID in the single spell
2020-08-28 21:14:54 +04:00
Andrei Kortunov
297898182b
Reset attached arrow in the beginning of unequipping animation
2020-08-28 15:53:30 +04:00
psi29a
f90a049702
Merge branch 'movement_refactoring' into 'master'
...
Refactoring related to "smooth movement"
See merge request OpenMW/openmw!285
(cherry picked from commit 6eaf0a389d5aed3b74ab1a7cf89574612f964bdf)
e847b4c8 Split getSpeed() to getMaxSpeed() and getCurrentSpeed()
a96c46bc Refactor calculation of movement.mSpeedFactor
03ee9090 Use getMaxSpeed instead of getCurrentSpeed where it makes sense.
a178af5c Create helper functions `normalizeAngle` and `rotateVec2f`
2020-08-27 11:54:30 +00:00
Capostrophic
a0ca7c4b43
AIPursue: don't do a LOS check
...
Properly resolve #4774
2020-08-09 12:48:59 +03:00
psi29a
f73aa9f27a
Merge branch 'launcher_update' into 'master'
...
Add more settings to openmw-launcher
See merge request OpenMW/openmw!272
2020-08-07 20:17:44 +00:00
Petr Mikheev
6a4fa8a8b5
Add more settings to openmw-launcher
2020-08-07 20:17:44 +00:00
Bret Curtis
32e7b78cb9
Merge pull request #2985 from Assumeru/master
...
Fix regression #5572
2020-08-07 21:23:38 +02:00
Evil Eye
fb28d27d08
don't discard purged effects
2020-08-07 16:36:59 +02:00
Capostrophic
a211527b4b
Fix AppVeyor warnings
2020-08-07 09:59:16 +03:00
Alexei Dobrohotov
eed8902380
Merge pull request #2982 from Assumeru/explain
...
Comments to explain the arcane workings of Morrowind
2020-08-05 18:05:55 +03:00
Evil Eye
144a7f330f
Fix a regression that meant missing spells would prevent a save from being loaded
2020-08-04 18:28:10 +02:00
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
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
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
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
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
Petr Mikheev
b4c699348f
Improved strafe movement
2020-06-22 15:22:34 +02: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
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
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
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