Commit Graph

67 Commits (move)

Author SHA1 Message Date
scrawl 50ed061154 AiWander: reset mAllowedNodes on cell change (Fixes #3176, Fixes #3130) 9 years ago
dteviot 31d82b6b0c Unifiy evadeObstacles() logic between AiWander and AiPackage
Can't use same code, but logic is now same.
9 years ago
Arthur Moore 61c3835637 Don't try to play animations we know are bad
Prevents log spam
10 years ago
Arthur Moore f69de1f263 Alert the user if trying to play a non-idle animation
Continue to propagate success/failure up the call stack.
10 years ago
dteviot c7aacaee70 extracted function returnToStartLocation(). 10 years ago
dteviot 5e519ef550 extract function isPackageFinished(). 10 years ago
dteviot ad0d807103 extracted function reactionTimeActions(). 10 years ago
dteviot 9c0e3d6c28 extracted functions doPerFrameActionsForState() and onChooseActionStatePerFrameActions(). 10 years ago
dteviot 76f95eafe7 extract function onWalkingStatePerFrameActions(). 10 years ago
dteviot 5ec310dfba extract function onIdleStatePerFrameActions(). 10 years ago
dteviot 2a4d35b98c fixed "comma at end of enumerator list" warning. 10 years ago
dteviot 00eef585af renamed mPlayedIdle to mIdleAnimation. 10 years ago
dteviot 22f49128cc replaced multiple booleans with single state variable. 10 years ago
dteviot 3ebe9fb34f renamed mRotate to mTurnActorGivingGreetingToFacePlayer 10 years ago
dteviot e294cd95cd extracted function playIdleDialogueRandomly() 10 years ago
dteviot 0b089a5564 extracted function evadeObstacles() 10 years ago
dteviot 1ef78b1e56 extracted playGreetingIfPlayerGetsTooClose() 10 years ago
dteviot df421fce92 extracted function setPathToAnAllowedNode() 10 years ago
dteviot b508846a64 Renamed mStoredAvailableNodes to mPopulateAvailableNodes.
Don't call getAllowedNodes() needlessly.
10 years ago
dteviot f1774ee7c3 Fixed compile failing on OSX and Linux. 10 years ago
dteviot 52cf8541f5 End point tolerance restored to 64 units.
Corrected problem pointed out by Scrawl.
Destination needs tolerance of 64 to avoid overcrowding.
10 years ago
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.
10 years ago
dteviot eb2aa965b9 Extracted function SetCurrentNodeToClosestAllowedNode() 10 years ago
dteviot 9a02a85a24 Pulled duplicate code into function. 10 years ago
dteviot 46a654286b Remove fix for #1317
Expanding the AiWander distance for path grid nodes causes bigger problems than it solved.
10 years ago
scrawl 59db9664ba Pass the CharacterController to AiPackage::execute 10 years ago
scrawl 4bb3cbf0fb Remove last remains of Ogre 10 years ago
scrawl 7bacb9418d Various math code ported to osg 10 years ago
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.
10 years ago
dteviot 63ab856024 Removed duplicated code. 10 years ago
dteviot 407cd50890 fixed warning C4099:
type name first seen using 'class' now seen using 'struct'
10 years ago
Alexander "Ace" Olofsson 8c49812d56 Remove unneeded include in obstacle.hpp 10 years ago
scrawl 01652bbcc5 Store original actor position in AiWander package (Fixes #2200) 10 years ago
scrawl a8ae0dec52 Implement AiWander fast-forward (Feature #1125) 10 years ago
scrawl 61d1aa78ce Move AiWander path finder to temporary storage (Fixes #2082) 10 years ago
terrorfisch 730abf6841 Moved all variables in temporary storage for AiCombat and some more for AiWander.
+Buxfix for previous AiWander changes
10 years ago
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.
10 years ago
terrorfisch 0871d45790 Draft how to move temporary package state to CharacterController.
Example for a few values shown in AiWander.
10 years ago
scrawl 1bb82c710c Fix use of uninitialized memory in AiWander::init 11 years ago
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.
11 years ago
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
11 years ago
scrawl a54ac579a5 Savegame: Store AiSequence 11 years ago
Thomas 10a5bb9464 Made code a bit more standardized and added a good bit of documentation. 11 years ago
scrawl 1fd7a07b5e Merge branch 'master' of https://github.com/OpenMW/openmw into return
Conflicts:
	apps/openmw/mwmechanics/aisequence.cpp
	apps/openmw/mwmechanics/aiwander.cpp
11 years ago
scrawl 9b36a13821 Feature #1289: NPCs return to default position
Make stationary NPCs return to their previous position once combat/crime AI finishes.
11 years ago
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. 11 years ago
cc9cii 6a1435c49e Remove rotation check that was freezing NPC's. 11 years ago
cc9cii 000afa48b7 An attempt at making turning animation smoother. Copied some code from AiCombat for rotation. 11 years ago
cc9cii 9bd31b6236 Added reaction time and moved game setting variables init to the constructor. 11 years ago
cc9cii c652cb1568 More cleaning up. 11 years ago