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
Jeffrey Haines
8ce938c6f1
Revert 6b28c06..98fd381
...
This rolls back to commit 6b28c06b2c
.
2014-03-29 22:26:53 -04:00
Jeffrey Haines
98fd381564
Feature #1154 Not all NPCs get aggressive when one is attacked
...
Compiling fix
2014-03-29 21:25:20 -04:00
Jeffrey Haines
6c866deb1b
Feature #1154 Not all NPCs get aggressive when one is attacked
...
Partially implemented
2014-03-29 21:23:34 -04:00
gus
d9ea7107b7
compile fix.
2014-03-29 18:36:32 +01:00
gus
bee057346b
Merge branch 'master' of https://github.com/OpenMW/openmw.git into AIFix2
...
Conflicts:
apps/openmw/mwmechanics/aifollow.cpp
2014-03-29 18:05:56 +01:00
Marc Zinnschlag
c7b969821f
silenced a warning
2014-03-29 11:11:43 +01: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
267855c44e
Prevent NPC suicides off silt the strider platform in Seyda Neen. Added some comments as well. There may be opportunities for some optimization but left that out for now.
2014-03-29 19:35:52 +11:00
cc9cii
90a813ad2c
Allow interrupting a walking NPC to trigger a greeting.
2014-03-29 19:35:52 +11:00
Marc Zinnschlag
2c2106205d
Merge remote-tracking branch 'scrawl/master'
2014-03-28 09:56:35 +01:00
Jeffrey Haines
2a8bf46607
Trader Gold Reset Delay
...
Implemented traded gold reset delay.
Note:
Traders gold pool is still in inventory.
2014-03-27 01:23:56 -04:00
scrawl
793649c854
ToggleAI: Report current status on toggle
2014-03-26 19:55:52 +01:00
scrawl
688415ce54
Play deathknockout/deathknockdown animations when appropriate
2014-03-26 18:55:16 +01:00
scrawl
394284d0f8
Fixes #1209 : Tarhiel never falls
...
There are a few pitfalls with this code:
- Gravity is only considered when applying queued movement. Therefore, make sure to queue some movement every frame. (Could be refactored in the future?)
- The character controller never detects being in free fall (!World::isOnGround) unless movement has been applied.
2014-03-22 02:08:04 +01:00
scrawl
c8c0e5de38
Fixed code issues found with unity build. Missing include guards, duplicated functions, ...
2014-03-16 23:49:06 +01:00
cc9cii
e6977d00e8
Oops. Fix typo picked up by Zini.
2014-03-15 08:16:35 +11:00
cc9cii
b2e3fa70c2
Fix spelling errors in comments.
2014-03-14 07:04:39 +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
072dc6d438
Feature #50 : Implement marksman mechanics.
2014-03-08 06:03:45 +01:00
scrawl
12de0afb03
Feature #50 : Spawn projectiles
...
Fix a bug in copyObjectToCell.
Make actor rotations more consistent.
2014-03-08 01:31:27 +01:00
scrawl
edb5a54092
Include some more required Ogre headers explicitely.
2014-03-05 21:46:37 +01:00
gus
d84319300a
fix
2014-03-05 11:27:16 +01:00
gus
f4879dacd5
add AIfollow to summoned creatures
2014-03-05 11:24:39 +01:00
Marc Zinnschlag
f9d2fde783
Merge branch 'openmw-29'
...
Conflicts:
apps/openmw/mwmechanics/aicombat.cpp
2014-03-04 09:34:38 +01:00
cc9cii
5b48ca114f
aicombat pathfinding fix - check the correct list
2014-02-25 08:31:14 +01:00
cc9cii
85c467f00f
Minor cleanup for aicombat pathfinding workaround.
2014-02-25 08:30:52 +01:00
Marc Zinnschlag
367919200f
moved CellRefList into a separate file
2014-02-23 20:11:05 +01:00
gus
95ff869163
Merge branch 'openmw-29' of https://github.com/zinnschlag/openmw.git into AIFix2
2014-02-23 17:07:49 +01:00
cc9cii
1bd2664cb0
aicombat pathfinding workaround
2014-02-23 11:47:25 +01:00
Marc Zinnschlag
7693f712bc
started making CellStore into a proper class; encapsulated mCell member
2014-02-21 11:35:46 +01:00
scrawl
d25b3ad9cb
Fix AiCombat for creatures with weapons
2014-02-19 11:23:03 +01:00
gus
d8f24ac499
bug fix
2014-02-17 15:49:49 +01:00
Marc Zinnschlag
ea16f79d77
Merge remote-tracking branch 'gus/AIFix2'
2014-02-17 10:54:07 +01:00
gus
84959eea28
woops, thanks scrawl
2014-02-17 10:50:10 +01:00
gus
6e1425321b
remove cout spam
2014-02-17 10:43:09 +01:00
Marc Zinnschlag
c18c3e51ee
handle IDs that don't exist anymore after loading
2014-02-16 16:23:05 +01:00
Marc Zinnschlag
9788bbcab9
partially store creature state in saved game files (only attributes and dynamics for now)
2014-02-16 15:56:36 +01:00
Marc Zinnschlag
b0532e0c85
store NPC state in saved game files
2014-02-16 15:51:45 +01:00
gus
a315d5cc2b
aiactivate works. Bug when you try to use it on a reference that doesn't exist. Need to clran up door.cpp
2014-02-14 12:55:14 +01:00
gus
7c6e27e4f9
Merge branch 'master' of https://github.com/zinnschlag/openmw.git into AIFix2
...
Conflicts:
apps/openmw/mwmechanics/aitravel.cpp
2014-02-13 12:59:04 +01:00
Emanuel Guevel
8824af30b4
Allow to display message box outside of dialogue window
2014-02-11 18:26:57 +01:00
Marc Zinnschlag
ffd1783690
Merge remote-tracking branch 'mrcheko/master'
2014-02-11 17:03:50 +01:00
Emanuel Guevel
6a4820c0f7
Show a message when the player attempts to cast a disabled spell
2014-02-11 14:52:58 +01:00
mrcheko
a6be72673c
improves animation-controlled velocity check
2014-02-08 16:59:15 +02:00
scrawl
6ce499f0e6
Fixes #848 : Use hardcoded animation velocity for first person movement
2014-02-06 04:05:22 +01:00
gus
632834ce10
WIP
2014-02-05 16:12:50 +01:00
scrawl
677fc84223
Refactor actors update
2014-02-05 09:50:21 +01:00
scrawl
7907181c0c
Fix uninitialized member
2014-02-05 05:18:11 +01:00
scrawl
ffe19e7a52
Feature #50 : Handle attach & release of projectiles
2014-02-05 05:18:11 +01:00
scrawl
8b8fb931a0
Feature #50 : Don't allow ranged weapon attack when ammunition is empty
2014-02-05 05:18:10 +01:00
scrawl
a07eaa0c0d
Feature #50 : Allow body pitch in third person for ranged weapon aiming
2014-02-05 05:18:10 +01:00
scrawl
5ee105c812
Fix typo
2014-02-05 05:18:10 +01:00
scrawl
7cf22391a5
Feature #50 : Handle weapon controllers (i.e. bowstring animations, etc)
2014-02-05 05:18:10 +01:00
scrawl
df78357e05
Handle knockout separately ( Closes #1151 )
2014-02-05 05:18:09 +01:00
mrcheko
688f359a33
discard creatures speed and negative fatique changes
2014-02-03 23:09:26 +02:00
mrcheko
761f13d3ce
activate whole-body attack animations
2014-02-02 16:29:51 +02:00
mrcheko
b85a4dd35e
pos accum without conformity with animation bug/creature speed
2014-02-02 15:01:49 +02:00
scrawl
49e26415be
Don't call loadGame() from within the MWMechanics::Actors update sequence
2014-02-01 18:42:00 +01:00
Marc Zinnschlag
1b5301eec0
Merge branch 'savedgame'
...
Conflicts:
apps/openmw/mwbase/mechanicsmanager.hpp
apps/openmw/mwbase/soundmanager.hpp
apps/openmw/mwgui/mapwindow.hpp
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
apps/openmw/mwsound/soundmanagerimp.hpp
components/esm/loadcell.cpp
2014-02-01 18:16:32 +01:00
scrawl
da34f8bda1
Fix LastHitObject
2014-01-31 04:43:35 +01:00
scrawl
067c2bc2ec
Disable combat movements for creatures without weapons
2014-01-31 04:43:35 +01:00
scrawl
7820ea5806
"Always best attack" should only affect the player
2014-01-31 04:43:35 +01:00
scrawl
52f89e9a17
Don't play "idle" voice entries for NPCs with Hello 0
...
Not entirely sure if this is correct, but it prevents the NPCs in the starting boat from incorrectly playing them.
2014-01-31 04:43:35 +01:00