1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 21:19:57 +00:00
Commit graph

3108 commits

Author SHA1 Message Date
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
Capostrophic
4838cf7362 Clean up spellcasting 2020-04-26 00:42:40 +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
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
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
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
Andrei Kortunov
dea2018d9f Do not use dynamic casts when using ObjectState 2020-03-17 15:18:40 +04: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
Capostrophic
1da4b31047 Switch torches to shields for hostile NPCs (bug #5300) 2020-02-24 02:20:08 +03: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
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
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
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
Andrei Kortunov
71e1d576cd Allow to enchant multiple projectiles at once (feature #3517) 2019-12-31 21:31:49 +04: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
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
Capostrophic
86c8fe386b Fix idle state reset 2019-12-03 20:50:57 +03: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
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
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
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
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
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
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
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
Capostrophic
8317dc0709 Make sure failed pick/trap attempts are a crime (bug #5149) 2019-09-05 17:29:49 +03:00
Alexei Dobrohotov
2daecc633e
Revert Vampirism behavior upon death to 0.45.0-like state
Until we figure out the better way to handle vampire stuff tangled together with post-death animation magic effect reset.
2019-09-04 16:42:34 +03:00
Andrei Kortunov
b6044d231a Handle death event manually before disposing a corpse if a death animation was not finished yet (feature #5146) 2019-08-27 22:42:41 +04:00
elsid
16170131b7
Add enum type for door state 2019-08-25 15:21:00 +02:00
Andrei Kortunov
bd18655d23
Merge pull request #2439 from Capostrophic/jumping
Fix jumping mechanics framerate dependency (bug #4991)
2019-08-18 10:57:11 +04:00
Andrei Kortunov
ed8828d3bc
Merge pull request #2457 from Capostrophic/sneak
Sneaking consistency fixes (bug #5103)
2019-08-18 08:57:22 +04:00
elsid
ad05de44ae
Use 3d coordinates to detect stuck
To able water and flying creatures move to player going up or down.
2019-08-17 18:09:00 +02:00
elsid
7b94183d83
Revert "Take in account actor half extents for obstacle check"
This reverts commit 5434e92437.
2019-08-17 17:55:49 +02:00
Andrei Kortunov
f7917964a0
Merge pull request #2484 from Capostrophic/fallbackanim
Allow SwimRunForward state WalkForward fallback (bug #5126)
2019-08-17 12:45:25 +04:00
Andrei Kortunov
0afb142b8e [Regression] restore ammo inventory sounds 2019-08-16 21:56:14 +04:00
capostrophic
99710e8f55 Allow SwimRunForward state WalkForward fallback (bug #5126) 2019-08-16 20:46:22 +03:00
Andrei Kortunov
6019f6507d Corrections for extended weapon animations feature 2019-08-10 20:57:37 +04:00
Andrei Kortunov
b09f0f8c2d
Merge pull request #2458 from Capostrophic/jump
Don't "jump" with 0 vertical velocity in all cases (bug #5106)
2019-08-09 21:03:24 +04:00
Alexei Dobrohotov
307e9ba666
Merge pull request #2413 from akortunov/weapon
Refactor weapon types behaviour
2019-08-09 20:02:10 +03:00
capostrophic
a9c4b18d38 Make sure cast chance checks mana when necessary (bug #5112) 2019-08-09 19:27:25 +03:00
Andrei Kortunov
134631ad72
Merge pull request #2463 from Capostrophic/crit
Vanilla-friendly ranged crits (bug #5067)
2019-08-09 20:23:56 +04:00
Andrei Kortunov
fcd6e915d4 Fallback for long animation groups 2019-08-09 19:40:30 +04:00
Andrei Kortunov
123ca175c8 Fallback for short weapon groups 2019-08-09 19:40:30 +04:00
Andrei Kortunov
afaff8231d Use the Weapon Bone as fallback 2019-08-09 19:40:30 +04:00
Andrei Kortunov
f0cef772fa Refactor weapon types behaviour
1. Move weapon types behaviour from switches to the table (should allow
us to de-hardcode weapon types later)
2. Gereralize bones injection to actors skeletons (instead of using the
hardcoded xbase_anim_sh.nif)
2019-08-09 19:40:27 +04:00
Andrei Kortunov
07cf93f4db Update weapon state when we cancel attack animation (bug #5124) 2019-08-09 09:17:36 +04:00
capostrophic
cac05ef826 Sneaking consistency fixes (bug #5103)
Correct pickpocketing behavior when not actually sneaking
Fix first person swimming animation regression when sneaking stance is on
Move typical sneaking use case checks into mechanics manager
Correct awareness checks
2019-08-05 20:22:03 +03:00
Andrei Kortunov
ad8b10c8db
Merge pull request #2464 from Capostrophic/enchant
Ignore on-strike enchanted projectile charge (#5104)
2019-08-05 11:32:16 +04:00
elsid
6c46d929c2
Build path to first pathgrid node by navmesh 2019-08-03 16:10:55 +02:00
elsid
f684c90932
Make angular velocity depending on actor speed
To avoid moving in circles for actors with high speed.
2019-08-03 16:06:04 +02:00
capostrophic
f8c07ca9dc Don't "jump" with 0 vertical velocity in all cases (bug #5106) 2019-08-02 18:16:47 +03:00
capostrophic
e9c71a3808 Ignore on-strike enchanted projectile charge (#5104) 2019-08-02 18:15:27 +03:00
capostrophic
ff133bd740 Don't clamp final actor fight rating to 0 (bug #5105)
Fix werewolf aggro distance
2019-08-02 18:11:48 +03:00
elsid
4ad04a28f9
Reset path after AiTravel is fast forwarded
Otherwise actor will keep going to the first path point that may be
unreachable.
2019-08-01 15:13:03 +02:00
Artem Nykolenko
610e87cb24 Fix Non-swimming enemies entering water if player is water walking (bug #5099) 2019-08-01 10:02:35 +00:00
capostrophic
e2496af5c5 Vanilla-friendly ranged crits (bug #5067) 2019-07-31 13:55:09 +03:00
Capostrophic
4e54ed86b3 Fix jumping mechanics framerate dependency (bug #4991) 2019-07-29 15:45:57 +03:00
Alexei Dobrohotov
facbb2e0db
[Regression] Make sure unloaded objects can be opened 2019-07-20 00:12:05 +03:00
Andrei Kortunov
69277b52d0
Merge pull request #2451 from Capostrophic/sounds
Fix combat sound inconsistencies (bugs #5092, #5093)
2019-07-19 08:03:33 +04:00
Alexei Dobrohotov
29ebfe709e
Play 'Hand To Hand Hit' only for fatigue damage (bug #5093) 2019-07-14 23:56:38 +03:00
Alexei Dobrohotov
65ee420ab9
Only play on-strike failure sound on the player (bug #5092) 2019-07-14 23:42:42 +03:00
Alexei Dobrohotov
366906ac51
Fix paralyzed actors' death animations 2019-07-12 12:31:10 +03:00
jeremy
962462c1c5 Removed unnecessary calls to stopSound3D
playSound3D (the one taking a ptr) already stops the sound if it's playing.
2019-07-04 22:54:39 +02:00
Alexei Dobrohotov
9dfee1dfe2
Fix invisibility/chameleon alpha (thanks Hrnchamd) 2019-06-30 16:13:11 +03:00
Capostrophic
b8afe14206 Disallow paralyzed actors to greet the player (bug #5074) 2019-06-29 13:31:36 +03:00
Andrei Kortunov
633b8e26ad
Merge pull request #2436 from Capostrophic/enchanting
Correct cast style behavior when there's no item picked (bug #5075)
2019-06-29 13:01:13 +04:00
Capostrophic
cbb22f0f63 Correct cast style behavior when there's no object (bug #5075) 2019-06-28 15:52:37 +03:00
Capostrophic
453068cc7d Disallow actors to start combat with themselves (bug #3550)
Allow creatures to play initial attack dialogue
Don't add combat package to dead actors
2019-06-27 19:50:54 +03:00
Alexei Dobrohotov
3cbe4ab85d
Fix idlestorm blend mask (bugs #4240, #5071) 2019-06-22 23:05:20 +03:00
Capostrophic
df89c6b6ce Make unarmed creature attacks affect shield condition again (bug #5069) 2019-06-20 20:45:52 +03:00
Alexander Perepechko
19b0b056e5 Remove spell FX and VFX after playing the death animation (bug #5060) 2019-06-13 21:42:25 +00:00
Capostrophic
25e52f7dfe Use 2D distance for fight rating of vertically moving actors (bug #4961) 2019-06-05 21:41:02 +03:00
Capostrophic
e7208bb80e Improve face shielding behavior in general case (bug #4240) 2019-05-30 12:16:25 +03:00
Capostrophic
40c1db32bd Apply analogue speed mult to fatigue loss 2019-05-24 12:50:16 +03:00
Andrei Kortunov
e679190f31 Introduce a custom format() function to get rid of boost::format() and hackish replace() 2019-05-20 09:20:01 +04:00
Capostrophic
3f73766304 Make enchanting make more sense (bug #5038) 2019-05-15 18:40:52 +03:00
Andrei Kortunov
7023e86d19
Merge pull request #2388 from Capostrophic/animation
Hardcode the correct first person sneaking anim speed (bug #4787)
2019-05-15 09:02:53 +04:00
Andrei Kortunov
316c79fecd
Merge pull request #2387 from Capostrophic/spells
Don't break GetSpellEffects execution if the spell doesn't exist
2019-05-15 08:55:54 +04:00
Capostrophic
1de984364a Hardcode the correct first person sneaking anim speed (bug #4787) 2019-05-15 01:46:55 +03:00
Capostrophic
5f7343ad7f Don't break GetSpellEffects execution if the spell doesn't exist 2019-05-14 21:24:03 +03:00
Andrei Kortunov
f775f7977b Fix RaiseRank/LowerRank script functions (feature #4316) 2019-05-14 21:43:19 +04:00
Alexei Dobrohotov
bb0c989f87
Clear expelled status when leaving faction 2019-05-13 10:22:03 +03:00
Capostrophic
555e43855d Allow scripted faction leaving using PCLowerRank (feature #5036) 2019-05-12 20:57:54 +03:00
Capostrophic
c67eb6d9db Drop bogus accounting for armor rating from weapon priority 2019-05-11 19:06:45 +03:00
Alexei Dobrohotov
0cea76c684
Merge pull request #2375 from akortunov/warnfix
Do not copy pointers during iteration
2019-05-11 14:10:01 +03:00
Andrei Kortunov
9ba6f5f36c Do not copy pointers during iteration 2019-05-11 09:44:30 +04:00
Capostrophic
9d191055bf Make offered price caps barter-specific (bug #5028) 2019-05-09 21:19:10 +03:00
Andrei Kortunov
7214f24f5c Ignore containers, when we search for owner 2019-05-06 23:06:13 +04:00
Andrei Kortunov
861d41f4a4 Native graphics herbalism support (feature #5010) 2019-05-02 23:03:47 +04:00
Andrei Kortunov
c610a58cf0 Improve reset of idle animations (bug #4847) 2019-04-28 22:28:24 +04: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
8abe92fe41 Don't recover normalise speed setting every frame 2019-04-24 16:22:56 +03:00
Capostrophic
34ea9ea813 Add an option to restore MCP-like movement behavior 2019-04-24 16:21:12 +03:00
Capostrophic
f2638b58c1 Tweak object VFX scaling (bug #4989) 2019-04-22 21:27:33 +03:00
Andrei Kortunov
5508e67aad Apply looping particles when adding spell to existing actor (bug #4918) 2019-04-20 09:52:15 +04:00
Alexei Dobrohotov
89a0b2d2d4 Merge branch 'issue-4805' into 'master'
Bug #4805: NPC movement speed calculations do not take race Weight into account

See merge request OpenMW/openmw!89

(cherry picked from commit 98f52fa8ad8d8746786c529373db81f8602135df)

61682570 Bug #4805: NPC movement speed calculations do not take race Weight into account
0c8308bc Revert "Bug #4805: NPC movement speed calculations do not take race Weight into account"
4b43e91f Change to only affect movement speed and not animation speed
a66ae118 Use adjustScale() to adjust movement calculation instead of using race weight
6295eadc Make sure height is also factored into movement speed
fde0ca8b Remove height from movement calculation and factor in cell reference scale
2019-04-17 14:28:49 +00:00
Andrei Kortunov
e534153d00 Use friendly hits only for player's followers (bug #4984) 2019-04-16 17:12:37 +04:00
Andrei Kortunov
6b49ce965b Do not update drowning state for actors outside of AI distance (bug #4980) 2019-04-14 18:09:11 +04:00
Andrei Kortunov
4da21942af Do not use the actors processing range to determine a maximum range of AiTravel (bug #4979) 2019-04-14 17:51:12 +04:00
Alexei Dobrohotov
5b8fc5a151
Merge pull request #2314 from OpenMW/stdc++14
bump from C++11 to C++14
2019-04-12 17:34:18 +03:00
Andrei Kortunov
9b716a2f8d
Merge pull request #2311 from Capostrophic/random
Use dice rolls instead of chance for spell magnitude (bug #4945)
2019-04-12 07:59:38 +04:00
Bret Curtis
2ab7f903d7 make use of std::make_unique to test that MSVC2015 can handle that 2019-04-10 11:09:44 +02:00
Capostrophic
d4c1bd81b6 Use dice rolls instead of chance for spell magnitude (bug #4945) 2019-04-08 20:25:30 +03:00
Andrei Kortunov
14b756a692 Use a generic logging system for RecastNavigation 2019-04-08 20:31:21 +04:00
Alexei Dobrohotov
e9f6c11cc9
Merge pull request #2309 from akortunov/enchant_animations
Add an option to use casting animations for magic items
2019-04-08 18:54:07 +03:00
Andrei Kortunov
0079a6bf05 Correct the Enchant skill progress (bug #4963) 2019-04-08 16:15:19 +04:00
Andrei Kortunov
35facc5cde Add an option to use casting animations for magic items (feature #4962) 2019-04-08 15:41:29 +04:00
Capostrophic
80a65e81dd Only set attack type randomly if "best attack" is on (bug #4942) 2019-03-31 22:20:26 +03:00
Bret Curtis
886c77bced
Merge pull request #2145 from akortunov/rest
Update jail state once instead of for every single hour
2019-03-27 13:14:22 +01:00
elsid
5434e92437
Take in account actor half extents for obstacle check 2019-03-21 23:15:47 +03:00
elsid
1e8bf3846e
Remove unused argument 2019-03-21 23:15:47 +03:00
elsid
287433efa8
Stop walking for water and flying creatures after single stuck 2019-03-21 23:15:47 +03:00
elsid
a65f60e1f1
Build path only by navmesh for wandering near spawn 2019-03-21 23:15:47 +03:00
elsid
ff67a9e233
Build straight path for wandering flying and water creatures 2019-03-21 23:15:47 +03:00
elsid
ebdff5d96e
Check for height map when cast ray for AiWander path 2019-03-21 23:15:47 +03:00
elsid
e033b0c565
Avoid build path through the ground for flying wandering creatures 2019-03-21 23:15:46 +03:00
elsid
e82d65a2c7
Use if-continue to skip build path 2019-03-21 23:15:46 +03:00
Andrei Kortunov
be12d241da Reset current attack during force update (bug #4922) 2019-03-20 12:28:29 +04:00
Bret Curtis
1078708da0
Merge pull request #2235 from akortunov/aifix
[0.45 regression] Fix AI regressions
2019-03-10 11:48:48 +01:00
Andrei Kortunov
2a08b85998 Combat AI: normalize hit chance in the weapon priority calculation 2019-03-09 22:24:50 +04:00
Andrei Kortunov
5f0c8a4783 Combat AI: decrease priority multiplier for enchantments (bug #3830) 2019-03-09 22:05:24 +04:00
elsid
d3bdf912a4
Do not scale duration when timescale is zero 2019-03-09 17:14:07 +03:00
Bret Curtis
c20e69ef24
Merge pull request #2227 from elsid/fix_twitchy_massive_creatures
Fix twitchy movement for massive creatures (bug #4907)
2019-03-09 02:11:11 +01:00
elsid
ea80a81538
Drop path points while tolerance allows 2019-03-08 22:33:34 +03:00
elsid
b9f21ec81a
Use custom steps size to make smooth path depending on half extents 2019-03-08 22:33:34 +03:00
elsid
8fd6b37e34
Make path point tolerance depending on actor half extents 2019-03-08 22:33:33 +03:00
Andrei Kortunov
4c21776b94 Use relative animation time only for bows and crossbows (bug #3778) 2019-03-08 20:16:02 +04:00