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