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