Commit graph

2092 commits

Author SHA1 Message Date
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
scrawl
39d86a9468 Improvements to smooth NPC steering 2014-01-31 04:43:29 +01:00
mrcheko
80d8aa4030 bug with sequence of knockouts; giving sense to some hit state code 2014-01-30 23:54:26 +02:00
scrawl
e717694b36 Reset Run stance in AiWander 2014-01-29 15:37:27 +01:00
scrawl
23ffb8a4dc Fixes #1143: Make getCurrentAiPackage return the package that was run last, not the package that will be run in the next frame.
This makes the Mehra Milo script work properly.
2014-01-29 15:37:27 +01:00
scrawl
190512156d Use some more GMSTs for enchanting 2014-01-29 15:37:26 +01:00
scrawl
ea7e0abdc2 Move WhenStrikes skill success to a more appropriate place 2014-01-29 15:37:26 +01:00
scrawl
82146e7f8d Use GMSTs for levelup 2014-01-29 15:37:26 +01:00
scrawl
cc40cec395 Move levelup to NpcStats
The code came from back in the days where NpcStats did not derive from CreatureStats.
2014-01-29 15:37:26 +01:00
mrcheko
3a5da7e6e8 merged with master 2014-01-29 00:03:00 +02:00
Marc Zinnschlag
a473c3f619 some cleanup 2014-01-28 12:36:10 +01:00
Marc Zinnschlag
fd5486864a Merge remote-tracking branch 'gus/AIFix2'
Conflicts:
	apps/openmw/mwbase/mechanicsmanager.hpp
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwmechanics/actors.hpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
2014-01-28 12:33:31 +01:00
mrcheko
e50e94af0b remove CreatureStats::mAttackType, set/getAttackType() 2014-01-27 23:05:17 +02:00
mrcheko
fe0268062d merge with master 2014-01-27 22:38:01 +02:00
gus
846276f747 clean up 2014-01-27 15:14:24 +01:00
mrcheko
45b3aa3d93 corrected things connected to determining attack type 2014-01-26 23:32:57 +02:00
gus
f5d589388c bug fix 2014-01-26 22:06:54 +01:00
gus
764011dd1b clean up 2014-01-26 21:53:55 +01:00
gus
7cb47aa635 new implementation of pathfinding. Works, but need clean up 2014-01-26 21:26:19 +01:00
scrawl
b1066de81d Revert "Merge remote-tracking branch 'mrcheko/master'"
This reverts commit 4e360136b1, reversing
changes made to 047bbe43b2.

Conflicts:

	apps/openmw/mwmechanics/aicombat.cpp
2014-01-26 00:31:44 +01:00
scrawl
a1fbd1fcc8 Revert "Merge remote-tracking branch 'mrcheko/master'"
This reverts commit df7c139e2f, reversing
changes made to fec26342cd.
2014-01-26 00:14:49 +01:00
scrawl
28185e2017 Death/godmode fixes: Revive player *after* character update, since there might be fall damage. 2014-01-25 15:54:24 +01:00
gus
707e579dfe Merge branch 'master' of https://github.com/zinnschlag/openmw.git into AIFix2
Conflicts:
	apps/openmw/mwmechanics/aifollow.cpp
2014-01-24 19:16:50 +01:00
gus
5ca5946760 WIP 2014-01-24 19:13:23 +01:00
scrawl
03cf383be7 Merge branch 'master' of https://github.com/zinnschlag/openmw into savedgame
Conflicts:
	apps/openmw/mwgui/referenceinterface.cpp
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
	apps/openmw/mwscript/cellextensions.cpp
	apps/openmw/mwworld/cells.cpp
	apps/openmw/mwworld/cells.hpp
	apps/openmw/mwworld/cellstore.cpp
	apps/openmw/mwworld/store.cpp
	apps/openmw/mwworld/worldimp.cpp
2014-01-24 18:28:35 +01:00
mrcheko
87e83a92f8 refactoring of setting an attack type 2014-01-23 23:14:20 +02:00
scrawl
ea21d8fec3 Fix CreatureTargetted function 2014-01-22 13:30:45 +01:00
scrawl
f27701cbe8 Detect selling stolen items or enchanting with stolen items 2014-01-22 13:04:55 +01:00
scrawl
264226dfe3 Handle iWereWolfBounty 2014-01-22 12:33:47 +01:00
scrawl
194413c955 Feature #1119: Implement Resistance/Weakness to normal weapons magic effect. Handle fWereWolfSilverWeaponDamageMult. 2014-01-22 12:26:53 +01:00
scrawl
16f5f5862d Feature #956: Implement blocking melee attacks 2014-01-21 23:25:24 +01:00
scrawl
851a7d5014 Feature #957: Handle area effects for "on touch" range 2014-01-21 12:30:15 +01:00
scrawl
c8a9e9f7fa Stop AiCombat when the target is dead 2014-01-20 13:54:10 +01:00
scrawl
205e8aa4e9 Feature #957: Implement area magic 2014-01-20 13:11:29 +01:00
scrawl
df7c139e2f Merge remote-tracking branch 'mrcheko/master' 2014-01-19 21:23:04 +01:00
scrawl
fec26342cd Query the number of animation groups for death/hit animations, since they can vary a lot (argonian/khajiit, creatures, first person..) 2014-01-19 21:11:48 +01:00
mrcheko
339399f8b1 bug fix/logic fix/future suggestion 2014-01-19 22:09:51 +02:00
scrawl
05e75e1214 Closes #1127: Fix for subtitles for idle dialogue appearing outside of hearing range 2014-01-19 20:54:05 +01:00
scrawl
bea161331c Play 'hello' voiced dialogue entries in AIWander 2014-01-19 20:53:58 +01:00
scrawl
9723263730 Bug #1126: Tweak creature attack distance a bit (still no idea where this should come from) 2014-01-19 14:47:58 +01:00
scrawl
4e360136b1 Merge remote-tracking branch 'mrcheko/master'
Conflicts:
	apps/openmw/mwmechanics/aicombat.cpp
	apps/openmw/mwmechanics/character.cpp
	apps/openmw/mwmechanics/character.hpp
2014-01-19 14:01:39 +01:00
scrawl
047bbe43b2 Don't complain about missing jump animations 2014-01-19 13:46:40 +01:00
scrawl
13646a651b Issue #777: Handle creatures with weapons in CharacterController. Move attack strength to CreatureStats. 2014-01-19 13:32:58 +01:00
scrawl
589fbbd871 Issue #777: Create InventoryStore for creatures with weapons/shields 2014-01-19 11:43:23 +01:00
scrawl
69ca03c308 Issue #777: Move DrawState to CreatureStats. All creatures can cast spells, and some creatures have weapons. 2014-01-19 09:43:41 +01:00
scrawl
525ce2f042 Some cleanup - move definitions to implementation file 2014-01-18 10:52:16 +01:00
scrawl
9653355cf1 Feature #701: Spawn levelled creatures in cells 2014-01-18 07:26:27 +01:00
mrcheko
df4df5b094 fixed weapRange for creatures/startcombat script(?) 2014-01-17 23:30:28 +02:00
scrawl
5049f3b134 Fix the group for creature attack animations 2014-01-17 20:18:35 +01:00
mrcheko
a11a6b616b Merge remote-tracking branch 'upstream/master' 2014-01-17 21:00:55 +02:00
mrcheko
435bbdd530 one more mismatch fixed 2014-01-17 20:55:21 +02:00
mrcheko
46a4790cb1 final warnings removal 2014-01-17 20:33:49 +02:00
mrcheko
7df8273d71 fix for everybody 2014-01-17 20:01:15 +02:00
scrawl
3dcb292bc1 Do not soul trap creatures without a soul (which apparently exist) 2014-01-17 18:43:45 +01:00
mrcheko
5357f569e6 fix for scrawl 2014-01-17 19:36:22 +02:00
scrawl
9b32b1403b Feature #960: Implement Creature::hit 2014-01-17 17:19:08 +01:00
scrawl
228254c890 Handle creature attack animations in character controller 2014-01-17 16:31:27 +01:00
scrawl
c548dcee13 Quick keys menu: make sure selected spell still exists 2014-01-17 15:20:22 +01:00
scrawl
e410eb5273 Play 'Idle' voiced dialogue entries in AIWander. Tweak voice max distance. 2014-01-17 10:55:46 +01:00
scrawl
fe66012bcd Closes #1115: Fix a bug causing number of AI packages to grow exponentially when adding an AI package. Not sure if adding the same package twice should even be allowed. 2014-01-17 10:55:46 +01:00
mrcheko
f2ad1c18f2 fix merging problem/some logic fixes 2014-01-16 22:24:05 +02:00
mrcheko
d5f794d4fb update to combat ai behaviour 2014-01-15 22:56:55 +02:00
scrawl
d544551f61 Added getSkill to Class interface, since creatures also have skills (which are provided by generalized Combat, Magic and Stealth attributes which substitute for the specific skills, in the same way as specialization)
Information provided by Hrnchamd.
2014-01-15 15:50:45 +01:00
scrawl
7534fc968d Minor acrobatics fixes 2014-01-15 14:53:30 +01:00
scrawl
28a2585106 Unsheath weapon in AiWander 2014-01-15 14:53:29 +01:00
scrawl
da3295d69c Closes #1106: Move stance to CreatureStats, since creatures also have separate run/walk animations. 2014-01-15 14:53:29 +01:00
scrawl
d0500e8124 Some unneeded includes cleanup 2014-01-15 14:53:28 +01:00
scrawl
de64c57179 Fix some typos and accidental commit 2014-01-15 14:53:28 +01:00
greye
61707694e8 fix memory leak in AISequence 2014-01-14 16:22:50 +04:00
greye
15d946415e minor cleanup
Removed case folding via std::transform, excessive lowerCase()
replaced with ciEqual().
2014-01-14 12:46:53 +04:00
scrawl
52b9ebff9d Closes #1092: Implement sleep interruption. Fix levelled list flags for creatures. Change World::copyObjectToCell to search for the correct cell. 2014-01-14 07:42:03 +01:00
scrawl
69381c49c7 Added a todo comment 2014-01-14 07:39:44 +01:00
scrawl
90b92a8f41 Move levelled list code out of ContainerStore 2014-01-14 05:37:06 +01:00
scrawl
95651857f3 Fix code duplication 2014-01-14 02:52:34 +01:00
scrawl
0d0005c433 Fix fatigue not restoring when waiting 2014-01-14 02:20:13 +01:00
scrawl
73268a8606 Fix skill progress not working 2014-01-13 10:18:03 +01:00
scrawl
cd06b2177d Automatically knock down when fatigue goes below zero 2014-01-13 10:18:03 +01:00
scrawl
413bf127de Allow drain fatigue effect to reduce below zero 2014-01-13 10:18:02 +01:00
scrawl
83872f6bf5 Knockdown / hit recovery improvements. Use formula and GMSTs from research wiki for knockdown determination. Hand-to-hand automatically knocks out when fatigue empty. 2014-01-13 10:18:02 +01:00
Marc Zinnschlag
3e58eb34e4 Merge remote-tracking branch 'sergeyshambir/startcombat'
Conflicts:
	apps/openmw/mwscript/docs/vmformat.txt
2014-01-13 10:17:10 +01:00
gus
5d4e148063 some clean up 2014-01-12 22:47:22 +01:00
gus
5d038423ec attempt to solve Bug #1009 by not building graph every frame 2014-01-12 18:42:31 +01:00
gus
1ae62665d6 get all actors following a given actor 2014-01-12 14:02:40 +01:00
gus
dd870e35db get all actors following a given actor 2014-01-12 14:02:15 +01:00
gus
2446abe076 Allow getting current active package 2014-01-12 14:01:54 +01:00
gus
7e96a391da FollowCell duration = 0 -> infinite time 2014-01-12 11:39:42 +01:00
gus
7066844e52 Follow you until a certain cell is reached 2014-01-12 11:38:58 +01:00
scrawl
f78b846f9e Handle CasterLinked magic effect flag 2014-01-12 10:21:49 +01:00
scrawl
767c72e619 Fix diagonal movement being faster than forward movement 2014-01-12 10:04:06 +01:00
scrawl
1d19d36bd6 Remove unused magic effect flags and update esmtool output 2014-01-12 01:25:00 +01:00
scrawl
921ef6cd9c Closes #1093: Show weapon when initializing the character controller with a weapon equipped 2014-01-12 00:42:27 +01:00
scrawl
44b2380874 Closes #947: Decrease fatigue when running, swimming and attacking 2014-01-11 22:28:50 +01:00
scrawl
dddc0979a2 Fix another fatigue cap issue 2014-01-11 22:28:50 +01:00
gus
051d7141be check position to stop AIFollow 2014-01-11 20:32:38 +01:00
Marc Zinnschlag
b1ffb64a1f Merge remote-tracking branch 'gus/AIFix2' 2014-01-11 14:33:27 +01:00
gus
ccf07f9406 Bugfix 2014-01-11 12:07:10 +01:00
gus
2d66b2c4fa AiFollow. Npc get stuck often (no stuck dtection yet) 2014-01-11 12:06:36 +01:00
gus
f41f08c352 Wrong logic... should improve performances 2014-01-11 12:04:32 +01:00
gus
0609b71df9 fix pathfinding 2014-01-11 11:57:07 +01:00
Marc Zinnschlag
1b03eec63e Merge remote-tracking branch 'scrawl/master' 2014-01-11 11:43:12 +01:00
scrawl
3896c88403 Use VFX_DefaultCast / VFX_DefaultHit if the magic effect does not specify any 2014-01-11 05:58:05 +01:00
scrawl
9127839cc1 Add a searchPtr method as required for getting an owner, which may already be dead and disposed of. 2014-01-11 03:33:17 +01:00
scrawl
909494ff35 Implement Assault crimes. In other words, NPCs now fight back! 2014-01-11 03:08:16 +01:00
scrawl
d4a98ffc27 Increase fight rating when being the victim of a crime 2014-01-11 02:27:44 +01:00
scrawl
aba72ffefe Fix up the merge a bit 2014-01-11 02:12:41 +01:00
scrawl
727aa30347 Dead actors are unaware of everything 2014-01-11 02:06:54 +01:00
scrawl
621e52f09d Play "attack" voiced dialogue entries randomly based on iVoiceAttackOdds. 2014-01-10 22:48:42 +01:00
scrawl
15e48107f7 Use i1stPersonSneakDelta + some cleanup 2014-01-10 22:39:01 +01:00
scrawl
2744cde40f Use a few additional GMSTs 2014-01-10 22:27:31 +01:00
scrawl
3bf36515d5 Implement Trespassing crime 2014-01-10 21:26:24 +01:00
Marc Zinnschlag
f62497dfdc Merge remote-tracking branch 'mrcheko/master' 2014-01-10 19:08:35 +01:00
mrcheko
ffcb7fb280 fix for bug scrawl mentioned 2014-01-10 19:04:07 +02:00
mrcheko
d41f27451b appropriate camera vanity<>preview mode switch + hit recoils fix 2014-01-09 23:36:40 +02:00
Marc Zinnschlag
85707b5e3e Merge remote-tracking branch 'scrawl/master' 2014-01-09 09:35:54 +01:00
scrawl
223c1d5a38 Use GMSTs for crime bounty 2014-01-09 02:20:52 +01:00
scrawl
6f9113fe88 Add preliminary implementation of PayFine, PayFineThief and GoToJail instructions 2014-01-09 01:49:58 +01:00
scrawl
0f5dc59176 Remove useless dependencies on InventoryWindow for getting player gold. Don't use string literals for gold_001 id, just to be sure. 2014-01-08 23:37:46 +01:00
Marc Zinnschlag
a7be755db0 Merge remote-tracking branch 'mrcheko/master' 2014-01-08 20:13:31 +01:00
scrawl
9baa1bef78 Expell player from faction when committing a crime against a faction member 2014-01-08 19:26:03 +01:00
scrawl
19d63f392f Clean up the NpcStats expelled interface. Show message box when expelled. 2014-01-08 18:59:00 +01:00
scrawl
098f9712f1 Add getPlayerPtr() utility method. Reduces dependencies a lot. 2014-01-08 18:39:44 +01:00
scrawl
7b33f6f2ac Detect crime of sleeping in other NPC's beds. ShowRestMenu needs to support an explicit/implicit reference for this. 2014-01-08 17:19:43 +01:00
scrawl
b99ca92fee Add missing line of sight check 2014-01-08 17:18:13 +01:00
mrcheko
46519062d3 hit recoils/knockdowns feature 2014-01-08 16:05:14 +02:00
scrawl
2bb21f2f76 Don't copy NpcStats/CreatureStats unnecessarily. Fixes a bug: taunt actions would not correctly increase the target's fight rating. 2014-01-08 02:35:36 +01:00
scrawl
c85c2cff4e Fix disposition changes from trades not applying properly 2014-01-08 01:46:42 +01:00
scrawl
0285d18fc2 Respect items belonging to a faction 2014-01-07 20:24:01 +01:00
scrawl
3c0080d2c1 Implement theft detection 2014-01-07 19:58:17 +01:00
scrawl
d2d76f4f47 Fix disintegration bug 2014-01-07 19:21:19 +01:00
scrawl
90b55c8d4b Use Ogre's asin/acos functions which will protect against NaNs 2014-01-07 17:09:08 +01:00
scrawl
780bf5a2cd Implement pickpocket detection. Play a voiced dialogue entry when detected. 2014-01-07 03:01:33 +01:00
Sergey Shambir
5c7e39a92f Implemented script commands StartCombat, StopCombat, GetTarget.
Also renamed one field of AIWander class because it's not longer
unknown.
2014-01-07 04:43:06 +04:00
scrawl
887db76ed2 Don't consider swimming or in-air characters as sneaking 2014-01-07 01:22:04 +01:00
scrawl
29c823b9d4 Implement awareness check function. Use this for combat AI and GetDetected instruction. 2014-01-07 00:51:09 +01:00
scrawl
4a3d148a48 Fixes #1089 (skill increases) 2014-01-07 00:37:52 +01:00
mrcheko
2591ff2d5a bug repairing 2014-01-06 22:00:01 +02:00
scrawl
62774fcc4a Merge branch 'master' into HEAD
Conflicts:
	apps/openmw/mwbase/world.hpp
	apps/openmw/mwinput/inputmanagerimp.cpp
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwworld/worldimp.cpp
	apps/openmw/mwworld/worldimp.hpp
	components/esm/loadtes3.cpp
2014-01-06 00:23:17 +01:00
scrawl
dde2cd5d5a Fix some code that still used setCount directly instead of using the ContainerStore interface. Also fix a related annoyance with the interface. 2014-01-05 20:53:45 +01:00
scrawl
44e96fcaaa Implement Charm magic effect 2014-01-05 01:56:36 +01:00
scrawl
14b70a3ce6 Implement AI related magic effects (calm, frenzy, rally, demoralize, turn undead) 2014-01-05 01:34:35 +01:00
scrawl
f4517c8221 For dialogue filtering, use the Vampirism magic effect instead of the untouched NpcStats::mVampire 2014-01-04 20:50:18 +01:00
mrcheko
7002412760 resolve conflict in character.cpp 2014-01-04 17:55:09 +02:00
scrawl
557652112f Show the target HP bar also when casting a heal effect (same as MCP) 2014-01-04 04:21:44 +01:00
scrawl
be2ebc5cac Closes #1081: Implement disease contraction 2014-01-03 23:33:14 +01:00
scrawl
e9bd43e2da Use GMSTs for bound items/creatures 2014-01-03 20:54:14 +01:00
scrawl
b22dd40b41 Implement Paralyze magic effect 2014-01-03 17:06:05 +01:00
scrawl
55c5d7cee4 Implement Resurrect instruction 2014-01-03 15:54:23 +01:00
scrawl
b4230f716e Implement RemoveEffects instruction 2014-01-03 05:19:10 +01:00
scrawl
7d8ca91286 Implement RemoveSpellEffects instruction 2014-01-03 05:18:44 +01:00
scrawl
366801f3d5 Implement explodeSpell instruction (like Cast, with caster = target) 2014-01-03 04:44:50 +01:00
scrawl
b42240be6d Implement Damage/restore skill/attribute effects. Use dedicated classes for skill and attribute values (instead of Stat<T>) since there are some important differences. 2014-01-03 03:48:43 +01:00
scrawl
32ff3b530c Change all instances of skill/attribute values to use an appropriate typedef. 2014-01-03 01:59:15 +01:00
scrawl
623cdef69f Code cleanup 2014-01-02 21:49:12 +01:00
scrawl
299690631f Implement SoulTrap magic effect 2014-01-02 21:21:28 +01:00
mrcheko
79e972bdb6 resolved accompanying minor problems 2014-01-02 21:54:41 +02:00
scrawl
596e0c8a49 Correct Dispel effect (use magnitude as chance) 2014-01-02 20:15:07 +01:00
scrawl
94d2ec8e4e Add missing spells update 2014-01-02 20:02:28 +01:00
Marc Zinnschlag
a6e6411686 Merge remote-tracking branch 'scrawl/master' 2014-01-02 12:12:52 +01:00
scrawl
783c501d70 Some checks to prevent bound item abuse 2014-01-02 01:36:08 +01:00
scrawl
590c8cb4a0 Implement Disintegrate effects. When an armor/weapon breaks, unequip it and do not allow equipping it again. 2014-01-02 01:03:44 +01:00
mrcheko
16e10cc702 error fix 2014-01-01 22:46:29 +02:00
scrawl
bfc9fcf2cd Add starting spells when building player (F_PCStart flag) 2014-01-01 21:34:00 +01:00
mrcheko
09a0a69b04 more improvements 2014-01-01 21:40:31 +02:00
Marc Zinnschlag
e1355be47c Merge remote-tracking branch 'lgro/valgrind_warnings' 2014-01-01 19:41:52 +01:00
scrawl
8e5cae1081 Implement mark/recall magic effects 2014-01-01 17:06:21 +01:00
scrawl
69ba8a40bf Fix weird formatting added during the merge 2014-01-01 16:13:20 +01:00
scrawl
b3cd10dbea Remove redundant setTeleported calls 2014-01-01 15:18:25 +01:00
Marc Zinnschlag
c3482b6f24 Merge remote-tracking branch 'scrawl/master'
Conflicts:
	apps/openmw/mwmechanics/spellcasting.cpp
2014-01-01 15:05:42 +01:00
Marc Zinnschlag
5fa9aa5d1e Merge remote-tracking branch 'lgro/issue417_apply_weather_instantly_when_teleporting'
Conflicts:
	apps/openmw/mwworld/weather.cpp
	apps/openmw/mwworld/worldimp.cpp
2014-01-01 14:57:14 +01:00
scrawl
ea3b88951a Implement divine/almsivi intervention magic effects 2014-01-01 02:22:11 +01:00
Lukasz Gromanowski
e9844e1b37 Fixes #417: Apply weather instantly when teleporting
Changed teleporting detection from "position tracking" to manually
setting "teleportation" flag ( player->setTeleported(true) ).

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-31 20:40:23 +01:00
mrcheko
a8fb1ae51c improved, added knockdown after falling 2013-12-31 17:55:04 +02:00
mrcheko
d6345bce91 added npc hit reactions 2013-12-31 13:24:20 +02:00
Lukasz Gromanowski
5c5f87445b Fixes for "Conditional jump or move depends on uninitialised value(s)"
and memleaks reported by valgrind.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-30 21:47:06 +01:00
scrawl
79a440e94a Many additions to 900bc06d2c:
- Fix indentation
 - Consider any kind of light, not just torch_infinite_time
 - Hostile NPCs should also wear lights, if they have nothing else that could use the slot (or a twohanded weapon)
 - Remove redundant code and don't add additional lights to the inventory
 - World::isDark returns false for interiors which are unaffected by weather
2013-12-30 17:57:41 +01:00
Marc Zinnschlag
6de39a7329 Merge remote-tracking branch 'lgro/issue845_NPCs_hold_torches_whole_day'
Conflicts:
	apps/openmw/mwmechanics/character.cpp
2013-12-29 15:00:31 +01:00
scrawl
17ff8165d2 Closes #1065: Don't apply fall damage when landing in water 2013-12-29 00:36:36 +01:00
scrawl
2a8ab932ef Bug #951: Only recalculate derived stats when attributes change 2013-12-28 17:19:35 +01:00
scrawl
85ec80100c Bug #1005: Hide torches/shields during spellcasting and hand-to-hand combat 2013-12-27 22:00:16 +01:00
scrawl
7265b427fe Bug #1013: Rewrote fall height detection 2013-12-27 21:21:18 +01:00
scrawl
686d9efac3 Bug #1060: Fix incorrect spell type checks 2013-12-27 18:58:35 +01:00
scrawl
a3017e16d4 Don't allow changing the spell that is being cast mid-animation 2013-12-26 22:32:39 +01:00
scrawl
5054d8e6c1 Bug #1055: Check power use and mana before starting cast animation 2013-12-26 22:06:13 +01:00
Lukasz Gromanowski
900bc06d2c Fixes #845: NPCs hold torches during the day
Moved 'equipping torches at night and unequipping at day' code from Character
to Actors class.

Removed unneeded showLights method (introduced in previous commits)
from animation/npcanimation classes.

Since this commit autoEquip() method doesn't automatically equip lights.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-20 22:38:23 +01:00
Lukasz Gromanowski
abc126e2af Fixes #845: NPCs hold torches during the day
Added check for Player character so it won't be affected by showing,
or hidding torches.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-20 01:01:30 +01:00
Lukasz Gromanowski
6eb674e4e5 Fixes #845: NPCs hold torches during the day
Added equipping/unequipping torches.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-20 00:18:34 +01:00
Lukasz Gromanowski
92072d968b Fixes #845: NPCs hold torches during the day
Simplified a bit code which shows and hides light.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-19 21:11:07 +01:00
mrcheko
3816a09c6f bug 428 ask to load recent saved game 2013-12-19 22:08:34 +02:00
mrcheko
f50ff0b1c4 reworked http://bugs.openmw.org/issues/428 2013-12-16 15:40:47 +02:00
mrcheko
fd9f8c34f6 bug fix http://bugs.openmw.org/issues/428 2013-12-15 18:50:25 +02:00
Lukasz Gromanowski
91a4d9a2eb Fixes #845: NPCs hold torches during the day
Added method in WeatherManger and World which returns true if it is night.
This method is used later in character controller to show torches
(or other sources of light) at night and hide them at day.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-10 23:48:49 +01:00
Emanuel Guevel
fc8bd1aacb Allow fatigue stat to become negative when fatigue damages are taken 2013-12-09 21:53:04 +01:00
Marc Zinnschlag
77a2179d1e Merge remote-tracking branch 'scrawl/master' 2013-12-09 18:39:34 +01:00
scrawl
0bc3a13c0f Break invisibility on Use or Activate 2013-12-08 23:36:37 +01:00
scrawl
37a7ee8fcd Set alpha value of character animations according to Invisibility / Chameleon effects. 2013-12-08 23:05:21 +01:00
Lukasz Gromanowski
594cc693b2 Fixes #1006: Many NPCs have 0 skill
Added calculation of skill values for NPC with mNpdtType
set to NPC_WITH_AUTOCALCULATED_STATS (their NPDT is 12).

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-08 21:47:43 +01:00
Marc Zinnschlag
1c13a9037a save and load dynamic records 2013-12-07 13:17:28 +01:00
Marc Zinnschlag
030c733e2d Merge branch 'master' into savedgame
Conflicts:
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwworld/worldimp.cpp
	files/settings-default.cfg
2013-12-07 12:27:06 +01:00
Lukasz Gromanowski
bfd79bfbe6 Various fixes for CppCheck warnings.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-06 07:36:16 +01:00
Marc Zinnschlag
e818d43bc3 removed an outdated typedef and some dead code 2013-12-05 13:21:26 +01:00
scrawl
4b4025ed0f Keep the player's CharacterController when changing cells. Fixes several glitches. 2013-11-30 11:01:45 +01:00
scrawl
0e267b79ec Don't heal dead actors when resting 2013-11-29 20:21:57 +01:00
scrawl
076cc9230b First try at handling target magic 2013-11-28 17:31:17 +01:00
scrawl
49ea1aae67 Use GMST for sun damage reduction 2013-11-26 15:01:22 +01:00
scrawl
eba068149d Fix AIWander crash 2013-11-25 15:38:18 +01:00
scrawl
14c9a4e1d3 Cap enchantment casting cost to 1 as displayed in enchanting window. Display current enchantment charge in spell window. 2013-11-23 23:12:54 +01:00
scrawl
4aa9f3bcef Don't set the enchanted item in HUD for "WhenStrikes" enchantments 2013-11-23 22:48:56 +01:00
scrawl
d2ed77f3f2 Fix shields being visible during spellcasting 2013-11-23 20:24:52 +01:00
scrawl
320ba98097 Correct getDerivedDisposition according to wiki (check if player expelled) 2013-11-21 17:19:41 +01:00
scrawl
bab657fe2b Add a utility function to add items to a ContainerStore by RefID 2013-11-21 17:14:30 +01:00
scrawl
800a2845b0 Add Bound & Summon effects (will need some adjustments later) 2013-11-21 17:14:23 +01:00
scrawl
bf153e1c8e Fix bug applying instant effects 2013-11-21 00:41:52 +01:00
scrawl
4ed4c1e319 Add Vampirism and Sun Damage effects. Some fixes. 2013-11-21 00:41:31 +01:00
scrawl
0b9676aaa3 Fix an issue with the AI code 2013-11-19 18:43:32 +01:00
scrawl
38a82c4b0b Add a todo comment 2013-11-19 18:43:21 +01:00
scrawl
f3ff2e4260 Handle Unreflectable flag 2013-11-19 17:33:02 +01:00
scrawl
c03c82c78a Apply disease resistance manually as according to wiki 2013-11-19 17:15:17 +01:00
Marc Zinnschlag
8190fdb16c Merge remote-tracking branch 'scrawl/master' 2013-11-19 16:56:18 +01:00
scrawl
654b7d9ba5 Apply disease resistance manually as according to wiki 2013-11-19 16:52:26 +01:00
scrawl
e8dcd74741 Recharge enchanted items in player's inventory over time 2013-11-19 16:42:24 +01:00
Marc Zinnschlag
11e254aac8 Merge remote-tracking branch 'gus/AICombat'
Conflicts:
	apps/openmw/CMakeLists.txt
	apps/openmw/mwbase/mechanicsmanager.hpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
2013-11-19 09:10:48 +01:00
scrawl
74e42a2d02 Add missing skill increases for Enchant skill 2013-11-19 07:39:07 +01:00
gus
dff3cf162d ToggleAI script instruction 2013-11-18 23:03:44 +01:00
Marc Zinnschlag
f45cff8aff flag game as ended when player dies 2013-11-18 15:38:08 +01:00
gus
4559e932ae AI packages have priority and combat is triggered in actor.cpp using the Hostile setting in CreaturesState 2013-11-18 12:33:09 +01:00
scrawl
6902569d03 Implement Absorb effects (AbsorbHealth, etc) 2013-11-18 05:01:36 +01:00
scrawl
a420698237 Don't try to absorb or reflect for self casted spells 2013-11-17 23:41:24 +01:00
scrawl
0dc2e829dd Lots of cleanup. Implemented Absorb and Resist. Implemented several instant effects. Added hand VFX. 2013-11-17 23:31:08 +01:00
scrawl
fc268bf302 Initialize mFallHeight 2013-11-17 23:31:08 +01:00
scrawl
47fc3f81f5 Don't update actors while paused 2013-11-17 23:31:08 +01:00
scrawl
2a11618ee7 Make sure the equipped weapon HUD icon is updated properly 2013-11-17 23:31:07 +01:00
scrawl
aa84ce3f0d Copy paste mistake (oops) 2013-11-16 14:44:31 +01:00
scrawl
7474e87edc Implement RestoreHealth/Magicka/Fatigue 2013-11-16 05:06:54 +01:00
scrawl
bb43ec9b35 Implement damage tick effects 2013-11-16 03:16:21 +01:00
scrawl
b1a29eb27e Implement Resist & Weakness effects 2013-11-16 02:34:43 +01:00
scrawl
d49b6f19ff Don't advance acrobatics skill for NPCs 2013-11-16 02:11:11 +01:00
scrawl
c73217627e Move code for listing effect sources to the spell management classes 2013-11-15 20:29:47 +01:00
scrawl
da85f3e575 Use the formula from the wiki for spell success. 2013-11-14 19:19:32 +01:00
scrawl
9c5847e2f4 Fix VFX not getting removed when an actor dies 2013-11-14 14:52:30 +01:00
scrawl
992a8e9c36 Refactor NpcAnimation: get rid of delayed update (no longer required), make sure that the Animation is set up *before* the inventory store is accessed anywhere (which now triggers auto equip and animation update). Allows better tracking of magic VFX for permanent enchantments in InventoryStore. 2013-11-14 14:41:10 +01:00
scrawl
0b5f5351b5 Fix continuous FX getting removed instantly 2013-11-14 13:30:48 +01:00
scrawl
ff7e4174f9 Fix some leftover code that still calculated random magnitude per spell rather than per effect. Major cleanup of InventoryStore: Magic effects are now updated when needed, rather than cached. Also allows to get rid of 'mutable' hacks and non-const method that should be const. Play sounds and particles when equipping a permanent enchantment item. 2013-11-13 18:51:28 +01:00
scrawl
a6e2f43b75 Stop continuous VFX when the effect is no longer active. 2013-11-13 15:44:43 +01:00
scrawl
9b0e82a37f Projectile models are now spawned (no movement or impact yet). Refactored trap activation to apply range types properly. Handle ContinuousVFX for magic effects (note they aren't stopped yet when the effect ends) 2013-11-13 14:02:15 +01:00
scrawl
0627e23d3c Fix wrong skill level for spell success formula. 2013-11-13 01:26:25 +01:00
scrawl
eccb8f38ba Apply "cast when strikes" enchantments when hitting with a weapon 2013-11-12 02:07:51 +01:00
scrawl
ffdb91bb21 Add particles for Cast + Hit. Not looking quite right yet. 2013-11-11 23:43:28 +01:00
scrawl
6f3d737498 Missing const, thanks to jeaye 2013-11-10 23:27:11 +01:00
scrawl
1773c70455 Merge branch 'master' of https://github.com/zinnschlag/openmw into magic 2013-11-10 22:03:17 +01:00
Marc Zinnschlag
ef8360f346 silenced a warning 2013-11-10 21:45:27 +01:00
scrawl
6cd373c5c6 Only allow using powers once every 24 h. Apply on touch effects. 2013-11-10 15:40:31 +01:00
scrawl
71828351e6 Code cleanup: use enum instead of integer 2013-11-10 15:28:26 +01:00
Emanuel Guevel
aefa54d72d Pass item count to ManualRef constructor
This remove the need to call setCount in multiple places.
2013-11-10 02:45:16 +01:00
Emanuel Guevel
2786530430 Edit InventoryStore::equip() to call the new unequipSlot function…
…to unequip previously equipped item.
2013-11-10 02:45:16 +01:00
Emanuel Guevel
10abb9d297 Call ContainerStore::remove() to remove items from inventory
Make placeObject() and dropObjectOnGround() in MWWorld to copy objects
(and indicate it clearly).

Enchanting an item now unequips it.
2013-11-10 02:45:16 +01:00
scrawl
3e58655a90 Implemented Fortify/Drain skill magic effects. Scroll of icarian flight works! 2013-11-09 10:49:00 +01:00
scrawl
cbe96a2170 Refactor ActiveSpells to track range type. Added basic self range magic. 2013-11-09 07:51:46 +01:00
gus
683b8d77dd build fix (thanks travis) 2013-10-31 11:02:26 +01:00
gus
d587f3c946 Merge branch 'master' of https://github.com/zinnschlag/openmw.git into AICombat
Conflicts:
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwscript/docs/vmformat.txt
2013-10-31 09:51:17 +01:00
gus
02ded18fc5 Linux backslash fix 2013-10-31 09:43:12 +01:00
gus
2a927f65d3 perfomances optimisations (pathfinding is computed less often, max 4 times per sec) 2013-10-30 20:52:23 +01:00
gus
650a112e2e better timer 2013-10-30 20:42:50 +01:00
gus
a6e7c6c104 disable AI combat for creatures 2013-10-28 23:04:46 +01:00
gus
0e86209224 linux fix :p 2013-10-28 18:33:10 +01:00
gus
b7a9243173 fighting should stop when the target is dead 2013-10-28 18:22:36 +01:00
gus
12d8b4e0f8 bugfix 2013-10-28 18:13:07 +01:00
gus
2d84f7d33d NPC run 2013-10-28 18:10:00 +01:00
gus
d7584f9df7 getLineOfSight, no script instruction yet 2013-10-28 18:01:40 +01:00
gus
2515a1239e improved combat conditions 2013-10-27 14:22:51 +01:00
gus
968968502e NPC always face you when fighting 2013-10-27 14:03:58 +01:00
gus
a0edb55f60 only NPC with fight over 80 will attack you now 2013-10-27 13:50:29 +01:00
gus
882b136b35 bugfix of bugfix ^^ 2013-10-27 13:21:16 +01:00
Marc Zinnschlag
19bd0f90b9 Merge remote-tracking branch 'rainChu/torches' 2013-10-16 21:24:45 +02:00
Alex "rainChu" Haddad
2643214ca6 Lights extinguish underwater 2013-10-15 21:50:32 -04:00
Alex "rainChu" Haddad
30ee3c5cf6 Equipped torches and lights run out of fuel 2013-10-15 21:50:14 -04:00
Emanuel Guevel
dcfff79460 Regenerate fatigue over time 2013-10-13 00:40:27 +02:00
Marc Zinnschlag
458c752425 Merge remote-tracking branch 'mckibbenta/tgm' 2013-10-12 13:38:10 +02:00
gus
94069e3a7e bugfix 2013-10-07 20:30:12 +02:00
gus
1ac3d99c78 pathfinding now works in AICombat. 2013-10-07 10:20:02 +02:00
Emanuel Guevel
2abe5c1c9a Acrobatics: do not apply fall damages when slowfalling spell effect is active
If spell effect ends up in mid-air, calculate fall height from then.
2013-10-02 23:34:25 +02:00
Emanuel Guevel
6e09a5fb4a Acrobatics: reinit fall height at current height rather than zero
To prevent problems.
2013-10-02 23:34:25 +02:00
Emanuel Guevel
2b992ef3b5 Acrobatics: use calculated fatigueTerm 2013-10-02 23:34:24 +02:00
Emanuel Guevel
4c151e59a2 Acrobatics: do not touch modified stats 2013-10-02 23:34:24 +02:00
Emanuel Guevel
4860514865 Acrobatics: cosmetic changes 2013-10-02 23:34:24 +02:00
mckibbenta
857deb3723 Merge branch 'master' into tgm 2013-10-02 13:54:03 -04:00
mckibbenta
073f64c8bb stop weapon condition degredation (for the player) with tgm on 2013-10-02 13:46:33 -04:00
Emanuel Guevel
b8c60dabb3 Reintroduce Acrobatics changes made by Glorf
Advance Acrobatics skill on jump and on landing,
apply fall damage on landing.
2013-10-01 23:35:34 +02:00
gus
83a375b55d AI now continue to hit you.
TODO: change the way time is handled
2013-09-28 21:17:06 +02:00
gus
2537384c50 bug fix 2013-09-28 12:25:37 +02:00
gus
9353f4d14f WIP AI combat 2013-09-25 18:01:36 +02:00
Marc Zinnschlag
94bb97e766 replacing tabs with spaces 2013-09-21 08:40:00 +02:00
Marc Zinnschlag
96b181bb54 Merge remote-tracking branch 'xethik/master' 2013-09-21 08:07:00 +02:00
Xethik
094e4d93b7 Generally speaking, you should never compare iterators from two different compilers
http://stackoverflow.com/questions/4657513/comparing-iterators-from-different-containers
It seems like this was just an overlook that happened to work on most systems. I was not able to thoroughly test this change, but it fixed an issue I was having in VC10.
It's possible the prev.end() was a copy paste error that was meant to be new.end() anyways.
2013-09-20 21:38:10 -04:00
mckibbenta
6bb6ba6372 added god mode comment 2013-09-15 16:12:59 -04:00
mckibbenta
89b7d6121d Initial toggleGodMod/tgm instruction. Currently only affects player health. 2013-09-12 08:30:00 -04:00
gus
f9bfbc8764 Merge branch 'master' of https://github.com/zinnschlag/openmw.git into AICombat 2013-09-10 16:18:39 +02:00
gus
46a734852b adding script instruction getLOS + some test about AI 2013-09-10 16:16:13 +02:00
mckibbenta
e545f49807 Merge branch 'master' of https://github.com/zinnschlag/openmw into tgm 2013-09-02 18:40:37 -04:00
Chris Robinson
82a09a988b Minor pathfinding cleanup 2013-08-29 19:17:27 -07:00
Chris Robinson
9499ac4fd5 Increase the distance for reaching a path node 2013-08-29 17:41:20 -07:00
Chris Robinson
f9dbce685a Avoid killing AIWander and AITravel when far away
This fixes the problem of certain NPCs not wandering because they
happened to spawn near a cell border away from the player, which
immediately "completed" the wander package.

AIWander can't cause NPCs to cross cell boundaries, so there's no risk
of them walking into an unloaded to. AITravel will now simply stop
moving, and resume later when the cell is loaded.
2013-08-29 17:41:20 -07:00
mckibbenta
f65172bdca Merge branch 'master' of https://github.com/zinnschlag/openmw into tgm 2013-08-29 20:26:36 -04:00
mckibbenta
eef9df504a fiddlings 2013-08-29 20:25:36 -04:00
Chris Robinson
84d259ab8e Avoid reconstructing strings for updating the dynamic stats
Attributes still do this, but they change infrequently enough that it doesn't
matter.
2013-08-28 10:50:29 -07:00
Chris Robinson
92082dae66 Modify the current magicka and fatigue when the base changes 2013-08-27 22:44:52 -07:00
Chris Robinson
305b5fec0f Avoid needlessly copying the MagicEffects 2013-08-27 21:40:31 -07:00
Chris Robinson
281fdbd81b Cleanup some redundancy 2013-08-27 17:56:47 -07:00
Chris Robinson
33c173a23a Update the watched Ptr when changing it 2013-08-27 17:22:07 -07:00
Chris Robinson
39af9a13fa Remove some unused functions 2013-08-27 17:13:49 -07:00
Chris Robinson
189541aa72 Apply drowning damage based on the update duration
1 damage every 0.33 seconds is 3 damage a second. Applying it this way avoid
having to track another stat.
2013-08-27 17:08:23 -07:00
Chris Robinson
cf6e3ab933 Fix a potential divide-by-zero 2013-08-19 09:36:51 -07:00
Chris Robinson
2ec39f3622 Don't start the jump animation until after the actor is airborn
A bit counter-intuitive, but otherwise certain jump animations will improperly
add an offset to the initial inertia.
2013-08-19 08:24:47 -07:00
Chris Robinson
ac3d3df9fc Implement jumping animations 2013-08-19 08:10:18 -07:00
Chris Robinson
6e9f15793d Implement a jumping state 2013-08-18 23:42:56 -07:00
Chris Robinson
b0f8045c72 Improve mid-air control 2013-08-18 05:59:06 -07:00
Chris Robinson
9d56e2d86d Apply movement by queueing it to do later 2013-08-17 22:34:38 -07:00
Chris Robinson
2353ac1739 Properly implement SetWerewolfAcrobatics 2013-08-13 04:54:41 -07:00
Chris Robinson
6fd4cdb5fb Play randomized werewolf sounds 2013-08-11 00:53:17 -07:00
Chris Robinson
180f0d0fe9 Restart from the loop point if replaying the same animation 2013-08-09 21:25:28 -07:00
Chris Robinson
5968165de0 Merge remote-tracking branch 'zini/master' into werewolf
Conflicts:
	apps/openmw/mwgui/windowmanagerimp.cpp
2013-08-09 07:00:00 -07:00
Chris Robinson
a28c36de17 Don't count as running if not actually moving along (local) X/Y 2013-08-09 06:53:07 -07:00
Chris Robinson
c2d8eb377f Play some appropriate sounds in werewolf form 2013-08-09 06:40:16 -07:00
Chris Robinson
ae183cb3e4 Handle werewolf stats 2013-08-09 05:14:58 -07:00
Chris Robinson
46bc7bd9c8 Some cleanup since NpcStats is now also CreatureStats
This isn't a thorough cleaning, so keep an eye out for more
2013-08-09 01:14:08 -07:00
Chris Robinson
75b6515915 Inherit NpcStats from CreatureStats 2013-08-08 23:28:02 -07:00
PLkolek
86020ad94d Added underwater and drowning sounds. 2013-08-08 20:57:15 +02:00
Chris Robinson
2bac4566c0 Merge remote-tracking branch 'PotatoesMaster/werewolf' into werewolf
Conflicts:
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwscript/statsextensions.cpp
2013-08-08 00:09:29 -07:00
PLkolek
8f4506f5b6 Implemented drowning.
Currently no visual effects on losing health, the breathing sound doesn't change (we don't have one),
the breath bar doesn't turn red when no breath left and it doesn't pulse from black to red.
2013-08-07 16:46:46 +02:00
Emanuel Guevel
48d2554ac3 Auto-equip when items are added to the inventory
We limit that to armor pieces and clothing items.
No auto-equiping for the player nor werewolves.
2013-08-07 15:17:55 +02:00
Emanuel Guevel
e0d0cdd18a Do not auto-equip items continuously
This was called every couple of frames.
2013-08-07 14:30:13 +02:00
Chris Robinson
8f69c51b24 Avoid some unnecessary references 2013-08-06 19:49:00 -07:00
Chris Robinson
eab4e09566 Handle the pick/probe in the character controller 2013-08-06 19:48:59 -07:00
Emanuel Guevel
20d40c4368 Implement MWWorld::World::setWerewolf() 2013-08-06 12:34:35 +02:00
scrawl
4caac0d859 Fix idle animations repeating 2013-08-05 02:06:23 +02:00
vorenon
76a1abe9fa Don't allow the use of the "jump" key while sneaking - Update 2013-08-04 20:10:33 +02:00
scrawl
982f743ddd Fix wrong idle animations played 2013-08-03 13:13:33 +02:00
vorenon
aa45127895 Adjusted swish sounds
Sorry Chris, I was wrong. The game actually uses SwishM for every attack, but at a different pitch depending on the force of the attack. I realized it after testing your changes.
2013-08-02 16:33:39 +02:00
Chris Robinson
f57c829cba Play the appropriate swish sound and follow-up animation 2013-08-02 00:21:02 -07:00
Chris Robinson
b70975a74d Move getEvasion to CreatureStats 2013-08-02 00:21:01 -07:00
scrawl
7dc30a01cd Some changes suggested by cppcheck 2013-07-31 18:46:32 +02:00
scrawl
16cacb338a Initialize MWMechanics::AiSequence from ESM::AiPackageList 2013-07-31 00:55:08 +02:00
Chris Robinson
3298eb1b37 Implement HitOnMe script function 2013-07-26 10:50:23 -07:00
Chris Robinson
4ad28ed369 Don't play a weapon-down sound when unreadying a spell 2013-07-25 00:46:20 -07:00
Chris Robinson
0db02af807 Set up the weapon state in the CharacterController constructor 2013-07-24 21:08:16 -07:00
Chris Robinson
705498ec24 Play a swish sound when attacking 2013-07-24 10:34:53 -07:00
Chris Robinson
bf1d907d07 Don't play casting animations for enchantments 2013-07-24 05:39:15 -07:00
Chris Robinson
cc8e8c1272 Use the attack strength as determined by how long the attack was held 2013-07-24 03:18:53 -07:00
Chris Robinson
11b094559f Play the appropriate casting animation sound 2013-07-23 11:12:19 -07:00
Chris Robinson
17282c69b1 Handle spell-casting animation sequences 2013-07-23 07:30:54 -07:00
Chris Robinson
4d157cb19a Handle marksmen weapon attack sequences 2013-07-23 06:13:08 -07:00
Chris Robinson
d5d832846e Rename the follow-up upper character state enum 2013-07-23 04:56:49 -07:00
Chris Robinson
24567294ff Move NPC state update handling into a separate method 2013-07-23 03:26:24 -07:00
Chris Robinson
22e07968af Store the current weapon group name 2013-07-23 02:50:52 -07:00
Chris Robinson
0240efa6cf Improve weapon attack logic to better handle picks, probes, and h2h 2013-07-23 02:28:58 -07:00
Marc Zinnschlag
ec575200e3 Merge remote-tracking branch 'gus/MeleeCombat2'
Conflicts:
	apps/openmw/mwrender/animation.cpp
2013-07-23 09:12:23 +02:00
Emanuel Guevel
48f0e64ec3 Fix health calculation at character creation 2013-07-21 11:02:03 +02:00
Emanuel Guevel
2356e6218e Complete health increase on level up 2013-07-20 22:14:10 +02:00
Emanuel Guevel
2a0644a7c3 Move some levelup logic from mwgui to mwmechanics 2013-07-20 22:14:10 +02:00
Emanuel Guevel
7837dcdc19 Calculate NPC health on loading instead of updating it continually
Only NPC with auto-calculated stats are concerned.
2013-07-20 22:14:10 +02:00
Emanuel Guevel
074e241c32 MWMechanics::DynamicStat: fix members initialization 2013-07-20 22:14:09 +02:00
Chris Robinson
9c13568bb7 Remove idles from the state list and rename it 2013-07-18 01:49:53 -07:00
Chris Robinson
e803cdbe7f Handle swimdeath and missing death animations 2013-07-18 01:13:53 -07:00
Chris Robinson
f01b0b48cc Don't start with an idle state if dead 2013-07-18 00:35:03 -07:00
Chris Robinson
e78bdd2a5d Clear 'swim' from the animation name as a backup instead of 'sneak' 2013-07-18 00:22:40 -07:00
Chris Robinson
d6324d71bf Ensure mechanics actors/objects are cleared before adding them 2013-07-17 21:39:21 -07:00
Chris Robinson
0cd4df3edf Stop playing idles on death 2013-07-17 02:19:22 -07:00
Chris Robinson
e2e278d06d Fix some animations not playing properly
Default movement animation speed multiplier should be 1, not 0. Only
randomize death1...death5 for NPCs.
2013-07-17 02:06:31 -07:00
scrawl
dfe912dcab Enum renaming 2013-07-16 23:38:55 +02:00
scrawl
91e95e1404 Use the correct slash, chop or thrust animation 2013-07-16 23:32:41 +02:00
gus
66e3eacace fix bows 2013-07-16 15:14:34 +01:00
gus
701ff94887 bugfix for lockpick 2013-07-16 14:46:44 +01:00
gus
20341ae8b7 simplification + taking into account weapon speed. Seems too fast, but i'm not sure 2013-07-16 14:10:14 +01:00
gus
8fc6e73649 post-merge fix 2013-07-16 11:51:18 +01:00
gus
ee47e99dad Merge branch 'master' of https://github.com/zinnschlag/openmw.git into MeleeCombat2
Conflicts:
	apps/openmw/mwmechanics/character.cpp
	apps/openmw/mwmechanics/character.hpp
2013-07-16 11:40:19 +01:00
gus
f6e3445414 Jittering gone + bugfix: chop animation works!
TODO: fix this unequip stuff
2013-07-16 09:50:59 +01:00
Chris Robinson
a932a89e02 Specify the velocity-based animation speed multiplier when playing it 2013-07-16 01:30:03 -07:00
Chris Robinson
f296d13c20 Add a speed multiplier to the animation state 2013-07-16 00:43:31 -07:00
Chris Robinson
3a1facefdf Store a pointer to the character controller for non-actor objects 2013-07-15 23:47:04 -07:00
Chris Robinson
06e631f213 Track death separately in the character controller 2013-07-15 23:43:33 -07:00
Chris Robinson
4ae65c20e6 Separate movement and idle states
This allows us to better handle cases of "missing" animations. Mainly for
first-person, but also for spells and certain weapon types.
2013-07-15 22:56:23 -07:00
gus
f7f23ac5d8 improvement of the chop animation. Still some jittering. 2013-07-15 17:18:16 +01:00
gus
076f98cbba change way animations keys are handled (thanks KittyCat!) 2013-07-15 16:37:25 +01:00
gus
3947f44aa3 Porting old work 2013-07-13 22:24:52 +01:00
Chris Robinson
7883087586 Store a pointer to the character controller in the map 2013-07-12 22:31:50 -07:00
Vincent Heuken
b095c24854 resize actor collision boxes on death 2013-06-27 14:11:20 -07:00
Glorf
88f8637145 Bugfix #795 2013-06-26 22:20:24 +02:00
Marc Zinnschlag
f586eef604 Merge remote-tracking branch 'torben/pathfindingoverhaul' 2013-06-01 10:44:23 +02:00
Torben Carrington
09beafd044 Pathfinding Overhaul - Master cleanup! Cleaned pathfinding entirely, all AI packages that are implemented as well, Increased buffer! This makes the intro guard no longer walk into you or go to far into the room (not tested against vanilla distances but it seems accurate enough until the next itteration of pathfinding fixes). 2013-05-31 17:49:52 -07:00
Torben Carrington
a4caec56cf Pathfinding Overhaul - Fixed selecting cells that are inaccessable from AIWander and pathfinding in general (sadly requires minor effort on the AI Packages implementation but it is the quickest way I can see), minor cleanup again (there is a lot to cleanup, this will prolly be in every commit). 2013-05-31 17:01:42 -07:00
scrawl
8bd712cc95 Fix being able to move slowly when over encumbered 2013-05-31 04:08:44 +02:00
Torben Carrington
73a9671742 Pathfinding Overhaul - Changed the name of checkIfNextPointReached to a more intuitive name considering what it does (checkPathCompleted) and fixed a minor bug in it, modified buildPath() to take one final parameter, a bool which dictates whether or not to always use pathfinding (like AIWander should be doing) or to allow for "shortcuts", modified all ai packages to work with these two changes. 2013-05-29 20:05:17 -07: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
7b465ae4f1 Pathfinding Overhaul - Even more cleanup and spacing corrections, small renaming (more to come), removed a few unnecessary actions that wasted CPU time and tmp RAM. 2013-05-29 17:33:33 -07:00
Torben Carrington
96fdaf7410 Pathfinding Overhaul - More cleanup. 2013-05-29 16:10:15 -07:00
Torben Carrington
4838678944 Pathfinding Overhaul - Cleanup, removed unnecessary include, fixed spacing, added a function for clearing a path, overall preperation to begin working on fixing pathfinding. 2013-05-29 15:59:23 -07:00
Miroslav Puda
dc17fa1636 Removal of duplicit enumeration and unnecessary conditions. 2013-05-29 00:01:18 +02:00
Marc Zinnschlag
bbec3680c6 Merge remote-tracking branch 'pakanek/enchanting-mechanics' 2013-05-28 10:02:03 +02:00
Miroslav Puda
7a4a386cbe Removal of tab characters. 2013-05-27 20:47:53 +02:00
Torben Carrington
dbbc96f600 AIWander Segmentation Fault Fix - Fixes the segmentation fault that used to occur when there was no pathgrid in the cell and a range was passed to AIWander. 2013-05-27 11:44:46 -07:00
Miroslav Puda
b40e24c50c Refactorization 2013-05-27 20:23:04 +02:00
Miroslav Puda
4e17bc1499 Fix for display of cast cost decimal value 2013-05-27 20:16:57 +02:00
Miroslav Puda
9a9b075a02 Correct cast cost for enchantments. 2013-05-27 18:08:12 +02:00
Torben Carrington
ebc1fdd017 AIWander Patch - fixed another possibility of a bug occuring, best to fix it now then wait until it happens. 2013-05-27 09:05:42 -07:00
Miroslav Puda
1c7b94e94f Switching in nextCastStyle() is now based on enum CastingStyle. 2013-05-27 16:08:58 +02:00
Miroslav Puda
252a1d9223 Replacement of some magical constants 2013-05-27 15:50:47 +02:00
Miroslav Puda
9e1eb8b3b1 Merge branch 'master' of https://github.com/zinnschlag/openmw into enchanting-mechanics 2013-05-27 14:45:22 +02:00
Miroslav Puda
4788b5e226 Better formula for enchantment cost and code refactorization. 2013-05-27 14:42:08 +02:00
Miroslav Puda
56edc1b213 Correction of getting spell range "Target". 2013-05-27 12:26:06 +02:00
Torben Carrington
bd6d54cc8f AIWander Minor Patch - Forgot an else statement and another check on an empty node vector, previously no nodes in range or only one would cause the AIWander to not do anything, now they will play idles correctly still. 2013-05-27 03:24:41 -07:00
Marc Zinnschlag
bd8344b387 Merge remote-tracking branch 'torben/aiwander' 2013-05-27 10:16:37 +02:00
Torben Carrington
3b43ee751e AI Execute Fix - May as well not create the object either to save extra time. 2013-05-26 19:54:59 -07:00
Torben Carrington
feb180724c AI Execution Fix - Preiovusly AiExecute was being called even when in a menu, this was not correct behavior. 2013-05-26 19:33: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
96daad7a22 AIWander - shortened some if statements and made super minor optimizations to others, now using proper GMST to load proper idlechance instead of hacky set value." 2013-05-26 09:31:56 -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
Marc Zinnschlag
5fac75845c Merge remote-tracking branch 'torben/aiescortclean' 2013-05-25 15:35:56 +02:00
Torben Carrington
ddf28ca201 AIEscort Cleanup - Fixed spacing, removed unnecessary includes, fixed branch itself. The other pull requests were fine, it was just this one with the problem. 2013-05-25 04:36:21 -07:00
Marc Zinnschlag
94474e8952 Merge remote-tracking branch 'torben/checkidlecomplete' 2013-05-25 12:35:34 +02:00
Torben Carrington
c8c1ddd927 Adds functionality for checking if the animation group passed is currently playing on the actor passed. This is needed for AIWander. 2013-05-24 20:10:07 -07:00
Torben Carrington
56b1384c90 AITravel Cleanup - Removed unnecessary includes and other varius cleanups. 2013-05-24 18:16:35 -07:00
Torben Carrington
1cfe037d6b AIWander - Added support for the Repeat parameter to mimic vanilla. 2013-05-24 04:49:20 -07:00
scrawl
d9dd02c610 Security fixes 2013-05-20 12:42:11 +02:00
scrawl
2715520d6f Cleanup Security class 2013-05-19 23:19:48 +02:00
scrawl
5173779f4b Add sounds for security skill 2013-05-19 19:48:51 +02:00
scrawl
7a2d1cd8ce Security skill 2013-05-19 18:40:37 +02:00
Chris Robinson
e8bbb755c3 Play the left-arm torch animation when it's equipped 2013-05-17 06:21:59 -07:00
Chris Robinson
4b9a888d74 Use the PickProbe animation group as appropriate 2013-05-17 01:46:51 -07:00
Chris Robinson
6201cb0093 Add a method to clear the animation queue 2013-05-16 06:59:41 -07:00
Chris Robinson
6c6200efef Merge remote-tracking branch 'zini/master' into animations 2013-05-15 16:34:51 -07:00
scrawl
c41f119ba6 Added new game button 2013-05-15 17:54:18 +02:00
Chris Robinson
e069215583 Don't clear the last queued animation when it stops 2013-05-15 06:32:20 -07:00
Chris Robinson
66f55b3178 Play the item up/down sound when readying/unreadying weapons 2013-05-15 01:45:47 -07:00
Chris Robinson
b459a010b0 Fix vec.z being applied while not in the air 2013-05-14 23:03:28 -07:00
Chris Robinson
e8661794fe Avoid trying to find a state for non-actors.
They're only ever play idles, unless PlayGroup is called.
2013-05-14 07:29:07 -07:00
Chris Robinson
8ec722ac92 Use std::find_if instead of ugly for loops 2013-05-13 04:08:36 -07:00
Chris Robinson
f83ee5d316 Play ready/unready animations on the upper body 2013-05-13 03:32:00 -07:00
Chris Robinson
70dc2f77ad Move the priority enum to MWMechanics 2013-05-13 00:54:44 -07:00
Chris Robinson
7ba2508556 add a priority for death animations, and store it in the state list 2013-05-12 19:19:21 -07:00
Chris Robinson
4e389b5a8f Store whether a given animation loops in the state table 2013-05-12 05:59:39 -07:00
Chris Robinson
bbb38c61cc Fix queued animations 2013-05-12 05:08:01 -07:00
Chris Robinson
2c556e4036 Be smarter about handling non-moving animations
Don't rely on being told by the play method, so the animation can
automatically change without impacting the character controller.
2013-05-12 04:29:42 -07:00
Chris Robinson
6b8a687a79 Add methods to disable an animation
And rename WeaponState to WeaponType
2013-05-10 22:22:39 -07:00
Chris Robinson
abc676eedd Allow specifying which bone groups to play an animation on 2013-05-10 20:05:09 -07:00
Chris Robinson
7c3b014193 Figure out which animations to play based on priority
Bone group will also be taken into account later.
2013-05-10 18:37:44 -07:00
Chris Robinson
ccff364b52 Use a map of active layers instead of an array
A bit of an upheaval. Each animation is now a "layer", instead of each layer
having an animation. Incidentally, this is much closer to how Ogre handles
animation states.

In the future, each layer will have a priority, which will be used to determine
which one affects a given bone group (which we currently only have one of).
2013-05-10 03:08:07 -07:00
Chris Robinson
74ed1f73b4 Merge remote-tracking branch 'zini/master' into animations 2013-05-09 13:53:38 -07:00
Torben Carrington
4928c9d079 Removed sqrt function call (minor optimization thanks to Chris) 2013-05-08 20:47:31 -07:00
Torben Carrington
d20178dd56 Removed unnecessary std::cout messages 2013-05-08 20:05:45 -07:00
Torben Carrington
133964f0e4 AIEscort complete 2013-05-08 20:02:24 -07:00
Torben Carrington
c03dca47f5 AIEscort implemented and working - only touchups are needed. 2013-05-08 17:19:47 -07:00
Torben Carrington
10840765d9 Framework - duration and pathing implemented, no waiting for follower yet. 2013-05-08 15:27:20 -07:00
Marc Zinnschlag
51067698a8 minor cleanup 2013-05-08 21:26:39 +02:00
Chris Robinson
90e29c83c0 Merge remote-tracking branch 'zini/master' into animations
Conflicts:
	apps/openmw/mwmechanics/character.cpp
2013-05-06 19:17:39 -07:00
gus
006f25d1c0 First try to improve AI. Does not work yet due to strange bug in physicsystem 2013-05-06 00:46:50 +01:00
gus
7fe7111c19 Fargoth quest almost works. There is still a sall problem as the path taken is not exactly the same. I need to copy the exact way morrowind do pathfinding... 2013-05-03 17:09:09 +01:00
kpp
dcccfd9f22 Initialize values 2013-05-02 22:43:21 +04:00
Chris Robinson
a120653c38 Implement handling weapon states 2013-05-01 10:19:16 -07:00
Marc Zinnschlag
95eeea2a27 Revert "Merge remote-tracking branch 'glorf/acrobatics'"
This reverts commit 089ef7a2a0, reversing
changes made to 67422c397c.
2013-05-01 16:56:16 +02:00
Glorf
b8630239d7 Code cleanup 2013-05-01 12:25:02 +02:00
Glorf
236ec3409f Finished acrobatics 2013-05-01 12:21:59 +02:00
Chris Robinson
4b15da076b Move getStateInfo into the character controller 2013-04-30 19:26:41 -07:00
Glorf
d30e43784a Fatigue decrease when jumping, live decrease when falling 2013-04-30 23:39:56 +02:00
Glorf
5a8c1661be Jump acrobatics working, started falling acrobatics implementation 2013-04-30 20:44:17 +02:00
Glorf
add3cd6456 Advance acrobatics on jump 2013-04-30 18:22:59 +02:00
Chris Robinson
05060e57ec Add a weapon state to the character controller 2013-04-29 13:07:49 -07:00
scrawl
78596cad83 Fix enchantment points value 2013-04-29 10:19:09 +02:00
scrawl
07891fa213 Athletics skill increase 2013-04-28 07:53:04 +02:00
Chris Robinson
274f3c7b77 Force character state to update after switching view modes 2013-04-25 07:08:11 -07:00
Chris Robinson
e4eb4b7e30 Keep track of the character looping state 2013-04-25 06:29:17 -07:00
Chris Robinson
9da2c9153e Don't store the animation group string in the character controller 2013-04-25 06:12:37 -07:00
Chris Robinson
24f1eba902 Keep track of whether an animation supplies movement
Also handle it when it doesn't.
2013-04-24 22:45:43 -07:00
Chris Robinson
0817d59f23 Allow specifying where to start in an animation 2013-04-24 19:09:36 -07:00
Chris Robinson
333354fe62 Remove the character controller from the Animation class 2013-04-24 07:10:41 -07:00
Chris Robinson
b80891099e Don't use the character controller to handle text keys
The Animation class has the Ptr and can call to whatever subsystem is needed.
2013-04-24 06:48:34 -07:00
Chris Robinson
e8cabc9434 Pass the loop count from loopgroup to the play method
Instead of queueing each iteration separately.
2013-04-24 06:32:11 -07:00
Chris Robinson
c58dfbe921 Specify the loop count to Animation::play 2013-04-24 04:56:39 -07:00
Chris Robinson
8782ae6976 Separate some Animation fields into a separate AnimLayer class 2013-04-22 23:52:28 -07:00
Chris Robinson
bb64efc18e Improve looping behavior 2013-04-22 05:08:52 -07:00
Chris Robinson
6c85d6763a Pass "loop stop" to the character controller 2013-04-21 18:38:25 -07:00
Marc Zinnschlag
1b764e5d3c Merge remote-tracking branch 'gus/AI' 2013-04-18 22:17:49 +02:00
Glorf
f9deb593d1 Bugfix #578 2013-04-18 21:37:58 +02:00
gus
c753eb4c28 another way to do pathfinding. Slightly less powerfull algorithme in theory, but morrowind pathgrids are so simple it shouldn't be a problem. Hope it solves the bug for KittyCat 2013-04-18 18:35:01 +01:00
scrawl
2693b78536 Add initial player inventory when new game is started 2013-04-15 02:56:23 +02:00
scrawl
a57fbbb168 Fix wrong detection of diseases 2013-04-14 17:51:17 +02:00
gus
905cff2a94 anonymous namespace 2013-04-11 18:02:12 +01:00
gus
0a187e56aa bugfix 2013-04-11 17:58:11 +01:00
gus
6934b20abd actors are now updates every frame. This should not be the case, but this is a quickfix for AI. 2013-04-11 17:57:58 +01:00
gus
b5b0e7a656 Merge branch 'master' of https://github.com/zinnschlag/openmw.git into AI 2013-04-11 16:15:32 +01:00
Marc Zinnschlag
beb1858a57 Merge remote-tracking branch 'glorf/bugfix' 2013-04-10 17:39:19 +02:00
Glorf
194ca2584d Small azura's star fix 2013-04-08 17:53:41 +02:00
Chris Robinson
3768e04a0c Merge remote-tracking branch 'zini/master' into nifogre 2013-04-07 17:24:47 -07:00
scrawl
8bbfba3f43 Fix fatigue not being set to its maximum value when player is rebuilt 2013-04-07 16:18:40 +02:00
Chris Robinson
41e410347e Merge remote-tracking branch 'zini/master' into nifogre 2013-04-06 10:35:01 -07:00
Chris Robinson
1d934e3112 Reduce some stdout spam 2013-04-06 04:46:28 -07:00
Glorf
48d9885554 Started bugfix #691 2013-04-05 15:42:05 +02:00
Marc Zinnschlag
18e046e628 cleaned up race record struct 2013-04-04 13:50:36 +02:00
Glorf
08e9bb0236 Another small enchanting fix 2013-04-03 18:25:40 +02:00
Glorf
ae3e4ecf8b Finished enchanting 2013-04-03 18:02:30 +02:00
Glorf
7b7d3353a6 Exception for enchanting with Azura Star 2013-04-02 22:23:38 +02:00
Glorf
369cf0b4ca Enchanting price mechanics 2013-04-02 20:46:48 +02:00
Marc Zinnschlag
df658d29f0 Merge branch 'faction' 2013-04-02 14:21:51 +02:00
Marc Zinnschlag
f9f520df34 adjusted faction record to increase consistency with other records 2013-04-02 13:59:45 +02:00
gus
6a33170ca2 More bugfix, but I don't like this one. 2013-04-01 17:44:06 +00:00
gus
20af7d89a2 post master-merge fixes. Looks a little odd. 2013-04-01 17:30:40 +00:00
gus
2be9405c96 the sgn function is no longer in the global namespace 2013-04-01 15:44:08 +00:00
Marc Zinnschlag
751c679255 Merge remote-tracking branch 'glorf/enchanting' 2013-04-01 17:35:04 +02:00
Marc Zinnschlag
9dbd024076 another minor fix 2013-04-01 17:30:54 +02:00
Glorf
1bff6ed872 Enchaning values import, fixed constness 2013-04-01 17:12:47 +02:00
gus
1eb3d3e10e Merge branch 'master' of https://github.com/zinnschlag/openmw.git into AI
Conflicts:
	apps/openmw/CMakeLists.txt
2013-04-01 14:10:19 +00:00
gus
47cc945ef4 more refactoring 2013-04-01 12:38:13 +00:00
Marc Zinnschlag
26db983599 minor fix 2013-04-01 10:46:08 +02:00
Chris Robinson
d0703efd69 Another place to check the class' isActor method 2013-03-31 17:32:39 -07:00
Chris Robinson
04aeb3dd07 Rename Mechanics' Activators to Objects 2013-03-31 17:32:38 -07:00
Chris Robinson
10d04c928c Use the object's class to check if it's an actor 2013-03-31 17:32:38 -07:00
Glorf
d29a42dcbe Fixed enchanting mechanics 2013-03-31 23:18:23 +02:00
gus
63424ade56 refactoring 2013-03-31 17:30:03 +00:00
scrawl
1a2daa3bc1 Merge branch 'master' of git://github.com/zinnschlag/openmw into companion 2013-03-31 14:50:03 +02:00
scrawl
b0199c703c Companion UI 2013-03-31 13:13:46 +02:00
Chris Robinson
4836ba16f7 Implement turning states 2013-03-31 03:50:20 -07:00
Chris Robinson
7b02ec411b Apply the rotation when updating the character controller 2013-03-31 01:29:24 -07:00
Chris Robinson
466c0086b8 Use a full Movement to hand off to the world physics update 2013-03-31 00:13:56 -07:00
Chris Robinson
0ce188b7cc Store the position and rotation in MWMechanics::Movement 2013-03-30 19:00:46 -07:00
Chris Robinson
af65ecd841 Pass the movement vector in as a parameter to CharacterController::update 2013-03-30 18:37:40 -07:00
Glorf
7dbc779c3a Self-enchanting mechanics 2013-03-30 19:08:42 +01:00
scrawl
e7af718b55 Remove unnecessary WindowManager::messageBox arguments 2013-03-30 12:56:37 +01:00
Marc Zinnschlag
573368849b Merge remote-tracking branch 'glorf/enchanting'
Conflicts:
	apps/openmw/CMakeLists.txt
2013-03-29 16:48:21 +01:00
Glorf
86275e5bd4 Some enchanting fixes 2013-03-29 12:00:09 +01:00
Glorf
cc8f7f238e Enchanted item base ptr fix 2013-03-29 00:55:29 +01:00
Glorf
eb88463b94 Some enchanting fixes 2013-03-28 23:39:20 +01:00
Glorf
6643fe789c Enchanting system 2013-03-28 17:41:00 +01:00
scrawl
efe6a3ebee Fix compile error & warnings 2013-03-26 18:01:01 +01:00
scrawl
2ecd2f4ecd Merge branch 'next' into HEAD 2013-03-26 17:44:53 +01:00
scrawl
a2ca679beb Added PC repair feature 2013-03-23 08:16:46 +01:00
Marc Zinnschlag
fd2c07a6f4 delete death events on adding an actor to the scene 2013-03-18 10:54:47 +01:00
Marc Zinnschlag
61cb0f98a6 keep track of death events 2013-03-18 10:47:09 +01:00
scrawl
95e1cdc07d Move getArmorRating to MWWorld::Class. 2013-03-17 22:29:12 +01:00
scrawl
dd57eabc3e Better use an enum for magic effect IDs 2013-03-16 23:28:26 +01:00
scrawl
1666bc7740 Armor rating 2013-03-16 22:53:33 +01:00
gus
9efb073617 clean up + correct a bug 2013-03-14 18:05:00 +00:00
gus
80804fac35 check if the NPC is close from a non loaded cell. If yes, AITravel is simply ended. 2013-03-14 17:16:37 +00:00
gus
f943580138 Somehow manages to get from one cell to another, but this looks wrong... And I don't know how morrowind do it, because aitravel is completly buggy 2013-03-12 17:44:22 +00:00
gus
bbc4c23f7e AITravel now works correctly on exterior cells. As long as NPC don't try to leave cell, it's ok. 2013-03-10 15:07:22 +00:00
Emanuel Guevel
c020665cf2 Fix appending int to string in an exception message 2013-03-09 01:00:03 +01:00
gus
01908dbcc2 little improvement 2013-03-06 21:17:33 +00:00
gus
5fc7103425 First attempt at pathfinding using boost::graph 2013-03-06 20:31:47 +00:00
scrawl
8be9627c8d Fix method signatures 2013-03-06 21:26:41 +01:00
scrawl
f7d8f6456f Stats should never go below 0 2013-03-06 20:45:11 +01:00
scrawl
268bb23590 Implemented sneaking animation 2013-03-06 16:58:56 +01:00
scrawl
6f05c4229f Implemented potion & ingredient effect stacking 2013-03-03 12:41:37 +01:00
scrawl
cf87708c1f Magic effect icons for spells 2013-03-03 12:01:19 +01:00
Chris Robinson
000128d084 Merge remote-tracking branch 'zini/master' into misc-cleanup 2013-02-25 10:38:08 -08:00
Chris Robinson
48271e49ec Properly update the Ptr object in the mechanics manager when moving across cells 2013-02-25 09:57:34 -08:00
Marc Zinnschlag
88e8659a49 minor cleanup 2013-02-25 16:52:31 +01:00
scrawl
73d48a95f6 Add message box when the player tries to move when being overencumbered. 2013-02-25 16:31:48 +01:00
Chris Robinson
89d4c245e9 Better calculate jump velocity
The fatigue term isn't currently used correctly
2013-02-24 03:30:33 -08:00
Chris Robinson
d77d035d3a Handle the "sound" events in runAnimation 2013-02-23 14:15:11 -08:00
Chris Robinson
e6da9dfae5 Specify the animation key to stop playing at 2013-02-23 05:15:10 -08:00
Chris Robinson
f841576bba Don't override animations played with playgroup 2013-02-23 01:54:46 -08:00
Chris Robinson
7fcca180b6 Implement rudimentary jumping 2013-02-20 20:08:04 -08:00
Chris Robinson
1399a06c76 Update animation looping when setting the same state 2013-02-19 04:01:33 -08:00
Chris Robinson
17200cb226 Don't try to move when there's no speed 2013-02-18 20:43:55 -08:00
Chris Robinson
627b866744 Don't try to set a new state when dead 2013-02-18 06:29:16 -08:00
Chris Robinson
f2948ced23 Allow diagonal movement 2013-02-18 03:07:31 -08:00
Chris Robinson
e4341525c8 Add a jump state
Currently unused
2013-02-15 04:45:28 -08:00
Chris Robinson
ff0099fa6e Scale the animation speed based on the animation velocity and movement speed
This may not be totoally correct since it takes the whole animation into
account, rather than just the looping portion. But it's good enough for now.
2013-02-15 02:15:39 -08:00
Chris Robinson
3348e8a436 Clarify a comment 2013-02-14 22:41:14 -08:00
Chris Robinson
cbaf489eb6 Add running states 2013-02-06 16:53:52 -08:00
Chris Robinson
fc307e64b0 Add swimming states 2013-02-05 19:05:07 -08:00
Chris Robinson
8c0bb1ff4d Rotate movement in the movement solver 2013-02-05 14:02:14 -08:00
Chris Robinson
f7f1adfb9d Don't accumulate animations with activators 2013-02-05 12:55:06 -08:00
Chris Robinson
2c39760bd5 Move the movement solver code to mwworld's physics system 2013-02-05 12:45:10 -08:00
Chris Robinson
0a4568bd11 Move the PtrMovementList typedef to MWWorld
Use it for the doPhysics parameter, too
2013-02-05 11:03:39 -08:00
Chris Robinson
d50832081c Remove the unneeded PhysicActor field from MovementSolver 2013-02-05 09:37:02 -08:00
Chris Robinson
a782a9109b Store the vertical velocity in the physic actor 2013-02-05 09:24:22 -08:00
Chris Robinson
82e4da4e64 Get the half-extents from the physicactor 2013-02-05 07:41:57 -08:00
Chris Robinson
1c604445ba Store movement vectors as they get returned 2013-02-05 06:59:01 -08:00
Chris Robinson
5ee298cdc1 Make sure the player updates last 2013-02-04 14:08:38 -08:00
Chris Robinson
2f8affc955 Make sure the player's controller is properly updated when they change 2013-02-04 12:58:06 -08:00
Chris Robinson
ee9b19d2ed Make sure to remove a Ptr from the activators when requested 2013-02-04 12:04:06 -08:00
Chris Robinson
39cf7b0b42 Pass the Ptr of the object being moved to the move method
This prevents having to store another copy of it, which risks getting out of
sync.
2013-02-04 11:17:48 -08:00
Chris Robinson
1a5cb8760d Rotate movement vector to world space before passing to the movement solver 2013-02-04 11:04:20 -08:00
Chris Robinson
6b32fa7999 Use the correct position for the actor 2013-02-04 09:48:21 -08:00
Chris Robinson
1747c1e01a Integrate a new movement solver to handle object movement and collisions
Temporary, and pretty breoken. Needs some serious integration fixes.
2013-02-04 07:10:14 -08:00
Chris Robinson
91513206a0 Don't use per-animation accumulation values
This breaks walking diagonally and "jumping" (which technically wasn't jumping
anyway).
2013-02-03 12:02:51 -08:00
Chris Robinson
51d5efeeb2 Work out the state in the character controller update method 2013-02-03 07:15:34 -08:00
Chris Robinson
7fe877d8ea Add a couple more character states 2013-02-03 00:19:22 -08:00
Chris Robinson
007a5963de Handle most state changes in the character controller when setting the movement vector 2013-02-02 23:39:43 -08:00
Chris Robinson
04d4c125ba Print when an animation event is unhandled 2013-01-29 02:00:42 -08:00
Chris Robinson
d4ddaa3d95 Only register activators that have a MWRender::Animation object 2013-01-29 01:08:52 -08:00
Chris Robinson
fdabef65a1 Use a method to update an object's cell in the mechanics manager
This prevents destroying and recreating the object's character controller (and
messing up the current animation) when moving between cells.
2013-01-29 00:19:24 -08:00
Chris Robinson
8d98f3649c Use a separate class to handle activator mechanics 2013-01-28 23:39:11 -08:00
Chris Robinson
37fe1bd3f0 Handle looping in the Animation object 2013-01-21 22:51:13 -08:00
Chris Robinson
e956a1cbc0 Merge SpecialIdle character state into Idle 2013-01-21 03:24:52 -08:00
Chris Robinson
6905bd18ba Filter out the group name from the text keys
It's already in the animation name, and the text keys are animation-specific
anyway.
2013-01-21 02:59:12 -08:00
Chris Robinson
85ca1e993f Properly check if an animation exists before playing it 2013-01-19 21:55:04 -08:00
Chris Robinson
68779375b2 Implement WalkLeft and WalkRight character states 2013-01-19 16:19:47 -08:00
Chris Robinson
a7b07ee5cf Don't reset the animation when setting the same state
Unless looping is being toggled on.
2013-01-19 15:46:22 -08:00
Chris Robinson
e0541b52c4 Use a list to store and get state information 2013-01-19 14:56:24 -08:00
Chris Robinson
de2d084e61 Add a looping property to handle if an animation should loop 2013-01-19 14:22:15 -08:00
Chris Robinson
0b68953f0d Scale animation speed using the direction length
The direction length doesn't currently give a good speed, but it's something.
2013-01-18 21:40:47 -08:00
Chris Robinson
aecfc0829a Implement WalkForward and WalkBack character states 2013-01-18 18:04:00 -08:00
Chris Robinson
e33f59e0fe Ensure the direction vector is initialized and copied properly 2013-01-18 17:41:36 -08:00
Chris Robinson
1cdd64cd9b Return the animation movement from the character controller.
Consequently, dead actors don't move anymore. The doPhysics call apparently
isn't moving them.
2013-01-18 17:05:58 -08:00
Chris Robinson
9235fba770 Store the movement vector in the character controller 2013-01-18 16:00:51 -08:00
Chris Robinson
40f8e75763 Use a SpecialIdle state for PlayGroup/LoopGroup invoked animations
Note that actors will *not* automatically resume a normal idle state afterward.
Their AI will need to control what to do when the special idle is finished.
2013-01-18 15:39:28 -08:00
Chris Robinson
a527cb8349 Loop the current animation when not dead
This should be better, but it's not perfect. It misses the case where
start < loop start == loop stop <= stop
2013-01-18 15:22:14 -08:00
Chris Robinson
c7684cb979 Pass the key time to markerEvent 2013-01-18 14:50:55 -08:00
Chris Robinson
3e9b0a333c Allow specifying the accumulation for animations
Animations that move a character may do so either visually or physically. An
axis' accumuluation value specifies whether the movement is visual (0) or
physical (1). Idle animations, for instance, typically don't physically move a
character, while death animations may physically move them along the X and Y
planes, but not along Z (the vertical movement is purely visual).
2013-01-18 14:25:32 -08:00
Chris Robinson
5cafc24ee2 Rename CharState_Alive back to CharState_Idle 2013-01-18 13:43:45 -08:00
Chris Robinson
a94947029e Check the marker name before deciding what to do with it
Also, don't force 'idle' after a playgroup
2013-01-18 00:59:48 -08:00
Chris Robinson
9d7ccfda1f Rename CharState_Idle to CharState_Alive 2013-01-17 21:07:36 -08:00
Chris Robinson
8720433fa9 Do not automatically loop animations
There are 0 length idle animations that break this
2013-01-17 17:54:09 -08:00
Chris Robinson
8fa1b56efc Loop the current animation if there's nothing more queued 2013-01-17 16:34:26 -08:00
Chris Robinson
7cce44290e Handle the animation queue in mwmechanics 2013-01-17 13:18:40 -08:00
Chris Robinson
47c157303a Filter events that do not belong to the current group 2013-01-17 11:03:58 -08:00
Chris Robinson
da4f17859e Recognize soundgen animation markers 2013-01-17 10:16:36 -08:00
Chris Robinson
7ee389f3b2 Handle animation skipping in the character controller 2013-01-16 21:25:50 -08:00
Chris Robinson
852aa214cc Store the available animation names in the character controller 2013-01-16 21:16:22 -08:00
Chris Robinson
afbc9f3e41 Keep track of the animation group currently playing 2013-01-16 20:44:37 -08:00
Chris Robinson
685f219560 Return a movement vector from the character controller update 2013-01-16 18:56:13 -08:00
Chris Robinson
daad8d9859 Don't update the character controller while paused 2013-01-16 18:03:39 -08:00
Chris Robinson
d2f5a886c7 Handle playgroup and skipanim through mwmechanics 2013-01-16 17:53:18 -08:00
Chris Robinson
46fc61a4c1 Run animations from the character controller 2013-01-16 16:31:09 -08:00
Chris Robinson
46728ab27f Handle "sound:" animation events 2013-01-16 15:52:03 -08:00
Chris Robinson
3c32385e17 Avoid trying to animate things that don't have animations 2013-01-16 15:00:06 -08:00
Chris Robinson
94b93227d3 Treat activators as actors for rendering and mechanics
Kinda hacky, but it's the only way to get animated activators (flags, silt
striders, etc) to work properly.
2013-01-16 14:37:32 -08:00
Chris Robinson
d2fc3c7b33 Add a method to tell the character controller of new text keys 2013-01-16 13:09:21 -08:00
Chris Robinson
f46587c383 Store an character controller in the animation 2013-01-16 11:01:08 -08:00
Chris Robinson
3c487e6019 Play an animation when changing states 2013-01-16 10:45:18 -08:00
Chris Robinson
b378bc92a0 Store an animation object in the character controller 2013-01-16 10:16:37 -08:00
Chris Robinson
c1b32d6006 Remove outdated comments 2013-01-16 08:24:20 -08:00
Chris Robinson
3c02e1ccc9 Run physics right after updating the actors 2013-01-16 08:22:38 -08:00
Chris Robinson
94e30199d1 Merge remote-tracking branch 'zini/master' into animation2
Conflicts:
	components/nifogre/ogre_nif_loader.cpp
2013-01-15 14:59:30 -08:00
Marc Zinnschlag
654cd3ab9b Issue #479: Use magnitude specified when adding disease 2013-01-13 14:52:55 +01:00
Chris Robinson
94b24f07e1 Keep track of the state in the character controller, and don't remove dead actors from the map 2013-01-12 10:10:27 -08:00
Chris Robinson
4890d901a2 Store an MWWorld::Ptr in the character controller 2013-01-12 08:49:08 -08:00
Chris Robinson
35d17fdaf6 Associate a character controller with each MWWorld::Ptr 2013-01-12 07:12:12 -08:00
Marc Zinnschlag
f4ee8e2642 Issue #479: Added additional magnitude parameter to known spells 2013-01-12 13:10:20 +01:00
Chris Robinson
771a5f7316 Add the beginnings of a character controller 2013-01-10 08:35:24 -08:00
eduard
2dc0064cc2 more string lowercase 2013-01-09 20:51:52 +01:00
scrawl
a5ef669eb6 Merge branch 'master' of git://github.com/zinnschlag/openmw into HEAD
Conflicts:
	apps/openmw/mwscript/aiextensions.cpp
	apps/openmw/mwscript/docs/vmformat.txt
2013-01-03 02:34:31 +01:00
Marc Zinnschlag
de4a03081c fixed skill level type in skill level up message 2012-12-10 11:04:21 +01:00
Marc Zinnschlag
5f5addf052 fixed an enum 2012-12-09 00:12:24 +01:00
Marc Zinnschlag
0e7ba008ad another skill gain fix 2012-12-08 14:28:56 +01:00
Marc Zinnschlag
a70a5282f4 fixed an overzealous skill gain error check 2012-12-08 13:37:43 +01:00
greye
682fd23aea fix wrong increment 2012-12-02 21:18:59 +04:00
rpopovici
7079b9062f add AI script functions 2012-11-30 02:16:16 +02:00
scrawl
1def60dbe1 PcExpell, PcExpelled, PcClearExpelled, RaiseRank, LowerRank 2012-11-28 02:15:34 +01:00
scrawl
0db48b29c7 GetSpellEffects, GetRace 2012-11-25 01:26:29 +01:00
Marc Zinnschlag
a092deaee8 various fixes 2012-11-16 20:28:20 +01:00
Marc Zinnschlag
3dc013ceae Merge remote-tracking branch 'gohan/Gohan' 2012-11-16 20:15:58 +01:00
marcin
51027c541e Feature #391 Dummy AI package classes 2012-11-16 18:38:15 +01:00
marcin
bed0280ba1 Feature #391 Dummy AI package classes 2012-11-15 22:33:50 +01:00
marcin
99ddc63e2c Feature #391 Dummy AI package classes 2012-11-15 22:32:15 +01:00
marcin
515419ae0b Feature #391 Dummy AI package classes 2012-11-15 22:22:44 +01:00
marcin
4b939c7521 Feature #391 Dummy AI package classes 2012-11-15 22:15:20 +01:00
Marc Zinnschlag
9669eed083 Issue #219: added last missing function filters 2012-11-15 20:00:27 +01:00
marcin
e6c8e1f0d7 Feature #391 Dummy AI package classes 2012-11-14 18:42:04 +01:00
Marc Zinnschlag
77ba8c5117 Issue #219: implemented rank requirement filter 2012-11-12 13:23:25 +01:00
Marc Zinnschlag
75f64aa38b Merge branch 'master' into dialogue
Conflicts:
	apps/openmw/mwdialogue/dialoguemanagerimp.hpp
	apps/openmw/mwmechanics/npcstats.cpp
	apps/openmw/mwmechanics/npcstats.hpp
2012-11-10 15:44:44 +01:00
Marc Zinnschlag
0ab4068fbd Merge remote-tracking branch 'scrawl/persuasion' into next 2012-11-10 14:59:52 +01:00
Marc Zinnschlag
7e8d4bb3c9 Issue #219: added various creature and NPC stats; implemented respective filters 2012-11-10 13:21:38 +01:00
Marc Zinnschlag
d15eb6cd17 Merge remote-tracking branch 'greye/player-model' into next 2012-11-10 12:36:01 +01:00
Marc Zinnschlag
e97f3003ab Issue #219: added expelled status tracking; implemented expelled filter 2012-11-10 12:28:40 +01:00
Marc Zinnschlag
ceaf1677ce Issue #219: rewrote AI settings and implemented AI settings filters 2012-11-10 11:38:37 +01:00
Marc Zinnschlag
a752536cea Issue #219: added function decoding and moved same faction function from DialogueManager to Filter 2012-11-10 09:35:50 +01:00
greye
b1ef0026a9 race selection/inventory preview character model update 2012-11-10 11:41:12 +04:00
scrawl
553ea08eae consider temporary disposition change when trading 2012-11-10 00:42:31 +01:00
scrawl
33b4b29fbc persuasion mechanics, added reputation 2012-11-10 00:29:36 +01:00
scrawl
ace9ee9c83 persuasion dialog 2012-11-09 20:18:38 +01:00
scrawl
f6a9029c4b bounty & disease disposition effect 2012-11-09 18:33:11 +01:00
Marc Zinnschlag
be1334b202 disease tests 2012-11-09 18:16:29 +01:00
Marc Zinnschlag
0727d943b1 Merge branch 'next' into bountydisease
Conflicts:
	apps/openmw/mwmechanics/npcstats.cpp
2012-11-09 18:04:44 +01:00
scrawl
d53a7ade1e method names, disposition uint->int 2012-11-09 14:42:09 +01:00
Marc Zinnschlag
39ff2f06ce added bounty to NpcStats 2012-11-09 14:31:38 +01:00
scrawl
b2afb1fd5c Merge branch 'next' of git://github.com/zinnschlag/openmw into MercantilImprovement
Conflicts:
	apps/openmw/mwbase/mechanicsmanager.hpp
	apps/openmw/mwclass/npc.cpp
	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
	apps/openmw/mwgui/spellbuyingwindow.cpp
	apps/openmw/mwgui/trainingwindow.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
2012-11-08 23:16:40 +01:00
scrawl
322faf13e4 cleanup 2012-11-08 22:37:59 +01:00
scrawl
bf4e855260 fixed creatures 2012-11-08 22:31:08 +01:00
greye
2a86432887 store birthsign in MWWorld::Player 2012-11-08 18:50:23 +04:00
gugus
0a883f4492 The player can now barter with merchants 2012-11-08 13:38:20 +01:00
greye
83e758ee50 clean up interfaces 2012-11-08 16:37:57 +04:00
greye
9dc9098fa7 update MWBase::World interface since records contains own id 2012-11-08 01:52:34 +04:00
greye
5b9621bca5 store player record data in ESMStore 2012-11-08 01:36:43 +04:00
gugus
bf98b95955 bugfix 2012-11-06 13:10:54 +01:00
greye
620184a009 fix typos 2012-11-06 14:44:56 +04:00
greye
b3ad872845 new interface in manualref, fix various typos 2012-11-06 13:43:48 +04:00
gugus
2841d831a6 Disposition is now updated everyframe 2012-11-05 23:16:37 +01:00
gugus
9ebe9cb40c Disposition is now calculated according to the Wiki. But: bouty and deacease are not implemented (for disposition at least), and there is still no temporary/permanent dispositons changes 2012-11-05 19:55:06 +01:00
greye
86ad7a96f4 applying new interface vol.2, inconsistent 2012-11-05 21:19:22 +04:00
greye
bd1bb2e55d applying new interface vol.1, inconsistent 2012-11-05 18:39:42 +04:00
greye
d205723a17 resolving m prefix/ESMStore movement 2012-11-05 18:02:47 +04:00
greye
8691eac557 resolve Script::mData.mName -> mId, resolve moving ESMStore 2012-11-05 17:41:36 +04:00
greye
2057f5619e move ESMStore to MWWorld 2012-11-05 17:18:01 +04:00
greye
3c2ce25f5f m prefix for mwworld/cellstore.hpp 2012-11-05 16:07:59 +04:00
gugus
f72f898bd9 implement barterOffer. It's used for travel only.
I've started to implement disposition, but it's very basic for now.
2012-11-05 11:07:43 +01:00
Marc Zinnschlag
d7add0b9e6 Issue #61: fixed alchemy skill 2012-10-28 14:07:36 +01:00
Marc Zinnschlag
c635447cea Merge branch 'death' 2012-10-27 13:34:20 +02:00
Marc Zinnschlag
ed3641b214 Issue #68: check for essential actors 2012-10-27 13:33:54 +02:00
Marc Zinnschlag
2e63ca5e0a Merge branch 'death' 2012-10-27 11:33:26 +02:00
Marc Zinnschlag
453f347ee8 Issue #68: added getdeadcount script function 2012-10-27 11:33:18 +02:00
Marc Zinnschlag
f72c35fc17 Issue #68: tally deaths 2012-10-27 11:15:52 +02:00
Marc Zinnschlag
6b09b3ad61 Issue #68: Play death animations 2012-10-27 10:36:42 +02:00
Marc Zinnschlag
21c24dedb6 Issue #68: Stop player from dying (temporary workaround) 2012-10-25 12:28:45 +02:00
Marc Zinnschlag
0ab432b074 Issue #68: fixed death detection 2012-10-25 12:22:48 +02:00
Marc Zinnschlag
9172c3ec4d Issue #68: stop NPCs from instantly dropping dead 2012-10-23 13:54:36 +02:00
scrawl
234716daa6 finished spell creation 2012-10-23 11:42:38 +02:00
Marc Zinnschlag
0547f11564 Issue #68: Remove dead actors from actor list 2012-10-20 10:54:51 +02:00
Marc Zinnschlag
f2e25b8a47 Issue #68: Keep dead actors out of the actor list for the current scene 2012-10-20 10:49:48 +02:00
Marc Zinnschlag
3f6afb13f1 Merge remote-tracking branch 'scrawl/alchemy' 2012-10-19 20:09:45 +02:00
scrawl
8d7514e341 corrected chance 2012-10-19 19:48:54 +02:00
Marc Zinnschlag
7884a927c9 Issue #68: added dead flag to CreatureStats 2012-10-19 18:56:22 +02:00
Marc Zinnschlag
bdca5aff87 Issue #68: simplified the dynamic stats interface 2012-10-19 13:10:06 +02:00
Marc Zinnschlag
3f833af46a Issue #407: Fortyfy attribute effects were ignored for the last 3 attributes 2012-10-19 10:07:27 +02:00
scrawl
28cc480ce1 fix some alchemy issues and make the gui use the new implementation 2012-10-18 22:21:39 +02:00
Marc Zinnschlag
1864dbe031 Issue #61: potion creation 2012-10-18 15:33:27 +02:00
Marc Zinnschlag
f5caf227b2 Issue #61: remove ingredients on potion creation 2012-10-18 14:47:23 +02:00
Marc Zinnschlag
3c71378fad Issue 61: improved ingredients handling in alchemy and documenation 2012-10-18 14:41:57 +02:00
Marc Zinnschlag
3fe0a73cf2 Issue #61: increase alchemy skill on successful potion creation 2012-10-18 14:38:38 +02:00
Marc Zinnschlag
510674aa5e Merge branch 'master' into alchemy
Conflicts:
	components/esm/loadmgef.hpp
2012-10-18 14:37:05 +02:00
Marc Zinnschlag
5fbca239dd Issue #61: potion creation (1st part; still missing some implementations) 2012-10-18 14:02:06 +02:00
Marc Zinnschlag
35d099a638 disabling gcc extensions 2012-10-09 17:10:25 +02:00
Marc Zinnschlag
1cc2c2055f Issue #61: Implemented basic ingredient handling in Alchemy class 2012-10-02 10:20:26 +02:00
Marc Zinnschlag
6469933ce8 Merge branch 'master' into alchemy
Conflicts:
	apps/openmw/mwgui/alchemywindow.cpp
2012-10-02 09:30:49 +02:00
greye
2fa4ac177a initial resolving 2012-10-01 00:23:49 +04:00
Marc Zinnschlag
42f02f3ccd Issue #61: Re-implemented tool selection in Alchemy class 2012-09-30 18:54:20 +02:00
Marc Zinnschlag
c6fd864a76 Issue #61: Forgot to add some files 2012-09-29 10:02:46 +02:00
Marc Zinnschlag
a34bdb9623 per NPC ID interaction tracking 2012-09-25 10:48:57 +02:00
scrawl
9f2668b45b Task #400 Review GMST access 2012-09-22 21:35:57 +02:00
scrawl
b91d74d394 fix normalized encumbrance 2012-09-21 17:56:15 +02:00
scrawl
872fcf3e3d sleeping restoration of health, magicka, and fatigue 2012-09-21 17:53:16 +02:00
greye
18cc435aa1 resolving conflicts 2012-09-21 13:13:11 +04:00
greye
7606ebafd6 resolving conflicts, minor update 2012-09-17 11:37:50 +04:00
scrawl
cf358fa79d >= instead of == 2012-09-15 19:20:13 +02:00
scrawl
0dc242c603 don't increase skill beyond 100 2012-09-15 19:10:48 +02:00
scrawl
f5237ff1a6 skill gain from books 2012-09-15 19:06:56 +02:00
scrawl
234f8fa5d5 added the missing sound & notification for skill increase 2012-09-15 18:35:59 +02:00
scrawl
b34b894d6a removed some debug stuff 2012-09-15 17:20:47 +02:00
scrawl
76b494100e finished? 2012-09-15 17:12:42 +02:00
Marc Zinnschlag
2ccd7a480d Issue #356: added a missing return 2012-09-13 13:01:59 +02:00
Marc Zinnschlag
9de7b3bf90 Issue #356: Properly support ingredients effect in ActiveSpells (hopefully) 2012-09-13 11:30:59 +02:00
Marc Zinnschlag
0af0dc0d5d Issue #356: More CreatureStats cleanup 2012-09-13 11:13:05 +02:00
Marc Zinnschlag
2934987f78 Issue #356: Some CreatureStats cleanup 2012-09-13 10:52:34 +02:00
Marc Zinnschlag
9dcf8939e9 Issue #356: added function for fatigue term calculation 2012-09-13 10:45:32 +02:00
Marc Zinnschlag
fca3b67507 Issue #356: basic support for ingredients in ActiveSpells (still using the wrong formula) 2012-09-13 09:30:47 +02:00
Marc Zinnschlag
ead04e1cc3 Issue #389: added AI sequence to CreatureStats; execute AI packages during the regular actor update 2012-09-04 13:32:35 +02:00
Marc Zinnschlag
345eec1135 Issue #389: added AI package base class and AI packages management class 2012-09-04 13:25:53 +02:00
scrawl
6161f81c24 last bits of the quick key menu. 2012-08-27 20:44:14 +02:00
Marc Zinnschlag
e97d23e626 Issue #361: reset skill level in race selection stage 2012-08-16 15:42:37 +02:00
Marc Zinnschlag
6534c2a55a Issue #107: WindowManager is accessed only through the interface class from now on 2012-08-12 18:11:09 +02:00
Marc Zinnschlag
b68f9d6a28 Issue #107: MechanicsManager is accessed only through the interface class from now on 2012-08-11 17:30:55 +02:00
greye
32b1350b63 CreatureStats class 2012-07-22 18:29:54 +04:00
Marc Zinnschlag
483b125aad avoid locking up in case actor updates repeatedly throw exceptions 2012-07-17 18:37:20 +02:00
Marc Zinnschlag
beb18282bb Issue #342: various fixes 2012-07-17 16:44:55 +02:00
Marc Zinnschlag
76de2f7360 Issue #342: handle magic effects 79-82 and 17-20 2012-07-17 15:49:37 +02:00
Marc Zinnschlag
a3652f16ce Issue #342: factored out dynamic stats calculation into a separate function 2012-07-17 12:18:43 +02:00
Marc Zinnschlag
ec9ebe6b58 Merge branch 'skillgain' into potions
Conflicts:
	apps/openmw/mwmechanics/activespells.cpp
2012-07-10 14:08:30 +02:00
Marc Zinnschlag
0d8150f4bd Issue #324: added useSkill function to NpcStats (adjust skill level according to use) 2012-07-09 21:15:52 +02:00
Marc Zinnschlag
25a5657d80 Issue #324: Modified the interface for modified stats 2012-07-09 20:34:12 +02:00
Marc Zinnschlag
fe86ce5a2c DrawState workaround 2012-07-07 20:53:19 +02:00
Marc Zinnschlag
0f41cc499d Issue #324: Added skill gain calculation function 2012-07-06 21:07:04 +02:00
Marc Zinnschlag
d30ba14a17 Issue #324: Finished turning NpcStats into a proper class 2012-07-06 18:23:48 +02:00
Marc Zinnschlag
771863e73b Issue #324: Started turning NpcStats into a proper class; fixed a cmake script bug; fixed a namespace issue 2012-07-06 15:50:26 +02:00
Marc Zinnschlag
c85aaafac2 more include cleanup (most removing Ogre.h) 2012-07-03 15:32:38 +02:00
Marc Zinnschlag
87667ab57e Issue #107: Ptr related include cleanup 2012-07-03 13:55:53 +02:00
Marc Zinnschlag
4c39fefd1e Issue #107: World is accessed only through the interface class from now on; some include cleanup 2012-07-03 12:30:50 +02:00
Marc Zinnschlag
83c3972a89 Issue #314: added return value to addSpell function 2012-06-24 16:23:43 +02:00
Marc Zinnschlag
aa827442e8 Issue #314: Generalised ActiveSpells class so that it can handle lasting effects from potions too 2012-06-24 11:39:21 +02:00
Marc Zinnschlag
ea29b74bb4 added per NPC/creature basic AI-settings (hello, fight, flee, alarm) 2012-06-16 16:17:42 +02:00
scrawl
298ae4f7f8 HUD icons for selected weapon / selected spell / selected enchanted item 2012-05-29 18:33:01 +02:00
scrawl
48ba293e88 added the success formula, and spell deleting (shift+click) 2012-05-29 15:13:44 +02:00
scrawl
5412d6ed9e fixed a typo that prevented spells from getting added 2012-05-29 10:47:48 +02:00
scrawl
a54623bcd2 reset attributes when building player 2012-05-28 11:37:56 +02:00
Marc Zinnschlag
c0ee382c72 Issue #176: made actor deregistration more robust 2012-05-24 13:21:52 +02:00
Marc Zinnschlag
3e85151c9d Merge remote branch 'scrawl/inventoryGUI'
Conflicts:
	apps/openmw/CMakeLists.txt
2012-05-21 10:13:27 +02:00
scrawl
76d71f86bc fixed a faction case folding issue 2012-05-21 03:10:55 +02:00
Marc Zinnschlag
9f1919a230 Issue #256: added active spell management (completely untested) 2012-05-19 15:01:07 +02:00
Marc Zinnschlag
635a89c35c Issue #256: RNG fix 2012-05-19 14:43:02 +02:00
Marc Zinnschlag
124ea77612 Issue #256: consider equipped items when calculating magic effects 2012-05-18 15:48:55 +02:00
Marc Zinnschlag
372efaafd7 Issue #256: changed implementation of MagicEffects::operator+= 2012-05-18 15:27:41 +02:00
Marc Zinnschlag
40c58c1bb7 Issue #256: fixed a capitalisation mistake 2012-05-18 15:26:08 +02:00
Marc Zinnschlag
5236bcb557 Issue #256: added operator+= for MagicEffects 2012-05-18 15:12:11 +02:00
Marc Zinnschlag
79055e281d Issue #256: Force update after building the player character 2012-05-18 13:54:07 +02:00
Marc Zinnschlag
e1997b7f04 Issue #256: added MagicEffects::add overload for EffectLists 2012-05-18 13:17:35 +02:00
Marc Zinnschlag
e56ff9283d Issue #256: moved magic effects update from MechanicsManager to Actors 2012-05-17 13:21:49 +02:00
Marc Zinnschlag
1fddbf9a40 Issue #256: moved dynamic stats update from MechanicsManager to Actors 2012-05-17 13:15:31 +02:00
scrawl
4655ec94f0 Merge branch 'master' into physicsaedra2 & fix warnings
Conflicts:
	apps/openmw/mwworld/scene.cpp
2012-04-30 18:46:51 +02:00
Marc Zinnschlag
35f478071e Issue #255: deleted the old environment class and using the new one instead 2012-04-23 15:27:03 +02:00
Jason Hooks
1ce759af06 Merging in master 2012-04-17 18:12:05 -04:00
Alexander "Ace" Olofsson
0c6862e3e6 Undefining some windows defines 2012-04-13 15:09:38 +02:00
Marc Zinnschlag
37f478b69a Merge branch 'spells'
Conflicts:
	apps/openmw/CMakeLists.txt
	apps/openmw/mwmechanics/npcstats.hpp
2012-04-13 11:32:33 +02:00
Marc Zinnschlag
52c7ee3b6a moved selected spell from NpcStats to Spells 2012-04-13 10:49:45 +02:00
Marc Zinnschlag
26a529111c removed old known spell list from NpcStats 2012-04-11 19:45:56 +02:00
Marc Zinnschlag
77065390d7 simplifying Spells class 2012-04-11 19:40:42 +02:00
Marc Zinnschlag
e04ccfced0 replaced old abilities container in CreatureStats with a Spells object 2012-04-11 19:03:36 +02:00
Marc Zinnschlag
750d79eaf0 added spell container class 2012-04-11 19:03:06 +02:00
Marc Zinnschlag
5e9d209b21 Merge remote branch 'minty3/testbranch' 2012-04-08 23:40:48 +02:00
Aleksandar Jovanov
23cc1d17ca missing ; added 2012-04-08 13:28:34 +02:00
Aleksandar Jovanov
c589cbd4ff enum bug fix 2012-04-08 13:25:28 +02:00
Marc Zinnschlag
ab2a1297b0 exclude player from auto equip 2012-04-08 13:01:03 +02:00
Marc Zinnschlag
dcab6737e5 consider skills when auto equipping 2012-04-08 12:26:21 +02:00
Aleksandar Jovanov
b1259ca15c added a 'backend' for NPC/Player draw state 2012-04-08 12:25:33 +02:00
Marc Zinnschlag
12f7bae526 added known spells and selected spell to NpcStats 2012-04-07 18:37:41 +02:00
Marc Zinnschlag
751e7d2199 basic auto-equipping (picks the first matching item 2012-03-31 17:26:15 +02:00
Marc Zinnschlag
0892df0ad3 framework for gamemechanics-realted actor updated 2012-03-30 17:01:55 +02:00
Marc Zinnschlag
d717b7b9dd factored out actor related game mechanics code into a separate class 2012-03-30 16:18:58 +02:00
Jason Hooks
18a139cd66 adding up and down move buttons 2012-03-24 22:03:08 -04:00
Jason Hooks
ee98a2af1a Empty npcs 2011-12-09 00:08:30 -05:00
Jason Hooks
7bd911b401 Problems with handles 2011-11-24 23:13:34 -05:00
gugus
0fb2107265 Merge branch 'master' of git://github.com/zinnschlag/openmw.git into collisions
Conflicts:
	apps/openmw/mwclass/npc.cpp
2011-03-15 13:36:25 +01:00
Jan-Peter Nilsson
53b85eaaa9 Stat setValue, use the enum values all the way through instead of converting enum->string->same enum 2011-03-12 10:56:10 +01:00
gugus
84dce2eb36 add physic and solve a problem with window.h macro min/max 2011-02-19 19:18:03 +01:00
Marc Zinnschlag
151560b882 added missing run flag for NPCs 2011-02-10 11:08:25 +01:00
Marc Zinnschlag
9a3158675a reworked cell changing mechanism 2011-02-10 10:38:45 +01:00
Marc Zinnschlag
8a3445beec collect movement vectors from all actors 2011-02-03 11:43:29 +01:00
Marc Zinnschlag
4468a2b6a8 added movement data to MW references; added movement interface to MWWorld::Class 2011-02-03 11:37:17 +01:00
Marc Zinnschlag
ca44b3640a pasing movement data from mwmechanics to mwscene and fixed a very stupid interface bug 2011-02-01 10:11:41 +01:00
Marc Zinnschlag
b48a5084be added NPC stances 2011-01-18 10:45:29 +01:00
Marc Zinnschlag
4a12be11bf moved PlayerPos class from MWRender to MWWorld and renamed it to Player 2011-01-04 15:58:22 +01:00
Jan Borsodi
51f26e059a Make sure player is updated after birthsign is set. 2010-10-23 01:28:30 +02:00
Marc Zinnschlag
6fe6f3d282 adjust initial magicka based on Fortify Maximum Magicka effect 2010-09-30 15:58:31 +02:00
Marc Zinnschlag
98405a5716 implemented magic effects from abilities (effects are not applied yet) 2010-09-30 15:42:28 +02:00
Marc Zinnschlag
eeca39220b added spell list to creature stats (for now only type Ability; magic effects not applied yet), generate spell list according to race and birthsign during character creation 2010-09-30 14:28:01 +02:00
Marc Zinnschlag
49f68e08bf Redemption compatibility fix 2010-09-26 10:01:30 +02:00
Marc Zinnschlag
12a15e3fb7 implemented class effects on player skills 2010-09-26 09:55:00 +02:00
Marc Zinnschlag
19fdd48f75 fixed a bug in class-part of setting initial skills 2010-09-26 09:36:15 +02:00
Marc Zinnschlag
283e0df3a0 send skill updates to GUI sub-system 2010-09-21 17:42:07 +02:00
Jan Borsodi
647129c866 The type used for Stat/DynamicStat templates are now stored as a typedef. Added some convenience constructors for initializing Stat/DynamicStat objects. 2010-09-20 13:10:15 +02:00
Marc Zinnschlag
be8f852663 implemented skill value handling during character creation (untested) 2010-09-16 10:45:08 +02:00
Marc Zinnschlag
2527fe92a7 implemented creature/NPC level 2010-09-15 15:32:35 +02:00
Marc Zinnschlag
d910baebe6 adjust player's attributes according to class boni 2010-09-15 15:23:38 +02:00
Marc Zinnschlag
243c9712a6 set player attributes according to race and gender 2010-09-15 15:10:13 +02:00
Marc Zinnschlag
53df82e293 fixed race name (was using internal ID as display name) 2010-09-15 15:01:02 +02:00
Marc Zinnschlag
fff4bc29f4 store results of character creation and update GUI 2010-09-15 14:33:02 +02:00
Marc Zinnschlag
5b0cb097cf calculate dynamic stats during character creation 2010-09-15 13:41:39 +02:00
Marc Zinnschlag
c0b9424bcf added framework for character creation 2010-09-15 13:31:26 +02:00
Marc Zinnschlag
9dffa75a15 handle name change during character creation 2010-09-15 12:22:06 +02:00
Marc Zinnschlag
a077e2cb2c changed character creation interface to enforce a Redemption-compatible implementation 2010-09-14 09:34:00 +02:00
Marc Zinnschlag
e411c6e833 added callback-interface for character creation 2010-09-13 22:59:28 +02:00
Marc Zinnschlag
3b49d6c826 added NPC stats 2010-08-19 12:49:13 +02:00
Nicolay Korslund
38ad2d98f9 Fixed windows issues + one minor optimization on to_utf8 2010-08-18 19:50:59 +02:00
Marc Zinnschlag
8e6a765603 fixed a stats bug (reducing modified stats via setModified didn't work correctly 2010-08-05 16:40:21 +02:00
Marc Zinnschlag
ca842d1b4d reimplemented access to creature stats via new class interface 2010-08-03 11:49:12 +02:00
Marc Zinnschlag
b584215680 moved stats label <-> GMST text mapping from mwmechanics to mwgui; added missing stats window labels 2010-08-01 10:25:50 +02:00
Marc Zinnschlag
9fafac1ef8 removed encoding workaround for attribute names 2010-07-31 19:41:15 +02:00
Marc Zinnschlag
3b6b343c9b added GUI update for health, magicka and fatigue 2010-07-28 18:48:01 +02:00
Marc Zinnschlag
455bcf3b01 added get, set and mod instructions for health, magicka and fatigue 2010-07-28 18:27:46 +02:00
Marc Zinnschlag
63f686ffab update attribute values in stats window 2010-07-27 15:59:41 +02:00
Marc Zinnschlag
335425bb12 added MechanicsManager::update function (doesn't update anything yet) 2010-07-27 14:46:05 +02:00
Marc Zinnschlag
1d9df6cf40 implemented handling of disabled actors 2010-07-27 14:43:46 +02:00
Marc Zinnschlag
3d987f1b7a register actors in active cells with MechanicsManager 2010-07-27 14:05:05 +02:00
Marc Zinnschlag
77a0215d53 added get-, set- and mod-instructions for attributes 2010-07-26 23:09:37 +02:00
Marc Zinnschlag
04b86f7e1e added first set of character and creature stats (attributes) 2010-07-26 12:52:32 +02:00
Marc Zinnschlag
ecd05fd15e fixed an include guard 2010-07-26 11:58:49 +02:00
Marc Zinnschlag
61d09c4768 read attribute names from GMST instead of using hard-coded names (doesn't fully work yet, because of encoding issues) 2010-07-26 11:15:38 +02:00