Commit graph

1950 commits

Author SHA1 Message Date
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