1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 16:49:55 +00:00
Commit graph

2106 commits

Author SHA1 Message Date
Allofich
1602eb3de8 Fix so that keepPlayerAlive() will not run twice 2016-06-27 21:43:49 +09:00
Allofich
19a20a6871 Fix update of fatigue display 2016-06-27 21:17:06 +09:00
MiroslavR
dfc62c99b4 Show correct class image in level-up dialog (Fixes #3443) 2016-06-26 03:22:58 +02:00
Allofich
dc468dd139 Fix magicka and fatigue calculations from fortifying attributes 2016-06-25 19:21:49 +09:00
Allofich
5d3aebd04b Update disposition check between persuasion attempts 2016-06-22 01:47:09 +09:00
terrorfisch
be25e2ba75 Make NPCs use both hands in weaponless combat. 2016-06-20 10:24:51 +02:00
Allofich
b1be3596dc Cleanup of #include statements 2016-06-18 10:56:28 +09:00
Allofich
4a38fb8650 Use namespace block in aiactivate 2016-06-17 20:59:37 +09:00
scrawl
3ce63c3f6e Merge pull request #967 from Allofich/AIPackageFixes
AI package cleanups
2016-06-16 20:22:51 +02:00
Allofich
c2b51112f2 AI package cleanups 2016-06-16 17:17:56 +09:00
scrawl
693d3cea4a Float to surface fix 2016-06-15 19:38:04 +02:00
scrawl
b5cb11ff07 Split refreshCurrentAnims into multiple functions 2016-06-15 03:14:44 +02:00
scrawl
372f2e2f18 Merge pull request #962 from Allofich/AIPackageFixes
Duration fixes for Follow and Escort
2016-06-14 20:47:32 +02:00
Allofich
3bebbab78e Duration fixes for Follow and Escort 2016-06-15 02:11:30 +09:00
scrawl
3ec4ee6290 Make a copy of map key to work around it being invalidated (Fixes #3329) 2016-06-13 02:06:44 +02:00
scrawl
4acfe1a7e4 Move cleanupSummonedCreature to the mechanics manager (Bug #3439) 2016-06-12 02:43:33 +02:00
scrawl
910ad76e29 Remove spell effects when a summoned creature expires (Bug #3439) 2016-06-12 00:41:13 +02:00
scrawl
b7e45b046d When a summoned creature dies, wait for its death animation to complete before removing it (Bug #3439) 2016-06-12 00:40:55 +02:00
scrawl
a825882c6b Process death events at the end of the death animation (Fixes #1873) 2016-06-12 00:04:50 +02:00
scrawl
37afe966cf Update comment 2016-06-11 21:25:40 +02:00
scrawl
7a30ef5cc1 Do not consider actors following the player as hostiles 2016-06-11 18:26:20 +02:00
scrawl
8fcc1911d9 Use fCombatDistance as the creature attack range 2016-06-10 23:47:01 +02:00
scrawl
166cced22f Merge pull request #957 from svaante/master
Added 1.5 bonus for ranged weapons when weapons are rated
2016-06-10 00:01:05 +02:00
scrawl
a14f1bc222 Merge pull request #954 from Allofich/AIWanderDuration
Improve duration calculations in Wander AI
2016-06-09 23:46:37 +02:00
Allofich
55ac1fab68 Change Wander duration to run on a counter 2016-06-10 04:36:18 +09:00
Daniel Pettersson
256439f884 Added 1.5 bonus for ranged weapons when weapons are rated 2016-06-09 21:23:36 +02:00
scrawl
abcd2219e8 Ignore the calling actor in getEnemiesNearby / getActorsFighting 2016-06-08 22:13:21 +02:00
scrawl
165f048792 Do not count dead NPCs as observers (Fixes #3434) 2016-06-07 22:01:44 +02:00
scrawl
f417d7780a Fix the enemy nearby check (Bug #3423) 2016-06-07 01:55:34 +02:00
scrawl
a45643f150 Merge pull request #949 from Allofich/master
Fix return values for AITravel
2016-06-05 21:16:28 +02:00
Allofich
065d6a391d Don't repeat sequences of only one non-wander AI 2016-06-06 04:12:49 +09:00
Ben Shealy
5085afa3d7 Moved mechanics code from MWGui::TradeWindow to MWMechanics::Trading 2016-06-04 12:28:47 -04:00
Allofich
bce66c629a Change editor-placed AI packages to cycle 2016-05-29 17:34:40 +09:00
scrawl
496cb85b01 Do not cancel Ai packages when on loading (Fixes #3409)
This piece of code was an attempt to fix up save games made before commit d3b76b7006 , but ended up introducing a new bug.
2016-05-28 20:27:05 +02:00
scrawl
0efbdb25ee Improve const-correctness in Animation 2016-05-19 22:30:14 +02:00
scrawl
3749821809 Choose a random death animation for actors that start the game as dead (Fixes #3397) 2016-05-19 21:40:05 +02:00
scrawl
3b31e8f66e Do not set AiPackageDone flag for non-Aipackages (Fixes #3392) 2016-05-14 19:19:37 +02:00
Roman Proskuryakov
d7046878a8 Fix uninitialized values in MWMechanics::AiCombat 2016-05-07 20:41:47 +03:00
Michał Moroz
40cc6a4164 Changed AiSequence::stack to push_back lower priority packages instead of push_front (Bug #3384) 2016-05-04 13:55:36 +02:00
scrawl
93b2f09224 Workaround for some AI functions being incorrectly handled as AI packages (Bug #3378) 2016-04-29 18:07:35 +02:00
scrawl
5edfe8c41c Reduce the wander fast forward overcrowding offset (Fixes #3370) 2016-04-23 22:47:42 +02:00
Austin Salgat
be16857f96 Fix wrong height being used for water detection 2016-04-17 10:46:09 -05:00
Austin Salgat
e9157e9200 Fix idle animation and Fix water creature manual wandering 2016-04-16 20:38:58 -05:00
Austin Salgat
3dec10c686 Update variable to prevent underflowing
While not an issue presently, the variable may be used in the future in a way that could create issues if it underflows.
2016-04-16 17:51:13 -05:00
Austin Salgat
84179c262f Update manual wandering to prevent actor from leaving/entering water
Water creatures will stay in the water, while land creatures will stay on land when wandering.
2016-04-16 16:39:13 -05:00
Austin Salgat
fc03216d48 Refactor to reuse existing obstacle detection 2016-04-16 12:14:00 -05:00
Austin Salgat
34726c24d9 Fix mDistance being reset prematurely
This was causing wandering without pathgrids to become disabled for most wandering units. Additionally, wandering now behaves the same for both NPCs and creatures.
2016-04-15 21:56:41 -05:00
Austin Salgat
92b352989a Add logic for NPC wandering without pathgrids 2016-04-13 20:48:08 -05:00
Austin Salgat
c02881a4f8 Fix creatures not wandering 2016-04-12 21:16:55 -05:00
Austin Salgat
38f5a225ea Refactor PathFinder functions to be useable by AiWander
This avoids having to duplicate the distanceSquared and getClosestPoint functions.
2016-04-10 20:44:08 -05:00
Austin Salgat
96231e17f0 Fix wandering NPCs going off pathgrid
If multiple pathgrids exist in the same cell, sometimes an NPC would port to a different pathgrid that was nearby. This is an issue since it allowed them to do things like travel through walls to inaccessible areas. Now they will only wander along the closest connected pathgrid.
2016-04-10 20:21:18 -05:00
scrawl
79c8f69b24 Clear the class selected / race selected flags when starting a new game (Fixes #3326) 2016-04-03 20:23:28 +02:00
scrawl
e71aa53574 Don't allow playing a sound/soundgen key more than once at the same time on the same object (Fixes #2689) 2016-03-24 19:26:12 +01:00
scrawl
b332704df7 Switch hand-to-hand attack types randomly when "always use best attack" is turned on (Fixes #3259) 2016-03-19 18:03:59 +01:00
scrawl
a6e23d03d3 Don't clamp disposition twice, clamping is already done inside getDerivedDisposition 2016-03-18 00:42:22 +01:00
scrawl
102f9719f7 Remove some garbage 2016-03-18 00:39:27 +01:00
scrawl
79eb2d20e0 Cleanup 2016-03-18 00:39:19 +01:00
scrawl
12ec90f9e7 Change default argument, fix GetDisposition 2016-03-18 00:38:02 +01:00
scrawl
bc5adfa4fe Merge pull request #913 2016-03-18 00:31:55 +01:00
scrawl
14e1911820 Fix memory leaks 2016-03-10 20:38:14 +01:00
ae-g-i-s
c9791c5c1a Add addTemporaryDispositionChange parameter to MechanicsManager::getDerivedDisposition(), adjust callers that previously added temp disposition changes themselves (fixes #3233) 2016-03-08 21:30:28 +01:00
ae-g-i-s
2f1c6c740c Revert "Fix incorrect handling of baseDisposition >= 100 in testDisposition(), enable unbounded getDerivedDisposition() (Fixes #3233)"
This reverts commit 000597236e.
2016-03-08 20:41:39 +01:00
ae-g-i-s
000597236e Fix incorrect handling of baseDisposition >= 100 in testDisposition(), enable unbounded getDerivedDisposition() (Fixes #3233) 2016-03-06 18:29:32 +01:00
scrawl
2821f46a18 Corpse clearing fix 2016-03-01 11:31:08 +01:00
scrawl
7485abe5c3 Use safePlaceObject for summoned creature spawning 2016-02-29 17:27:07 +01:00
scrawl
11f00e3aa9 Rename safePlaceObject to placeObject 2016-02-29 17:05:18 +01:00
scrawl
c3ef387208 Vanilla-compatible creature/NPC respawning (Fixes #2369, Fixes #2467) 2016-02-27 12:53:07 +01:00
scrawl
a97eae864d Fix the ObstacleCheck time step (Fixes #3211) 2016-02-26 13:15:41 +01:00
scrawl
d05603c7fe Directly apply On Target 'When Strikes' enchantments instead of launching a projectile (Fixes #3212) 2016-02-22 19:42:54 +01:00
scrawl
90a99991d1 Use empty() instead of !size() 2016-02-22 19:06:12 +01:00
scrawl
8bd16e4d5a Don't compute the world matrix multiple times 2016-02-22 18:58:19 +01:00
scrawl
c4d38bb42d Fix clang analyzer warnings 2016-02-16 19:17:04 +01:00
scrawl
48ac0bef3e Repair save games affected by bug #3080 (Fixes #3160) 2016-02-11 16:34:02 +01:00
scrawl
a7b217def2 AI: don't cast fortify effects (Fixes #3184) 2016-02-07 01:29:11 +01:00
scrawl
162287b82d AI combat actions: rename 'target' to 'enemy' 2016-02-07 01:29:11 +01:00
scrawl
94c05c6baa AI: don't cast useless resist spells (Fixes #2760) 2016-02-07 01:29:02 +01:00
scrawl
d3415387a5 AI: take into account success chance when rating a spell 2016-02-07 01:18:20 +01:00
scrawl
b9d1d6144a Don't reveal unknown potion effects in alchemy window (Fixes #3146) 2016-02-02 22:50:11 +01:00
scrawl
d3b76b7006 Don't stack Ai packages (Fixes #3101, Fixes #3080, Fixes #2697) 2016-02-02 22:20:56 +01:00
scrawl
7aeafd3bb9 Revert "Apply the AiTravel maxRange to AiEscort as well (Fixes #2697)"
This reverts commit 1f543b4d79.
2016-02-02 22:08:12 +01:00
scrawl
145756c0a1 Partly revert "Avoid directly iterating the actor map (Fixes #3173)"
Caused issues when a summoned creature is removed as part of the magic effect update.

Fixes #3178
2016-02-02 15:57:15 +01:00
scrawl
59d2de118f Avoid directly iterating the actor map (Fixes #3173) 2016-02-02 00:50:21 +01:00
scrawl
50ed061154 AiWander: reset mAllowedNodes on cell change (Fixes #3176, Fixes #3130) 2016-02-02 00:41:40 +01:00
scrawl
dda4273349 Actors that start the game as dead do not float to the surface (Fixes #3177)
This has a minor bug (can you spot it?) that affects the vanilla engine as well, unfortunately not so simple to fix.
2016-02-01 23:18:18 +01:00
scrawl
832eaae27b Do not apply effects with CasterLinked flag when there is no valid caster 2016-02-01 22:57:08 +01:00
scrawl
c34314ae26 When an actor dies purge all spell effects cast by that actor (Fixes #3175) 2016-02-01 22:52:28 +01:00
Tobias Kortkamp
0659687bfb Some fixes for building on FreeBSD 2016-01-25 14:13:16 +01:00
scrawl
b0431833a1 Fix some defects reported by Coverity CI 2016-01-21 16:08:04 +01:00
mrcheko
b304e98568 implement ActionWeapon::getCombatRange (move logic from AiCombat) 2016-01-15 21:49:27 +03:00
scrawl
4e6a60672d When a spell explodes on an actor do not apply it to that actor twice (Fixes #3142) 2016-01-12 00:40:09 +01:00
scrawl
daa94cc50e Fix cppcheck warnings 2016-01-03 20:19:38 +01:00
mrcheko
bcb1f4ed05 refactor AiCombat: remove all pathfinding code, adopt new version of
AiPackage::pathTo;
fix couple of warnings;
2016-01-03 15:33:52 +03:00
Poncho
b1020dcd42 Use correct direction multipliers during awareness check 2016-01-02 12:24:39 -06:00
mrcheko
b960b0af93 rewrite pathTo for clearer logic; reapply Scrawl's aifollow threshold 2016-01-01 16:41:45 +03:00
mrcheko
d7d5cc6689 Merge remote-tracking branch 'upstream/master' into pathfinding
Conflicts:
	apps/openmw/mwmechanics/aicombat.cpp
	apps/openmw/mwmechanics/aifollow.cpp
	apps/openmw/mwmechanics/aipackage.cpp
	apps/openmw/mwmechanics/aipackage.hpp
	apps/openmw/mwmechanics/aiwander.cpp
	apps/openmw/mwmechanics/pathfinding.hpp

Ogre::Vector3->osg::Vec3f; REACTION_INTERVAL->AI_REACTION_TIME; MakeOgreVec3->MakeOsgVec3
2015-12-29 19:15:40 +03:00
scrawl
63b9b075aa Do not allow soul trapping the same creature more than once (Fixes #3102) 2015-12-26 18:47:22 +01:00
scrawl
0bec6e5fbe Fix 'failed to find animation' warnings when a spell was equipped before the werewolf transformation 2015-12-26 18:45:09 +01:00
scrawl
6b67911658 Unset DrawState_Spell when becoming a werewolf 2015-12-26 18:26:55 +01:00
scrawl
f052c05018 Move werewolf functions from World to MechanicsManager 2015-12-26 18:23:13 +01:00
scrawl
29d0f448b4 Add const version of World::getAnimation 2015-12-19 16:15:45 +01:00
scrawl
51c77c5045 Accept a ConstPtr in getDoorState 2015-12-19 16:15:45 +01:00
scrawl
53f4b92426 AiEscort do not follow target through doors
Testing revealed a problem where the guard on the prison ship would incorrectly follow the player outside. Upon further investigation in vanilla MW, it appears that with AiEscort the actor only follows the target through doors once the AiEscort package has completed, *and* no new AI package is running yet.
2015-12-19 15:15:44 +01:00
scrawl
04f7a8f8eb Remove redundant getId function 2015-12-18 16:58:38 +01:00
scrawl
b2add6470b Missing include fix 2015-12-18 02:58:38 +01:00
scrawl
1c8244276d Exception handling improvements (Bug #3090) 2015-12-18 02:36:34 +01:00
scrawl
689dea4cb3 Add instant spell effects to the actor's magic effect list
Via http://forum.openmw.org/viewtopic.php?f=2&t=3212&start=20#p36208
2015-12-17 19:49:37 +01:00
scrawl
375caf037d Don't applyInstantEffect when magnitude is zero 2015-12-15 20:46:05 +01:00
scrawl
4af376133b Don't tick effects when duration is zero 2015-12-15 20:41:00 +01:00
scrawl
572786bff2 Instant effects that were added by a permanent ability are applied every frame
Via http://forum.openmw.org/viewtopic.php?f=2&t=3212&p=36120#p36121
2015-12-14 03:27:49 +01:00
scrawl
a7e0562e1c Fix improper handling of multiple AiFollow packages with the same target (Fixes #3077) 2015-12-13 17:42:11 +01:00
scrawl
f1f82af64e Fix improper swimming animations in first person mode 2015-12-11 01:24:42 +01:00
scrawl
bdae572264 Merge pull request #840 from scrawl/movedrefs
Object movement between cells
2015-12-09 14:10:57 +01:00
scrawl
6f98982bc2 Make sure that health is >= 1 when resurrecting the player (Fixes #2972) 2015-12-09 01:52:20 +01:00
scrawl
34f48d63f3 Apply spell absorption once per effect (Fixes #2942) 2015-12-09 00:35:54 +01:00
scrawl
07b064f616 Rename to lowerCaseInPlace 2015-12-07 22:49:15 +01:00
scrawl
1875aa4a18 Restore getNearbyDoor 2015-12-07 03:53:46 +01:00
scrawl
1f543b4d79 Apply the AiTravel maxRange to AiEscort as well (Fixes #2697) 2015-12-07 00:26:17 +01:00
scrawl
965bea45c0 AiEscort makes the actor side with target in fights (Bug #2697)
Also will follow the player through teleport doors.
2015-12-06 23:38:51 +01:00
scrawl
4e678ce6b3 Handle mCellId in AiEscort 2015-12-06 23:38:51 +01:00
scrawl
0975f60d59 Stub out CellStore::get<T> accessors in preparation of reference movement between cells 2015-12-04 18:29:41 +01:00
scrawl
14b143231c Don't crash OpGetTarget when the target disappeared (Fixes #3048) 2015-11-30 15:26:43 +01:00
Marc Zinnschlag
ff5582e318 Merge remote-tracking branch 'scrawl/ltex' 2015-11-28 09:51:57 +01:00
scrawl
5b8fd79b4b Fix crash when exception is thrown in startNewGame() 2015-11-27 21:38:57 +01:00
Chris Robinson
5f8a09df97 Play player sounds (except footsteps) local to the listener 2015-11-27 02:01:18 -08:00
Marc Zinnschlag
7cc950ed64 Merge remote-tracking branch 'origin/master' 2015-11-27 10:34:22 +01:00
scrawl
44dd62067e Remove some unnecessary per-frame store searches 2015-11-27 02:13:56 +01:00
scrawl
783594033a Optimize MWMechanics::Spells
Use pointers as map keys instead of string IDs. Resolves a nasty performance bottleneck on functions like hasCommonDisease() that previously had to look up all contained spells from the ESM store on every call. hasCommonDisease() is called hundreds of times per frame by the AI target update since it's used to calculate target disposition.

The total cost of hasCommonDisease() was 2.7% of the frame loop, now it's negligible.
2015-11-27 01:07:15 +01:00
Chris Robinson
73448c72f6 Replace Play_NoTrack with playManualSound3D, and rename the latter 2015-11-25 04:24:26 -08:00
scrawl
62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 2015-11-22 19:54:26 +01:00
scrawl
3453353091 AiCombat distance check takes into account collision box (Fixes #1699) 2015-11-18 19:00:43 +01:00
scrawl
666fbba1e0 Rotations: World::rotateObject takes radians instead of degrees
Cuts down on the amount of redundant degree<->radians conversions in the codebase.
2015-11-12 01:09:39 +01:00
scrawl
6405049add Rotations: move doors via Rotation rather than LocalRotation
Now LocalRotation is unneeded, will remove in next commit.
2015-11-12 00:58:29 +01:00
scrawl
637cd3a628 Adjust the FirstPersonNeckController to follow the camera with a reduced factor (Fixes #1784) 2015-11-10 01:01:41 +01:00
scrawl
3c338b9da9 ObstacleCheck: tweak the stuck detection parameters
The netch_betty wander animation starts up so slowly that the creature thought it was stuck, even though it's not.
2015-11-09 20:35:31 +01:00
scrawl
d233bc483d ObstacleCheck: fix evasion issue
The check if (samePosition... would not work as intended because actors do not move in every frame when the framerate is higher than the physics framerate. In that case the actor would change its evasion direction almost every frame.
2015-11-09 20:35:31 +01:00
scrawl
caa523a959 ObstacleCheck: fix the framerate not being taken into account 2015-11-09 20:35:31 +01:00
scrawl
801dc8eee3 ObstacleCheck: fix weird distance calculation 2015-11-09 20:17:21 +01:00
scrawl
c996702b56 Fix some uninitialised variables found by static analysis 2015-11-04 20:34:50 +01:00
scrawl
46e07e4b19 Head tracking: fall back to target collision box center if the target has no head node 2015-11-03 18:27:15 +01:00
scrawl
b72d5c5190 Don't play idlestorm animation when swimming 2015-11-03 17:48:35 +01:00
scrawl
8459a79a2c Fix AI being able to open locked doors (Fixes #2948) 2015-10-13 19:05:17 +02:00
Marc Zinnschlag
7e7215b3b3 Merge remote-tracking branch 'scrawl/master' 2015-10-07 08:09:27 +02:00
scrawl
7b6fe149f2 getSpellSuccessChance return 0 for used powers (Fixes #2944) 2015-10-05 15:41:43 +02:00
scrawl
77cb438714 Fix potential case smashing issue 2015-10-05 15:41:07 +02:00
artemutin@yandex.ru
ec4fff588d uncomment updateActor call in buildPlayer for magicka recalc 2015-10-05 23:07:13 +10:00
scrawl
387624e158 Add a threshold to AiFollow distance
Idle animations can move the actor around slightly, which sometimes causes AiFollow to constantly toggle between "arrived" and "following" state even when the player isn't moving. Could be observed by summoning a bonelord.
2015-09-26 02:02:50 +02:00
Alexander "Ace" Olofsson
7d4125d97f Fixes for building with unity build 2015-09-24 15:21:42 +02:00
dteviot
60d0ad9283 When stuck, try moving backwards as well as to side. 2015-09-19 16:14:00 +12:00
dteviot
5369d20682 Moved pathfinding logic from AiCombat to Pathfinding. 2015-09-19 15:34:02 +12:00
Marc Zinnschlag
b58a63e14e Merge remote-tracking branch 'scrawl/deathanim' 2015-09-17 14:54:29 +02:00
Marc Zinnschlag
96880b4dfe Merge remote-tracking branch 'scrawl/tabs' 2015-09-17 09:30:31 +02:00
Marc Zinnschlag
c35ce88ee7 Merge remote-tracking branch 'scrawl/aiming' 2015-09-17 09:25:33 +02:00
scrawl
a7f898057b Don't activate the initial death animation when skipAnim is set (Fixes #2513) 2015-09-17 04:38:42 +02:00
scrawl
c4b5a41ac3 Improve combat AI vertical aiming (Fixes #1366, Fixes #1330) 2015-09-17 03:41:15 +02:00
scrawl
a47617c21f Fix tab indentations in apps/ and components/ 2015-09-16 20:45:37 +02:00
scrawl
126960261f Keep playing IdleSneak on the lower body when casting spells / using weapons 2015-09-16 16:14:17 +02:00
scrawl
5692ef1eae Add convenience operator [] to AnimPriority 2015-09-16 15:43:42 +02:00
scrawl
84747fbdd7 Use the actual sneak state to determine visibility of indicator (Fixes #2915) 2015-09-16 15:37:36 +02:00
dteviot
0feae19140 AiCombat use evadeObstacles() from AiPackage. 2015-09-14 19:57:22 +12:00
dteviot
8e2fe1985d Fixed errors pointed out by Zini.
1. Removed "Actor" from name of function  isActorNearInactiveCell().
2. Corrected case of CoordinateConverter member function names.
2015-09-12 14:17:46 +12:00
dteviot
10eabc9d51 actorutil.hpp includes mwworld/ptr.hpp
As pointed out by Scrawl, fixes compiler error if getPlayer() is called before MWWorld::Ptr is defined, because getPlayer() returns a Ptr by value.
2015-09-11 18:43:06 +12:00
dteviot
6f97187bb6 Fix travis warning about no newline at end of file. 2015-09-10 22:26:33 +12:00
dteviot
573a14993a Moved isActorNearInactiveCell() logic to own function.
Also, triggers when actor is near edge of cell, not when less than 1/2 way to edge.
2015-09-10 21:53:31 +12:00
dteviot
e9c796166a Added MWMechanics::isPlayerInCombat() 2015-09-10 18:48:34 +12:00
dteviot
96e3933ee9 Fixed bug in smoothTurn()
Now correctly handles changing direction from 178 to -178 degrees.
2015-09-06 17:39:48 +12:00
dteviot
1dfe438a5d reduce "reset if stuck" AiWander timeout.
Now is about 14 seconds, instead of 300.
2015-08-30 16:43:35 +12:00
dteviot
39c2ba8efe Pathfinding bugfix.
Observed at Ebonheart (coe 1, -13).  Especially at the western tower. Guards try to walk though tower door.
Cause: buildPath() adds destination (even when unreachable) when only using single node from pathgrid.
2015-08-30 16:12:51 +12:00
dteviot
f2c9b9351f Try going right and left to "unstick" actor. 2015-08-30 10:06:09 +12:00
dteviot
31d82b6b0c Unifiy evadeObstacles() logic between AiWander and AiPackage
Can't use same code, but logic is now same.
2015-08-30 08:32:47 +12:00
dteviot
f59e918a3b removed useless code.
zTurn ignores turns < 0.0087 radians.
2015-08-29 17:34:33 +12:00
dteviot
0677799839 movement logic in AiPackage uses ObstacleCheck. 2015-08-29 17:21:18 +12:00
Marc Zinnschlag
a52b947efe Merge remote-tracking branch 'dteviot/MagicEffectsRefactorDraft3' 2015-08-23 12:11:30 +02:00
Marc Zinnschlag
50ec8b10f5 Merge remote-tracking branch 'dteviot/Bug2871' 2015-08-22 10:37:43 +02:00
dteviot
5dd0ad6841 Fixed rest of travis errors. 2015-08-21 22:41:31 +12:00
dteviot
77a1d947cc extracted MWMechanics::getPlayer() 2015-08-21 21:12:39 +12:00
dteviot
85bc41dedb replaced FLT_MAX with numeric_limits. 2015-08-21 19:34:28 +12:00
dteviot
3b231b85bb removed incorrect optimization.
Now it fixes #2871
2015-08-21 06:55:54 +12:00
Marc Zinnschlag
08325d14ca Merge remote-tracking branch 'dteviot/Bug2871' 2015-08-20 20:42:35 +02:00
Marc Zinnschlag
5cb0353b5c Merge remote-tracking branch 'jeffreyhaines/npcsdontscream' 2015-08-20 20:28:36 +02:00
dteviot
c0d3804b4f Correctly handle disjoint pathgrid (Fixes #2871)
Bugfix:
When
1. Cell has multiple subgrids  (i.e. path grid is disjoint)
2. Distance between destination and pathgrid point 0 is less than distance to points of subgrid closest to start point
Then getClosestReachablePoint() returns pathgrid point 0 as the end point.
This is invalid, this end point cannot be reached from the start point.
2015-08-20 21:50:58 +12:00
dteviot
0ee7407101 extracted common sub-expressions. 2015-08-20 18:17:02 +12:00
dteviot
ff5ef7055e extracted function CreatureStats::isParalyzed() 2015-08-20 18:12:37 +12:00
Marc Zinnschlag
9918b57341 Merge remote-tracking branch 'origin/master' 2015-08-19 16:03:01 +02:00
Jeffrey Haines
e1baf1ea48 NPCs scream when they die 2015-08-19 09:51:04 -04:00
scrawl
232dfdc07e Make an error message slightly more helpful 2015-08-19 01:24:54 +02:00
scrawl
67bd6cd708 Remove empty line at the beginning of files
git ls-files -z | xargs -0 sed -i '1{/^$/d}'
2015-08-18 23:06:12 +02:00
scrawl
dca08b0b42 Remove a firing assert (Fixes #2871) 2015-08-18 14:51:32 +02:00
Marc Zinnschlag
3992125b61 Merge remote-tracking branch 'scrawl/master' 2015-08-17 14:05:51 +02:00
Marc Zinnschlag
dc72b24f4e Merge remote-tracking branch 'dteviot/PathfindingRefactorDraft' 2015-08-17 14:04:56 +02:00
Jordan Ayers
be7bd9529d Classes shouldn't use MWBase::Environment to access their own members. 2015-08-16 16:56:44 -05:00
dteviot
4d9d8a060d Pathing bugfix.
When path contains one one point from path grid, point is no longer being discarded.
2015-08-16 18:56:28 +12:00
dteviot
942a987d52 centralize the world/cell coordinate conversion logic. 2015-08-16 18:55:02 +12:00
dteviot
5049c9ab6a removed unnecessary tests. 2015-08-16 17:41:33 +12:00
scrawl
8241976368 Don't attempt to play non-existing hit animations (Fixes #2856) 2015-08-15 23:27:37 +02:00
scrawl
d76fb2d266 Apply disintegrate only to weapons and armor (Fixes #2853) 2015-08-14 13:38:39 +02:00
Marc Zinnschlag
5aeabe22f0 Merge remote-tracking branch 'dteviot/PathfindingRefactor' 2015-08-14 10:13:04 +02:00
scrawl
1e18a73b1c Don't play magic effect sounds & visual effects for unsuitable targets (Fixes #2811) 2015-08-13 17:08:21 +02:00
scrawl
211deeb63e Don't attempt to lock or unlock unsuitable objects (Fixes #2826) 2015-08-13 17:08:21 +02:00
dteviot
55e3aaaa35 made variable const. 2015-08-10 20:30:43 +12:00
dteviot
e42a2478dc Removed tests that are not necessary. 2015-08-09 17:58:40 +12:00
dteviot
2b9e22f593 extracted function stopAttack(). 2015-08-09 14:29:38 +12:00
dteviot
0884a3796f extracted function isTargetMagicallyHidden(). 2015-08-09 14:20:55 +12:00
dteviot
038851420d Removed unneeded temp variables.
Corrected case of function names.
2015-08-09 14:18:55 +12:00
dteviot
50ddcd1953 more attack logic moved into AiCombatStorage. 2015-08-09 14:10:08 +12:00
dteviot
0735e3e06e move start attack logic to AiCombatStorage.
Basically, copied from mrchenko's 1d4be08f6e4c2dbd89cc0c3408a8231ee4497277
2015-08-09 14:08:42 +12:00
dteviot
1676bf917e CombatMove logic moved into AiCombatStorage.
Basically, copied from mrcheko's 1d4be08f6e4c2dbd89cc0c3408a8231ee4497277
2015-08-09 14:06:52 +12:00
Marc Zinnschlag
d29862eac3 Merge remote-tracking branch 'emperorarthur/anim_fail' 2015-08-08 10:47:46 +02:00
dteviot
58f732ebc9 Update path following checks each frame in AiCombat. 2015-08-04 18:20:05 +12:00
dteviot
ad9bab0b68 Removed redundant if. 2015-08-04 18:17:08 +12:00
dteviot
4256e151b1 Fixed error in deciding type of attack 2015-08-04 18:15:58 +12:00
dteviot
21e249cb92 pass parameters as const & 2015-08-04 18:14:36 +12:00
Arthur Moore
08d5aaf0fc Remove more comments 2015-07-31 18:23:07 -04:00
Arthur Moore
6fce49bfb5 Don't warn twice when unable to play an idle animation 2015-07-31 18:01:02 -04:00
Arthur Moore
61c3835637 Don't try to play animations we know are bad
Prevents log spam
2015-07-31 18:01:02 -04:00
scrawl
7644a46ded Creatures with no movement should not attempt to start combat (Fixes #2786) 2015-07-31 01:26:26 +02:00
scrawl
f326b8e5d2 Fix weapon animations playing on the lowerbody when swimming 2015-07-31 00:52:34 +02:00
scrawl
e8cbdcfb1e Play swimming animation fallback on the upper body when possible 2015-07-31 00:35:41 +02:00
Arthur Moore
5ea596f38d Refactor onChooseActionStatePerFrameActions
This prevents playIdle errors from tyring to play idleAnimation 0
2015-07-30 08:15:45 -04:00
Arthur Moore
f69de1f263 Alert the user if trying to play a non-idle animation
Continue to propagate success/failure up the call stack.
2015-07-30 08:08:58 -04:00
Arthur Moore
5e6fcc2aef Alert the user if attempting to play an animation fails
This is mostly propogating the error up the stack so the game can do something about it.
Working on avoiding log spam from calling an animation that doesn't exist every frame.
2015-07-30 08:00:26 -04:00
Marc Zinnschlag
26ea3aa1ad Merge remote-tracking branch 'dteviot/refactoringAiWander' 2015-07-30 10:26:40 +02:00
dteviot
04aee1fe20 extracted function reactionTimeActions(). 2015-07-26 17:32:29 +12:00
dteviot
c7aacaee70 extracted function returnToStartLocation(). 2015-07-26 17:29:32 +12:00
dteviot
5e519ef550 extract function isPackageFinished(). 2015-07-26 17:29:01 +12:00
dteviot
ad0d807103 extracted function reactionTimeActions(). 2015-07-26 17:28:32 +12:00
dteviot
9c0e3d6c28 extracted functions doPerFrameActionsForState() and onChooseActionStatePerFrameActions(). 2015-07-26 17:25:44 +12:00
dteviot
76f95eafe7 extract function onWalkingStatePerFrameActions(). 2015-07-26 17:25:00 +12:00
dteviot
5ec310dfba extract function onIdleStatePerFrameActions(). 2015-07-26 17:24:33 +12:00
dteviot
b3d5b47fea extracted function UpdateActorsMovement(). 2015-07-26 17:23:45 +12:00
scrawl
dff84adf7e Fix weapon animation priority 2015-07-26 01:35:36 +02:00
dteviot
aba7225817 Removed some duplicated operations. 2015-07-26 11:15:21 +12:00
scrawl
41996b0aad Don't play turning animations in first person mode 2015-07-25 18:59:16 +02:00
scrawl
e0ee2fc01b Adjust the movement animation speed every frame (Fixes #1921) 2015-07-25 18:22:48 +02:00
scrawl
278076e609 Include cleanup 2015-07-25 04:14:22 +02:00
scrawl
b3f5ac5dbb Include cleanup 2015-07-25 02:11:49 +02:00
scrawl
e6b28d84f0 Outdated comment fix 2015-07-25 00:28:47 +02:00
scrawl
7f66339790 Remove a redundant function 2015-07-24 20:23:27 +02:00
scrawl
8286dc6c5a Player followers don't report crimes (Fixes #2457) 2015-07-23 02:29:09 +02:00
Marc Zinnschlag
f3d3cbc58b Merge remote-tracking branch 'dteviot/refactoringAiWander' 2015-07-20 09:57:46 +02:00
dteviot
2a4d35b98c fixed "comma at end of enumerator list" warning. 2015-07-20 18:20:57 +12:00
Marc Zinnschlag
9b3d5c958f Merge remote-tracking branch 'scrawl/music' 2015-07-19 11:49:00 +02:00
dteviot
00eef585af renamed mPlayedIdle to mIdleAnimation. 2015-07-19 18:04:42 +12:00
dteviot
22f49128cc replaced multiple booleans with single state variable. 2015-07-19 18:02:13 +12:00
dteviot
1ed6e95c07 Got rid of some radians to degrees to radians conversions. 2015-07-19 18:01:25 +12:00
dteviot
3ebe9fb34f renamed mRotate to mTurnActorGivingGreetingToFacePlayer 2015-07-19 18:00:49 +12:00
scrawl
b01abe4d19 Stop title music when the game starts (Fixes #2468) 2015-07-19 02:08:24 +02:00
scrawl
278a078e9d Unify magic effect tick functions
- Removes duplicated code
- Handle some zero-duration instant effects that were not handled before (disintegrate, sun damage, elemental damage)
2015-07-18 20:39:45 +02:00
scrawl
77f1387da8 Include cleanup 2015-07-18 20:36:28 +02:00
scrawl
111cf5462b Merge pull request #666 from scrawl/animation
Animation refactoring & fixes
2015-07-18 13:33:41 +02:00
Jiří Kuneš
72728b9c01 disable cusor when item/container is owned 2015-07-17 16:32:35 +02:00