Commit graph

1068 commits

Author SHA1 Message Date
scrawl
122e606e30 Crime: improvement to arrest on sight for large bounties
iCrimeThreshold controls the needed bounty to have guards run to the player and force dialogue. In vanilla, the greeting dialogue is scripted to either arrest the player (< 5000 bounty) or present a death sentence and attack (>= 5000 bounty).
2014-05-03 12:17:44 +02:00
scrawl
fc7e79027a Fixes #1144: Don't refreshCurrentAnims when adding already dead actors 2014-05-01 16:55:16 +02:00
mrcheko
9e79fb5b87 fix to broken aiwander logic 2014-05-01 11:41:25 +04:00
mrcheko
e8f7d12c01 uninit bool and invalid iterator bugs fixes 2014-04-30 23:57:19 +04:00
Jeffrey Haines
14ebd8b110 Fixed logic in commit crime 2014-04-30 07:44:29 -04:00
Thomas
10a5bb9464 Made code a bit more standardized and added a good bit of documentation. 2014-04-29 23:40:59 -04:00
Marc Zinnschlag
0c2843b0f7 some missing cleanup 2014-04-29 19:56:33 +02:00
Marc Zinnschlag
f6a876bc3d added actor ID 2014-04-29 15:27:49 +02:00
Marc Zinnschlag
4eeed4e2c7 Merge remote-tracking branch 'scrawl/return' 2014-04-29 12:27:27 +02:00
scrawl
28ef236f0e Don't allow setting a new return position if there already is one and we haven't reached it yet 2014-04-29 11:17:07 +02:00
Marc Zinnschlag
8fea2cfa2a Merge remote-tracking branch 'mrcheko/master' 2014-04-29 10:03:29 +02: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
Thomas
885228ec02 Merge remote-tracking branch 'upstream/master'
Conflicts:
	apps/openmw/mwmechanics/actors.cpp
2014-04-28 12:27:57 -04:00
Marc Zinnschlag
421679b319 Merge remote-tracking branch 'scrawl/master' 2014-04-28 15:13:09 +02:00
mrcheko
35c1724d39 unblock vertical aiming for combatants 2014-04-28 16:34:49 +04:00
scrawl
0796815da0 Ignore dead actors in getActorsFollowing/Fighting
Prevents dead enemies from disallowing resting near them
2014-04-28 11:44:56 +02:00
Marc Zinnschlag
0b2371a05d Merge remote-tracking branch 'thoronador/fix-minor-stuff' 2014-04-28 10:59:34 +02:00
Marc Zinnschlag
af322a9f77 Merge remote-tracking branch 'scrawl/master' 2014-04-28 10:48:57 +02:00
scrawl
1da99d9fc7 Remove unused variable 2014-04-28 10:26:24 +02:00
Thomas
dc54bd5a5f Merge remote-tracking branch 'upstream/master' 2014-04-27 20:56:45 -04:00
Thomas
c2127845af Added onKnockdown command 2014-04-27 20:54:22 -04:00
mrcheko
22cdb166f2 warning fix, vars renaming 2014-04-27 22:38:04 +04:00
Thoronador
1b8c975d5b minor performance improvements in apps/openmw
Checking for emptiness using size() might be inefficient, because
it can take linear time, while empty() is guaranteed to take only
constant time.

For non-primitive types, postfix ++ operators are inefficient
compared to prefix ++ operators, because post-increment usually
involves keeping a copy of the previous value around.
2014-04-27 19:10:23 +02:00
Marc Zinnschlag
ca097e146b Merge remote-tracking branch 'jeffreyhaines/master' 2014-04-27 17:35:10 +02:00
Jeffrey Haines
edbc319c42 fixed logic. || 2014-04-27 10:05:34 -04:00
Jeffrey Haines
52bb7c3f69 fixed logic. ! 2014-04-27 09:55:38 -04:00
Jeffrey Haines
7599b26d30 Fixed: creatures won't witness crimes
and potential crash.
2014-04-27 09:37:43 -04:00
Jeffrey Haines
0409e18a0e revert 2014-04-27 09:35:49 -04:00
Jeffrey Haines
b9bd4bc126 broken 2014-04-27 09:34:59 -04:00
Jeffrey Haines
ce106d3bec Revert "NPCs detect crime exclusively"
This reverts commit 54d9615d85ae856ad4fdd2c130ac9cb0cd847c72.

Conflicts:
apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
2014-04-27 09:34:33 -04:00
mrcheko
82121e0401 some checks reworked 2014-04-27 16:59:21 +04:00
scrawl
e42855d522 Minor fix for spell icon 2014-04-27 12:54:18 +02:00
mrcheko
6a3dddfb9a merge master 2014-04-27 13:49:31 +04:00
scrawl
3eb1e4e117 Fixes #1241: Removed disposition-based combat conditions
The information for this code came from UESP, which in turn cites a (extremely vague) section from the TES-CS help text, so no surprise that it wasn't accurate.

The guard on the boat has a fight rating of 70, so with the old code it would attack on sight if the disposition is low enough. BTB-Character.esp includes something (not sure what) that drops his disposition to 35 when playing as a Khajiit, making him attack.

Testing in Vanilla it appears that disposition has no effect on combat engagement at all. Even with disposition 0 and fight 70 the NPCs don't attack.

Setting an NPCs fight rating to 70 or less still has a meaning, because the higher it is, the easier it becomes to raise the fight rating to 80 (by taunting, for example).
2014-04-27 09:43:54 +02:00
scrawl
e8210c92c6 Fixes #1240: Don't hardcode drowning time 2014-04-27 04:27:26 +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
Thomas
c2b692e124 getActorsFollowing/Fighting no longer returns dead actors 2014-04-26 17:21:53 -04:00
mrcheko
dbe1307de0 code refining + minor fixes 2014-04-26 22:21:20 +04:00
scrawl
04964595ef Fixes #1270, Fixes #1201: Update active weapon/spell icons every frame 2014-04-26 16:44:20 +02:00
scrawl
ef39b0f6ab Fixes #1291: Faction rank saving issue
A value of 0 is the first rank, -1 means not a member
2014-04-26 11:41:44 +02:00
scrawl
91e50585ff AiWander: make sure to walk, not run 2014-04-26 05:01:26 +02:00
mrcheko
f3626adc86 remake of z-moving in combat for flying/swimming enemies 2014-04-26 00:20:55 +04:00
Marc Zinnschlag
c63d6437c0 Merge remote-tracking branch 'jeffreyhaines/master'
Conflicts:
	apps/openmw/mwbase/mechanicsmanager.hpp
2014-04-25 15:29:23 +02:00
Thomas
f3272c941f Fix for bug #1080, can't read/repair/make potions/use soul gems/rest/sleep while in combat.
The radius for being in combat with the player is fAlarmDistance, which looked like the only pertinent thing.
2014-04-24 22:47:45 -04:00
Jeffrey Haines
42b879a9a5 Reworked the accusation of actors 2014-04-24 22:41:05 -04:00
Jeffrey Haines
c3e08916da Sneak: Added support for state checking
I need advice one what I should do in order to pass mActors over to the
player. Particularly line 139 in player.cpp
2014-04-24 20:40:17 -04:00
Thomas
f6deca7c80 Fixed various issues caused by late-night coding. Also added "unlock" message to unlocked doors 2014-04-23 13:02:51 -04:00
Thomas
61341d4206 Removed mLocked, kept it as "Negative lock level means unlocked" 2014-04-23 10:00:18 -04:00
Thomas
cac8e52154 Seperated locked and lock level, to allow for relocking doors to previous lock level.
The data is stored in the esm as -lockLevel if unlocked; lockLevel if locked. While not tested, it should not present any problems.
2014-04-23 05:12:07 -04:00
Thomas
e71a119c23 Made aifollowers run when long distances (800 or 10000, depending) from what they're following. 2014-04-23 02:57:48 -04:00
mrcheko
fbd0ffe86f enable z-moving for flying/water combatants 2014-04-22 22:59:39 +04:00
mrcheko
f811abb752 pathgrid shortcutting extended 2014-04-20 20:35:07 +04:00
Marc Zinnschlag
a91b386381 Merge remote-tracking branch 'jeffreyhaines/master' 2014-04-20 13:34:58 +02:00
cc9cii
6a1435c49e Remove rotation check that was freezing NPC's. 2014-04-20 17:59:08 +10:00
cc9cii
e17fab891d Suppress travis warning and one more tweak. 2014-04-20 16:49:57 +10:00
cc9cii
2b544d550b Fixed the rotation animation glitch. 2014-04-20 14:27:18 +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
3d26702f5e Make idle actors face the player. Turning animation is not smooth. 2014-04-20 10:36:01 +10:00
cc9cii
9bd31b6236 Added reaction time and moved game setting variables init to the constructor. 2014-04-20 10:06:03 +10:00
Jeffrey Haines
3484df0743 Fixed garage value found in beta's static analysis
Source: https://forum.openmw.org/viewtopic.php?f=6&t=2059#p23844
2014-04-19 19:42:49 -04:00
Jeffrey Haines
6733a1541e Fixes to Crime System
Victimless crimes were removed because victims may not exist in the
case of stealing items.

Is class now uses case insensitive comparison.

Fixed issue with confiscation of stolen items.
2014-04-19 19:03:31 -04:00
cc9cii
3dfd08cf2d Cleanup and little tweaking. 2014-04-20 08:31:02 +10:00
cc9cii
479a94b35d Backing off closed doors working, needs cleanup and tweaking. 2014-04-20 08:14:54 +10:00
Marc Zinnschlag
7eb6a2e52d Merge remote-tracking branch 'scrawl/alarm' 2014-04-18 16:19:28 +02:00
Marc Zinnschlag
34092f9f5d Merge remote-tracking branch 'scrawl/master' 2014-04-18 15:08:30 +02:00
scrawl
b3916e7744 Crime: mark witnesses as alarmed.
Fixes guard dialogue to properly detect if the player turned himself in.
2014-04-18 13:44:09 +02:00
scrawl
4625adfb7f Fix typo in a condition. 2014-04-18 11:43:37 +02:00
cc9cii
7437647f70 Forgot to add a guard :-( 2014-04-18 16:45:31 +10:00
cc9cii
a0fc514df7 Suppress compiler warning. 2014-04-18 15:45:39 +10:00
cc9cii
c652cb1568 More cleaning up. 2014-04-18 15:19:22 +10:00
cc9cii
2447f0f4aa Cleaned up logging statements. 2014-04-18 14:41:44 +10:00
cc9cii
aad13d315c Fixed issue where allowed nodes were being erased. PathFinder was returning an empty path if the closest pathgrid point to the start was also the closest pathgrid point to the goal. Still need to clean up and remove logging statements. 2014-04-18 14:41:44 +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
Marc Zinnschlag
86e65944b8 Merge remote-tracking branch 'jeffreyhaines/master'
Conflicts:
	apps/openmw/CMakeLists.txt
2014-04-15 11:31:48 +02:00
Jeffrey Haines
e2fab228f9 Save state is handled correctly now. 2014-04-14 18:11:04 -04:00
Marc Zinnschlag
03b3487f1b minor cleanup 2014-04-07 09:56:36 +02:00
Marc Zinnschlag
fafb7501e3 Merge remote-tracking branch 'cc9cii/PathFinder-split' 2014-04-07 09:48:15 +02:00
Marc Zinnschlag
c7f2cfeca0 Merge remote-tracking branch 'gus/AIFix2' 2014-04-06 15:13:30 +02:00
Jeffrey Haines
a274b48f2f States are saved. Crime is reacted to.
Issues where some crime is ignored. Needs a lot more work
2014-04-05 22:45:40 -04:00
Jeffrey Haines
940c88d2ec Cleaned up code, implemented crime ids
There is a problem with my game freezing. ToggleAi stops my character
2014-04-05 10:26:14 -04:00
Jeffrey Haines
df5cbe5dec Minor changes 2014-04-04 08:10:35 -04:00
cc9cii
28f7c42fb7 One more comment fix. 2014-04-04 18:17:42 +11:00
cc9cii
f59226265a Remove redundant parameter from aStarSearch. Also update some comments. 2014-04-04 18:10:06 +11:00
Jeffrey Haines
70919ba60a Removed witnesses and minor changes 2014-04-03 16:13:14 -04:00
cc9cii
5cf8e7e933 Remove logging. 2014-04-04 06:16:26 +11:00
cc9cii
040d4f8fc4 Move PathgridGraph into separate files. 2014-04-04 06:13:47 +11:00
Jeffrey Haines
0c957a3cde Added witnesses to the mix 2014-04-03 14:53:31 -04:00
cc9cii
a8b2eb1fe9 Make Travis happy. 2014-04-03 22:49:22 +11:00
cc9cii
325d0616bb Cleanup debug statements. 2014-04-03 22:17:45 +11:00
cc9cii
98f77714ce Per-cell pathgrid data and calculation moved off PathFinder. Now the edge cost calculations and strongly connected component searches are done only once per cell. Per-actor data and methods still remain with PathFinder.
This version still has debugging statements and needs cleaning up.
2014-04-03 21:43:44 +11:00
Jeffrey Haines
b1abef7a38 Cleaned up code 2014-04-03 01:07:56 -04:00
Jeffrey Haines
58b135a2be Crime is now checked every frame call 2014-04-03 00:50:09 -04: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
Jeffrey Haines
6f1211dd8d Moved mWitnesses into Player. resetCrime for paying fine. 2014-04-02 12:23:38 -04:00
Jeffrey Haines
7c0b51fb7e Ai pursue now controls guards pursuit of crimes
Should extend AiActivate in the future
2014-04-02 00:18:22 -04:00
Jeffrey Haines
50dac98a2b Feature 1154 & 73: Crime and NPC reactions 2014-04-01 20:24:25 -04:00
Jeffrey Haines
4037f3705e Feature 1154 & 73: NPCs react to crime 2014-04-01 14:15:55 -04:00
megaton
50af9bc0d3 General perfomance optimizations. 2014-03-30 19:45:27 +04:00