Commit graph

1308 commits

Author SHA1 Message Date
scrawl
4a1e561015 Properly assign effect attribute/skill in potion creation (Fixes #1704) 2014-07-27 20:33:02 +02:00
scrawl
90b2709d6c Allow absorption of non-harmful spells (Fixes #1693)
Also fix absorption being calculated for each effect rather than the whole spell.
2014-07-25 19:56:06 +02:00
scrawl
469d2afffa Merge branch 'master' of https://github.com/OpenMW/openmw
Conflicts:
	apps/openmw/mwgui/levelupdialog.cpp
2014-07-24 02:33:46 +02:00
scrawl
7ae9bbb1a5 Implement iCrimeThresholdMultiplier 2014-07-24 02:17:44 +02:00
scrawl
fc618cb3ea Use separate function for fatigue restoration during resting/waiting 2014-07-24 02:17:44 +02:00
scrawl
75366b2e37 Implement CellRef's faction rank (rank requirement to use item) 2014-07-24 02:17:38 +02:00
scrawl
2b57c7fa67 Use CellRef's global variable to disable owner (Fixes #1677) 2014-07-22 17:06:40 +02:00
Lukasz Gromanowski
171c61022d Added initialization of weapRange in AiCombat::execute().
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2014-07-21 21:17:12 +02:00
scrawl
c0645d4978 Increase death count immediately on death (Bug #1588)
This is required for scripts using getDeadCount as reaction to onDeath that rely on the increased value.
2014-07-21 20:37:14 +02:00
scrawl
804f1a5e59 Adjust combat mechanics
- Projectiles can not trigger critical hits
 - Critical hits are only possible if the target is not in combat (Fixes #1669)
 - Hand-to-hand deals damage to health during entire duration of knockdown animation (including standing up)
2014-07-20 23:17:55 +02:00
scrawl
90a96cd7d8 Fix bug where actors in combat with multiple other actors where not regarded as in combat with a specific actor 2014-07-20 22:34:20 +02:00
scrawl
6d794dac69 Add missing messagebox for spell lock and unlock success 2014-07-20 17:09:55 +02:00
scrawl
9897f14c3c Don't block when actor is paralyzed 2014-07-20 16:52:57 +02:00
scrawl
28a0899d2b Implement difficulty scaling (Fixes #1505) 2014-07-20 16:38:20 +02:00
scrawl
08ce6ed7fb Attempt to restack item after repair or recharge (Fixes #1656) 2014-07-17 16:16:06 +02:00
scrawl
20a0040bdb Apply elemental shield magnitude to element resistance (Closes #1121) 2014-07-16 10:58:28 +02:00
scrawl
123157b216 Implement elemental shield damage to attacker (Feature #1121) 2014-07-16 10:58:28 +02:00
scrawl
f43a10b7b9 Adjust disease contraction according to Hrnchamd's research 2014-07-16 10:58:21 +02:00
scrawl
c9150c9680 Initialize character skeleton to a suitable pose (Fixes #1473) 2014-07-13 10:40:48 +02:00
scrawl
d63dd88113 Apply autocalc corrections to player starting spells 2014-07-12 18:53:16 +02:00
scrawl
83819b2894 Traverse spells in record order from content files. bronrod_the_roarer is perfect now. Other NPCs have some differences. 2014-07-12 18:53:15 +02:00
scrawl
479f248c1d Use spell effect range type, not base effect (applied to spellcasting code) 2014-07-12 18:53:15 +02:00
scrawl
b4f8edc186 Use spell effect range type, not base effect 2014-07-12 18:53:15 +02:00
scrawl
1c41ce9b9d Implement Hrnchamd's player and NPC autocalc spells (Some unclarities remaining, XXX) 2014-07-12 18:53:15 +02:00
scrawl
742d008765 Fix initializing CharacterController with fists or spell equipped 2014-07-08 10:30:46 +02:00
scrawl
ee81698089 Always control movement by animation except for first person or in-air 2014-07-08 10:30:45 +02:00
scrawl
10ef0a34d9 Update effects even when main animation is paused (Fixes #1585) 2014-06-28 17:54:14 +02:00
scrawl
92f5898b32 AiWander: Make sure we have 8 idle values (Fixes #1583)
The AiWander instruction may specify more (or less) than 8.
2014-06-28 14:22:27 +02:00
scrawl
523c2715e3 AiCombat: Handle Start to Min and Min to Max durations of 0 (found in Riekling animation) 2014-06-28 01:31:34 +02:00
scrawl
911bd0e340 Use walk animation as fallback if there's no run animation (Fixes #1578) 2014-06-28 00:07:13 +02:00
scrawl
07d0f4458d Rotate clouds/particles to come from red mountain (Fixes #245) 2014-06-27 03:22:00 +02:00
scrawl
9eb8addc70 Make flying creatures fall when paralyzed (Fixes #1494) 2014-06-27 03:21:50 +02:00
scrawl
3d9bdad8ba Correct run speed for creatures (by Hrnchamd - Fixes #1136) 2014-06-25 00:51:02 +02:00
scrawl
7f1d0fc2a2 Fix disposition for npcs in same faction, by Hrnchamd 2014-06-25 00:12:51 +02:00
scrawl
693a097b21 Implement idlestorm animation (Feature #41) 2014-06-24 18:37:38 +02:00
scrawl
320ab1b2c1 Don't say voice when using startcombat for a dead actor (Fixes #1542) 2014-06-23 22:00:17 +02:00
scrawl
cbec0ffaee Exception fix 2014-06-22 22:30:29 +02:00
scrawl
11b05c352f Fix exception when casting Bound Gloves spell 2014-06-19 16:00:27 +02:00
scrawl
9a6737073f Fix broken swimdeath in first person 2014-06-18 16:57:54 +02:00
scrawl
e95483c40f Fix crash for on target spells cast by non-actors (Fixes #1529) 2014-06-18 16:57:53 +02:00
scrawl
fe1e6a2719 Make Weakness effects apply to all subsequent effects within the same spell (Fixes #1150) 2014-06-18 16:57:53 +02:00
scrawl
a3ea7cb956 Ignore distance when considering aggression due to crime (seems to work better, all balmora mages guild members now come to help when one is attacked) 2014-06-18 16:57:53 +02:00
scrawl
1dc9e151cb Count werewolf kills (Fixes #1525) 2014-06-18 16:56:36 +02:00
scrawl
4f9ebd148c Fix broken AI movement on Z axis 2014-06-17 15:25:54 +02:00
scrawl
2477456f99 Implement Murder crimes and OnMurder instruction (Fixes #1315) 2014-06-17 04:05:27 +02:00
scrawl
3801dfb4ba Add delay to sneak icon update and skill progress (Fixes #1321) 2014-06-17 04:05:27 +02:00
scrawl
ffb6f5d555 Use fFight<Crime> GMSTs to control attacks in response to crimes 2014-06-17 04:05:27 +02:00
scrawl
28feb260eb Implement disposition/distance based aggression (Fixes #1520) 2014-06-16 20:05:53 +02:00
scrawl
f935cfc6c9 Fix crash when stealing items with the owner not around (Fixes #1512) 2014-06-16 04:03:53 +02:00
scrawl
345ba99c17 Fix WeaponAnimationTime not working after restoring draw state (when loading save or re-entering a cell - Fixes #1497) 2014-06-16 02:52:25 +02:00
scrawl
9ea071c1e8 Fix weapon incorrectly showing when saving and loading with spell equipped 2014-06-16 02:52:25 +02:00
scrawl
d5b97005ab Make ESM::Faction skills optional (Fixes #1508)
Also increased size of mSkills array to 7. Some factions with 7 skills can be found in the vanilla CS. The previously "mUnknown" int appears to be the 7th element of the skills array.
2014-06-16 02:52:16 +02:00
scrawl
ee2b81763e Savegame: Store AiSettings and summoned creatures
CreatureStats state is now completely stored (Closes #1174)

Also play VFX_Summon_Start and VFX_Summon_End visual effects.
2014-06-15 21:19:37 +02:00
scrawl
a0f9a6718f Disable fProjectileThrownStoreChance when shooting at player (Fixes #1490) 2014-06-15 16:11:22 +02:00
scrawl
e288437885 Disable all other animations on death (Fixes #1483) 2014-06-15 14:18:16 +02:00
scrawl
8d8015ce18 Remove a squareroot in pathfinding 2014-06-15 14:18:16 +02:00
scrawl
afbd5162ee Move AiWander arrival check to time-critical section 2014-06-15 14:18:16 +02:00
scrawl
395f98e476 Fix triggering changed flag for all references when cell is visited
The InsertFunctor for cells was calling localRotateObject() for all references which set the mChanged flag in RefData to true.

Also clean up RefData interface slightly.
2014-06-15 14:18:16 +02:00
scrawl
b20f8cc04f Don't clear AiSequence if there are no saved packages (eg for old savegames) 2014-06-15 14:18:16 +02:00
Marc Zinnschlag
01c90a3434 Merge remote-tracking branch 'mrcheko/master' 2014-06-15 14:12:38 +02:00
mrcheko
a6ee4272aa fix bug when you were able to kill somebody from large distance without
being spotted
2014-06-15 00:14:18 +04:00
mrcheko
6da061fd96 fix http://bugs.openmw.org/issues/1340
Did I understand right that guards trigger combat after refusing pay
gold/go to jail via script?
2014-06-14 23:36:57 +04:00
scrawl
832f1a4857 Fix merge mistake 2014-06-14 02:31:01 +02:00
mrcheko
9d40f2e196 Merge remote-tracking branch 'origin/master' 2014-06-13 23:23:25 +04:00
mrcheko
c4e5872620 fix bug http://bugs.openmw.org/issues/1470 2014-06-13 23:22:00 +04:00
scrawl
fe5bbfce3c Merge branch 'master' of https://github.com/OpenMW/openmw
Conflicts:
	apps/openmw/mwmechanics/aicombat.cpp
2014-06-13 19:31:33 +02:00
mrcheko
fc6366fb27 Merge remote-tracking branch 'upstream/master'
Equipping_Weapon check isn't needed cause there won't be WeapType_None in
that case

Conflicts:
	apps/openmw/mwmechanics/character.cpp
2014-06-13 14:12:41 +04:00
scrawl
e458cf1df2 Savegame: Store death counter (Fixes #1477) 2014-06-13 02:26:53 +02:00
scrawl
797134aa51 Handle activation scripts in AiActivate (Fixes #1478) 2014-06-13 02:26:52 +02:00
scrawl
a54ac579a5 Savegame: Store AiSequence 2014-06-13 02:26:52 +02:00
mrcheko
df7213185f warning fixes 2014-06-12 23:42:33 +04:00
mrcheko
d6d9df6cec split getStartTime 2014-06-11 00:20:46 +04:00
mrcheko
979128b2c5 Combat music; some minor combat fixes 2014-06-10 14:20:29 +04:00
mrcheko
698cbba6ef old bug + comment fix 2014-06-09 23:02:06 +04:00
mrcheko
08e8dab067 merge openmw master 2014-06-09 22:37:49 +04:00
scrawl
1bab74a98d Fix punishment for stealing 0 value items (Fixes #1435) 2014-06-09 03:42:29 +02:00
mrcheko
67abc60264 aiming to moving target in ranged combat ai
1) Taking into account target move vector and speed. However aiming is not
ideal, since attack strength can't be controlled directly. I did achieve
almost 100% accuracy updating it everyframe but then thought it would be
unfair, cause AI should mimic human targetting.
2) Also added in this commit func to measure real attack durations for
weapon.
2014-06-08 20:59:26 +04:00
scrawl
69855097ca Fix an always true condition (Bug #1355) 2014-06-08 11:22:37 +02:00
scrawl
927ae00454 Fix code that stopped animation immediately after starting it, due to thinking it has completed (Fixes #1370) 2014-06-08 11:22:37 +02:00
Marc Zinnschlag
0668019c86 Merge remote-tracking branch 'scrawl/master' 2014-06-06 19:09:24 +02:00
Hallfaer Tuilinn
01283f531e Fix for Bug #1409 2014-06-06 15:13:25 +02:00
scrawl
f3cece8dec Fix alchemy allowing same item ID in different slots (Fixes #1407) 2014-06-06 14:12:50 +02:00
scrawl
3d103f3785 Don't block hits when in hand-to-hand combat (shield not visible) 2014-06-05 22:27:46 +02:00
scrawl
f53e86cad9 Fix AiCombat being incorrectly added to player (Fixes #1356) 2014-06-05 21:51:57 +02:00
scrawl
d2e98c4de1 Fix forced switch to third person on death not always working
For instance, when dying from fall damage
2014-06-05 17:21:02 +02:00
scrawl
d2ad2e0f31 Re-enable collision when an actor is resurrected 2014-06-02 20:45:25 +02:00
scrawl
56ff399f30 Say attack voiced dialogue *after* the target is set up
Required for the CreatureTargetted filter to function properly
2014-05-28 13:59:31 +02:00
scrawl
e266c39c5d Implement modFactionReaction instruction (Closes #1347) 2014-05-27 14:54:29 +02:00
Marc Zinnschlag
9e21da9636 Merge remote-tracking branch 'scrawl/master' 2014-05-27 08:34:54 +02:00
scrawl
0966755a0c Store death animation index in CreatureStats 2014-05-26 20:52:32 +02:00
Marc Zinnschlag
3937cfcd8b Merge remote-tracking branch 'scrawl/master' 2014-05-26 19:02:13 +02:00
scrawl
bfd91c0681 Fix potential NpcStats overwriting issue 2014-05-26 12:31:08 +02:00
Marc Zinnschlag
4aab4bae65 minor cleanup and silenced a warning 2014-05-26 10:14:24 +02:00
Marc Zinnschlag
f0d0a31a19 Merge remote-tracking branch 'mrcheko/master' 2014-05-26 10:08:40 +02:00
mrcheko
8fa7fcdbee fix bug http://bugs.openmw.org/issues/1335 (1304 as well)
though fish detects if actor is swimming, but in MW it attacks even if
the player is knee-deep in water
2014-05-25 21:03:37 +04:00
scrawl
039398c8ae Basic RefData and CellRef change tracking
Wrapped item charge handling in getItemHealth function
2014-05-25 14:30:07 +02:00
mrcheko
c62187bd55 fix bug at http://bugs.openmw.org/issues/1155
Though it still can happen sometimes but not in such stupid manner.
2014-05-25 13:31:46 +04:00
mrcheko
559c772906 Merge remote-tracking branch 'upstream/master' 2014-05-25 10:21:54 +04:00
mrcheko
56881cb7c9 fix bugs in aisequence::execute 2014-05-24 23:05:30 +04:00
scrawl
a05c8fd3ce Make applyEnchantment return the record ID instead of modifying Ptr 2014-05-24 14:58:48 +02:00
scrawl
f09c8ddc9e Remove a pointless assert 2014-05-23 16:44:51 +02:00
scrawl
b47b2b84f3 Merge branch 'master' of https://github.com/OpenMW/openmw
Conflicts:
	apps/openmw/mwdialogue/filter.cpp
	apps/openmw/mwgui/waitdialog.cpp
2014-05-23 08:39:48 +02:00
Emanuel Guevel
1e4a854433 Remove static method MWWorld::Class::get(&Ptr)
It was just adding a level of indirection to Ptr.getClass().
All the call were replaced by that instead. The number of lines changed
is important, but the change itself is trivial, so everything should be
fine. :)
2014-05-22 20:50:00 +02:00
scrawl
4b5f02f644 Remove useless throwing of exception 2014-05-22 15:29:36 +02:00
scrawl
3380e1e1c5 Fix ShouldAttack filter
This makes NPCs exit dialogue properly when they should attack as a result of taunting actions.
2014-05-22 12:20:25 +02:00
Marc Zinnschlag
58afa58549 Merge remote-tracking branch 'mrcheko/master' 2014-05-19 22:07:32 +02:00
mrcheko
638df221a6 memory leak fix 2014-05-19 23:29:35 +04:00
Marc Zinnschlag
37f1a49352 Merge remote-tracking branch 'mrcheko/master' 2014-05-18 22:36:40 +02:00
mrcheko
fa14df62b7 fix crash on disappeared target 2014-05-18 23:15:22 +04:00
Marc Zinnschlag
56c4367c1a Merge remote-tracking branch 'mrcheko/master' 2014-05-18 18:42:23 +02:00
mrcheko
e1249f6a31 actor handle and id confusing fix 2014-05-18 20:13:46 +04:00
mrcheko
66307dd889 travis fix #3 :( 2014-05-18 16:10:14 +04:00
mrcheko
74697f8116 travis fix #2 2014-05-18 15:41:15 +04:00
scrawl
5b76c0893a Merge branch 'master' of https://github.com/OpenMW/openmw
Conflicts:
	components/esm/inventorystate.hpp
2014-05-18 12:55:43 +02:00
mrcheko
69c1eb28c5 travis compile fix 2014-05-18 14:39:04 +04:00
mrcheko
aa5647b45e merge master, resolve conflicts 2014-05-17 19:20:57 +04:00
scrawl
b4ed828e21 Feature #1323: Implement restocking items (does not handle levelled lists yet) 2014-05-17 14:30:31 +02:00
Marc Zinnschlag
f7c89015f9 Merge remote-tracking branch 'scrawl/master' 2014-05-17 11:50:31 +02:00
scrawl
92c5bb56e0 Un-reverted actorId for AiPursue 2014-05-17 05:34:54 +02:00
scrawl
e266aff561 Savegame: store projectiles 2014-05-17 05:24:32 +02:00
scrawl
e5a21aca53 Refactor projectiles to no longer use MW-objects 2014-05-16 13:33:30 +02:00
scrawl
18852c09d0 Manually re-added AiCombat portion of actorid changes. This is the only one that really matters, and will not suffer from the infinite recursion because it's not included in AiSequence::fill. 2014-05-16 12:28:23 +02:00
scrawl
36d9ae17cc Revert "Change all AI packages (except AiActivate) to use ActorIds"
Causes potential infinite loops (AiSequence::fill -> AiPackage() -> getCreatureStats -> ensureCustomData -> ..)

This reverts commit 2e9985c1a3.
2014-05-16 12:11:34 +02:00
mrcheko
5be37f04ef Feature 1314: make npc fight creatures 2014-05-16 00:03:48 +04:00
Marc Zinnschlag
3b2ba4f6cd Merge remote-tracking branch 'scrawl/master' 2014-05-15 14:25:36 +02:00
scrawl
0bc33fa86a Revert "AiCombat: Removed obsolete door back-off code (now handled in AiAvoidDoor)"
Apparently not working for AiCombat due to its higher getPriority(). What should we do here?

This reverts commit a6e1d7ffd6.
2014-05-15 10:14:47 +02:00
scrawl
b16d444f0f Fix never clearing graveyard. Oops 2014-05-15 10:05:35 +02:00
scrawl
b6a7aee42e Fix player not being allowed to use his own items 2014-05-15 09:54:10 +02:00
scrawl
a6e1d7ffd6 AiCombat: Removed obsolete door back-off code (now handled in AiAvoidDoor) 2014-05-15 09:54:10 +02:00
scrawl
2e9985c1a3 Change all AI packages (except AiActivate) to use ActorIds
More robust in case the target changes cell or there are multiple targets with the same RefId
2014-05-15 09:54:10 +02:00
scrawl
2f13a17a39 Add some more safety checks to spellcasting 2014-05-15 09:54:10 +02:00
scrawl
a609dc5674 Fix exception when getting hit by a trap 2014-05-15 09:54:10 +02:00
scrawl
a76e391ad0 Savegame: store door movement state (Closes #747) 2014-05-15 09:54:10 +02:00
scrawl
37b9d2fb0c Fix a wrong use of reference that causes potential crash 2014-05-15 09:54:10 +02:00
Marc Zinnschlag
d08869a25d Merge remote-tracking branch 'slothlife/msvc_warning_cleanup'
Conflicts:
	apps/openmw/mwrender/localmap.cpp
2014-05-15 08:13:15 +02:00
slothlife
f33559fead Fixes for MSVC warnings, less overall changes
Kept some fixes from the first round of review. Found out that several
targets weren't being built with the same basic warnings disabled.
Disabled a few warnings for external libraries specifically, rather than
applying them to all targets.
2014-05-14 20:12:52 -05:00
scrawl
9b67fcc4d7 Merge branch 'master' of https://github.com/OpenMW/openmw 2014-05-14 23:54:25 +02:00
scrawl
9052cc4a57 Savegame: store ActiveSpells 2014-05-14 23:54:15 +02:00
Thomas
d2aada95b4 Fixed AiPursue by fixing underlying issue is Pathto() 2014-05-14 14:11:34 -04:00
Thomas
2425d2c2ab Added stuck mitigation for AiAvoidDoor 2014-05-14 13:38:10 -04:00
Thomas
993ef1be43 Actor avoiding door asks all surrounding actors to do the same. 2014-05-14 04:05:18 -04:00
scrawl
61187c2fef Savegame: store actorIds 2014-05-14 09:47:49 +02:00
Thomas
cbcf0f6039 Changed AiEScort to use new PathTo function 2014-05-14 01:44:11 -04:00
scrawl
dfacf8c044 Change ActiveSpells to use ActorId 2014-05-14 07:14:08 +02:00
slothlife
c160a04ede Revert "Fixes for warnings when building with MSVC"
This reverts commit 46eb20b98c.
2014-05-14 00:03:30 -05:00
scrawl
7697ab37e0 Fixes #1129: Change summoned creatures to use ActorId
Gracefully handles summoned creatures that are left behind in inactive cells.
2014-05-14 06:37:31 +02:00
Thomas
7cd4c93fa4 Changed getNearbyDoor to use MWWorld::Ptr 2014-05-13 23:46:00 -04:00
scrawl
99b4bc721b Don't attempt to inflict spells on dead actors 2014-05-14 05:37:53 +02:00
scrawl
6c7b3074f5 Fix self-defense for creatures when attacked with a spell 2014-05-14 05:31:19 +02:00
Thomas
58bf7624be Made code a bit more efficient 2014-05-13 21:52:05 -04:00