Austin Salgat
c02881a4f8
Fix creatures not wandering
2016-04-12 21:16:55 -05:00
scrawl
50ed061154
AiWander: reset mAllowedNodes on cell change ( Fixes #3176 , Fixes #3130 )
2016-02-02 00:41:40 +01: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
Arthur Moore
61c3835637
Don't try to play animations we know are bad
...
Prevents log spam
2015-07-31 18:01:02 -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
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
2a4d35b98c
fixed "comma at end of enumerator list" warning.
2015-07-20 18:20:57 +12: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
3ebe9fb34f
renamed mRotate to mTurnActorGivingGreetingToFacePlayer
2015-07-19 18:00:49 +12:00
dteviot
e294cd95cd
extracted function playIdleDialogueRandomly()
2015-07-12 17:15:14 +12:00
dteviot
0b089a5564
extracted function evadeObstacles()
2015-07-12 16:38:36 +12:00
dteviot
1ef78b1e56
extracted playGreetingIfPlayerGetsTooClose()
2015-07-12 16:37:31 +12:00
dteviot
df421fce92
extracted function setPathToAnAllowedNode()
2015-07-12 16:35:15 +12:00
dteviot
b508846a64
Renamed mStoredAvailableNodes to mPopulateAvailableNodes.
...
Don't call getAllowedNodes() needlessly.
2015-07-12 16:32:48 +12:00
dteviot
f1774ee7c3
Fixed compile failing on OSX and Linux.
2015-07-08 19:34:33 +12:00
dteviot
52cf8541f5
End point tolerance restored to 64 units.
...
Corrected problem pointed out by Scrawl.
Destination needs tolerance of 64 to avoid overcrowding.
2015-07-08 18:41:03 +12:00
dteviot
1239667cb4
AiWander uses points between PathGrid points ( Fixes #1317 )
...
When there is only on PathGrid point within a NPC's wander distance, expand possible wander destinations by using positions between PathGrid points.
2015-07-05 18:21:35 +12:00
dteviot
eb2aa965b9
Extracted function SetCurrentNodeToClosestAllowedNode()
2015-07-05 18:17:18 +12:00
dteviot
9a02a85a24
Pulled duplicate code into function.
2015-07-05 18:07:14 +12:00
dteviot
46a654286b
Remove fix for #1317
...
Expanding the AiWander distance for path grid nodes causes bigger problems than it solved.
2015-07-04 18:57:56 +12:00
scrawl
59db9664ba
Pass the CharacterController to AiPackage::execute
2015-06-26 17:47:04 +02:00
scrawl
4bb3cbf0fb
Remove last remains of Ogre
2015-06-03 23:04:35 +02:00
scrawl
7bacb9418d
Various math code ported to osg
2015-06-03 19:41:19 +02:00
dteviot
be6ee927b9
AiWander, use closest two points if distance is too small ( Fixes #1317 )
...
In AiWander, if wander distance is set too small to get two points, take the closest two points.
2015-03-28 20:05:54 +13:00
dteviot
63ab856024
Removed duplicated code.
2015-03-23 20:57:36 +13:00
dteviot
407cd50890
fixed warning C4099:
...
type name first seen using 'class' now seen using 'struct'
2015-03-06 21:36:42 +13:00
Alexander "Ace" Olofsson
8c49812d56
Remove unneeded include in obstacle.hpp
2015-02-09 15:12:10 +01:00
scrawl
01652bbcc5
Store original actor position in AiWander package ( Fixes #2200 )
2015-01-01 03:38:49 +01:00
scrawl
a8ae0dec52
Implement AiWander fast-forward (Feature #1125 )
2014-12-31 18:41:57 +01:00
scrawl
61d1aa78ce
Move AiWander path finder to temporary storage ( Fixes #2082 )
2014-12-01 23:09:46 +01:00
terrorfisch
730abf6841
Moved all variables in temporary storage for AiCombat and some more for AiWander.
...
+Buxfix for previous AiWander changes
2014-10-10 00:16:17 +02:00
terrorfisch
4391c1fd00
Addded the parts of AiWander that I fully understand to the temporary storage.
...
The rest should be done by someone who has a clearer overview over the class.
2014-10-08 22:11:45 +02:00
terrorfisch
0871d45790
Draft how to move temporary package state to CharacterController.
...
Example for a few values shown in AiWander.
2014-10-08 10:58:52 +02:00
scrawl
1bb82c710c
Fix use of uninitialized memory in AiWander::init
2014-08-14 18:55:54 +02:00
Michał Ściubidło
bd3729a6cb
Add grace periods for player greeting.
...
Add delay for NPC greating. NPC ignores greeted player after some time.
Fixes bug 1503.
2014-07-28 23:45:26 +01:00
Michał Ściubidło
d47bfbe69c
Implement AI greeting states.
...
Greeting consist of 3 phases:
- none - default one, greeting state can only change to "in progress"
when near enough and some time passes
- in progress - NPC says his greating and rotates toward player,
state can only change to "done" after some time
- done - rotation is stoped, after idling can go away from player,
state can only change to "none" when player and NPC are faraway
2014-07-28 23:45:26 +01:00
scrawl
a54ac579a5
Savegame: Store AiSequence
2014-06-13 02:26:52 +02:00
Thomas
10a5bb9464
Made code a bit more standardized and added a good bit of documentation.
2014-04-29 23:40:59 -04:00
scrawl
1fd7a07b5e
Merge branch 'master' of https://github.com/OpenMW/openmw into return
...
Conflicts:
apps/openmw/mwmechanics/aisequence.cpp
apps/openmw/mwmechanics/aiwander.cpp
2014-04-29 09:14:13 +02:00
scrawl
9b36a13821
Feature #1289 : NPCs return to default position
...
Make stationary NPCs return to their previous position once combat/crime AI finishes.
2014-04-29 09:09:51 +02:00
cc9cii
1fb2c8d87b
NPC turning is less hacky but still not perfect. NPC's should walk away after a period of non-action by the player (vanilla behaviour) - not yet implemented.
2014-04-27 07:38:31 +10:00
cc9cii
6a1435c49e
Remove rotation check that was freezing NPC's.
2014-04-20 17:59:08 +10:00
cc9cii
000afa48b7
An attempt at making turning animation smoother. Copied some code from AiCombat for rotation.
2014-04-20 11:59:47 +10:00
cc9cii
9bd31b6236
Added reaction time and moved game setting variables init to the constructor.
2014-04-20 10:06:03 +10:00
cc9cii
c652cb1568
More cleaning up.
2014-04-18 15:19:22 +10:00
cc9cii
d3be725ee7
Actors are moved on if idling near a closed interior door. Unreachable pathgrid points due to a closed door are removed from the allowed set of points.
2014-04-18 14:41:43 +10:00
cc9cii
1ceeeb4a22
Fix movement glitches for actors with low speeds (e.g. a rat). Was caused by false detection of being stuck.
2014-04-18 14:41:43 +10:00
cc9cii
f597d3e88b
Use duration rather than frame counts. Stops false detection of being "stuck" with high frame rates (e.g. indoors).
2014-04-03 07:46:26 +11:00
cc9cii
ebb1813b9b
Minor comment clarification.
2014-03-29 20:17:04 +11:00
cc9cii
07fd801d94
My previous analysis of the pathfinding issue was incorrect. It was in fact caused due to some of the pathgrid points being unreachable. Instead of returning an empty path in such a scenario, incorrect path + requested destination were being returned. There was also a defect where past cost was being used for selecting open points.
...
There is still an unresolved issue where mGraph and mSCComp are being rebuilt unnecessarily. The check mCell != cell in buildPath() is being triggered frequently. Not sure why.
2014-03-29 19:35:52 +11:00
cc9cii
d54ae58ec9
Bug #900 fix - minor update to comments
2014-03-14 00:09:03 +11:00
cc9cii
d92740efc9
Bug #900 fix - only fixed AiWonder, AiCombat, AiTravel and others may need a different strategy to this.
2014-03-13 23:44:52 +11:00
scrawl
bea161331c
Play 'hello' voiced dialogue entries in AIWander
2014-01-19 20:53:58 +01:00
gus
650a112e2e
better timer
2013-10-30 20:42:50 +01:00
Torben Carrington
c080785235
Pathfinding Overhaul - Finished cleaning, removed unnecessary parameter in one function, fixed use of the function in ai packages and added use of clearPath() function in aiwander, fixed algorithms and got rid of excess subtractions in getDistance functions (thanks to Chris!).
2013-05-29 19:26:45 -07:00
Torben Carrington
fd96d47fe4
AIWander Completed. Replicates vanilla as best possible, pathfinding needs fixing before this looks correct but once the pathfinding files are edited this will behave pretty much exactly as vanilla. Major credit to Hrnchamd for major research.
2013-05-26 11:30:42 -07:00
Torben Carrington
e37324b967
AIWander everything works. only two things to do: Implement limiting selection on z axis, and correcting decision algorithm.
2013-05-26 08:49:44 -07:00
Torben Carrington
1cfe037d6b
AIWander - Added support for the Repeat parameter to mimic vanilla.
2013-05-24 04:49:20 -07:00
Marc Zinnschlag
a092deaee8
various fixes
2012-11-16 20:28:20 +01:00
marcin
51027c541e
Feature #391 Dummy AI package classes
2012-11-16 18:38:15 +01:00
marcin
4b939c7521
Feature #391 Dummy AI package classes
2012-11-15 22:15:20 +01:00
marcin
e6c8e1f0d7
Feature #391 Dummy AI package classes
2012-11-14 18:42:04 +01:00