Commit graph

2092 commits

Author SHA1 Message Date
scrawl
67491c7164 Fix leveled item argument issue (Fixes #2302) 2015-01-27 23:12:20 +01:00
scrawl
c883a73d30 Several warning fixes 2015-01-23 15:34:47 +01:00
scrawl
378e91545d Fix Tribunal/BM summon effects not working 2015-01-23 15:34:47 +01:00
scrawl
69676906ae Don't clear known spells when reading from the savegame
This is needed because the .ess format doesn't include the racial spells in the player's spell list.
2015-01-23 15:34:14 +01:00
scrawl
eede2c8e55 ESSImport: convert breath meter and skill increases 2015-01-20 19:30:39 +01:00
scrawl
14aacf9a72 Add comment 2015-01-17 00:10:49 +01:00
scrawl
1869d37cfc Remove unused mLastDrowningHit 2015-01-17 00:10:45 +01:00
scrawl
bf915d929a Update idle voices according to research 2015-01-15 03:35:46 +01:00
scrawl
a3c861b7fa Idle voice fix 2015-01-14 00:07:14 +01:00
scrawl
2ac4a74a34 Fix running AI for dead actors 2015-01-13 18:13:02 +01:00
scrawl
fafc14d5a0 Add proper air movement mechanics (Fixes #2077) 2015-01-13 05:37:43 +01:00
scrawl
4ed3e7bbb7 Enchanting code cleanup 2015-01-12 23:29:58 +01:00
scrawl
de23ad5c8d Change dynamic_cast to static_cast to make coverity happy 2015-01-12 23:29:58 +01:00
scrawl
cda2eea906 Enchanting: use fEnchantmentConstantDurationMult and fEffectCostMult 2015-01-12 23:29:58 +01:00
scrawl
871d59de6c Reduce Idle voice chance (Fixes #1964) 2015-01-12 23:29:58 +01:00
scrawl
c3f3f8b3d0 Use only Cell records for saving progress bar (Fixes #2259) 2015-01-11 18:01:06 +01:00
scrawl
b108fbe986 Remove incorrect implementation of fGreetDistanceReset
This can't be right. A reset distance of 512 is smaller than the maximum greeting distance for certain NPCs, which would then say greetings non-stop.
2015-01-11 17:04:58 +01:00
Marc Zinnschlag
289a912817 Merge remote-tracking branch 'scrawl/master' 2015-01-11 12:24:51 +01:00
dteviot
458b82c308 Centralized "fish can't attack non-swimmer" logic. 2015-01-11 14:25:46 +13:00
scrawl
579f5d232f Move interactive messageBox to separate function 2015-01-10 23:23:48 +01:00
dteviot
7fe2f86d06 Slaughter fish attacks when player only knee deep in water (Fixes #2076) 2015-01-09 21:40:53 +13:00
Marc Zinnschlag
38a413a483 Merge remote-tracking branch 'scrawl/master' 2015-01-07 20:22:15 +01:00
scrawl
13c5bd5cc2 Enchanting: fix skill-based cast cost bonus being applied twice 2015-01-07 04:41:12 +01:00
scrawl
ef1b0a191b Revert "Enchanting: fix inverted self-enchant success chance"
It wasn't inverted to begin with. The author of this commit is an idiot.
2015-01-07 03:48:16 +01:00
scrawl
a17252eab3 Remove unused checkWaypoint function
It was an almost exact copy of the checkPathCompleted function anyway.
2015-01-07 02:34:28 +01:00
scrawl
4d9100091d Reduce default pathing arrival tolerance to 32 units (Fixes #1605) 2015-01-07 02:34:28 +01:00
scrawl
992b87ea44 Reset existing summons when the spell is re-casted (Fixes #2135) 2015-01-06 16:11:10 +01:00
scrawl
f267497c03 Allow separate summoned creature instances for each spell ID (Fixes #2194) 2015-01-06 16:11:05 +01:00
Marc Zinnschlag
31f6ccdf4d Merge remote-tracking branch 'internecine/bug2031' 2015-01-06 09:43:59 +01:00
Internecine
e1fdcb608e Fixed incorrect index 2015-01-06 15:00:24 +13:00
scrawl
708dbc2518 Crime fix 2015-01-05 20:31:50 +01:00
scrawl
c343a5c803 stopCombat fix 2015-01-05 20:31:50 +01:00
scrawl
5e7e40aac9 Fix being able to switch weapons while knocked out 2015-01-04 19:54:49 +01:00
scrawl
d56906acf7 Fix the creature position glitch 2015-01-03 19:10:15 +01:00
scrawl
92e4a0669c Fix for AiWander state loading 2015-01-01 18:58:17 +01:00
scrawl
559ddbb480 Quick fix for Ai fast-forward crash in exteriors (Fixes #2241) 2015-01-01 18:18:46 +01:00
Internecine
a7a3ab0c78 Fixed instant negative dynamic stat changes being applied as positive 2015-01-01 21:26:09 +13:00
scrawl
dc1c52bda7 Add some todo comments 2015-01-01 03:38:54 +01:00
scrawl
e0d083f702 Add hand-to-hand combat mechanics for bipedal creatures
You can now have a fistfight with vivec, if you so desire.
2015-01-01 03:38:54 +01:00
scrawl
70d3bfc6ed Fix idle animation not restarting immediately for creatures 2015-01-01 03:38:54 +01:00
scrawl
01652bbcc5 Store original actor position in AiWander package (Fixes #2200) 2015-01-01 03:38:49 +01:00
scrawl
99ae0f901b Implement AiTravel fast-forward (Fixes #1125) 2014-12-31 20:42:29 +01:00
scrawl
a8ae0dec52 Implement AiWander fast-forward (Feature #1125) 2014-12-31 18:41:57 +01:00
scrawl
d26d5f6c26 Fix outdated bone locations when camera view is changed while paralyzed 2014-12-31 17:25:06 +01:00
scrawl
d1a29300f0 Handle bipedal creatures not using weapons (Fixes #2238) 2014-12-31 16:59:21 +01:00
scrawl
363d1f9207 Merge remote-tracking branch 'upstream/master' 2014-12-30 23:01:45 +01:00
scrawl
6c9875969a Stop idle animations for non-biped creatures when attacking/moving
The idle animation wouldn't be visible anyway, since these creatures don't have animation layers. However sounds tagged in the animation would still play.
2014-12-28 15:34:47 +01:00
scrawl
a58bc9f2f7 Remove sneaking effect on combat AI (Fixes #2237) 2014-12-28 14:45:20 +01:00
scrawl
1bd3ab8a2d Fix torch animation playing when torch is hidden (Fixes #2236) 2014-12-28 14:17:53 +01:00
scrawl
de9d347018 Fix on touch area effect spells (Fixes #2233) 2014-12-28 01:51:12 +01:00
scrawl
a62fe38a1b Fix unsafe use of BaseNode 2014-12-27 15:02:05 +01:00
Internecine
5f9540318a Fixed incorrect indexes 2014-12-27 19:49:14 +13:00
Internecine
a87fe71ddf Added a helper function to handle dynamic stat changes 2014-12-27 19:46:54 +13:00
scrawl
768c4a5757 Update crime response to pickpocket attempts (thanks Hrnchamd) 2014-12-24 15:45:14 +01:00
scrawl
7f0d71f8f4 Swap use of iDispAttackMod/fDispAttacking (thanks Hrnchamd) 2014-12-24 15:45:14 +01:00
scrawl
019cd96719 Stop AiPursue when target has invisibility or chameleon>=75 2014-12-24 15:45:14 +01:00
scrawl
edc128572d Add MWMechanics::Actor class for temporary actor state, move AiState there 2014-12-24 15:45:14 +01:00
scrawl
8bc7eb5530 PlayGroup: Don't loop animations with no loop keys (Fixes #2223) 2014-12-24 15:45:13 +01:00
scrawl
9e5dfb6e98 Update crime system according to research wiki for more accurate attack responses 2014-12-24 15:45:13 +01:00
scrawl
2410d79410 Fix iFightAttack and iFightAttacking being swapped
Looks like the research wiki page was incorrect, the higher value (iFightAttack) being for the victim makes more sense, is consistent with iDispAttackMod/fDispAttacking, and seems to be how the original game behaves as well.
2014-12-24 15:45:13 +01:00
scrawl
0081a68376 Use fMagicStartIconBlink for spell effect indicator fading 2014-12-24 15:45:13 +01:00
scrawl
f3738e9a98 Say an "intruder" voice dialogue for trespassing crimes (Fixes #1082)
Seems to be broken in the original engine, but according to the TES-CS help this is how the intruder voices should be used. There are legitimate entries for "intruder" in the game's files, so we might as well use them.
2014-12-24 15:45:13 +01:00
scrawl
866fdfe8bd Crime system improvements
- If someone saw the crime, they will notify everyone else in range, even if the Alarm rating of the witness is 0.
- Pickpocket and selling stolen items now works properly, i.e. honors the victim's Alarm rating instead of always being reported.
2014-12-24 15:45:12 +01:00
scrawl
1910327469 Implement disposition changes due to crimes 2014-12-24 15:45:12 +01:00
scrawl
cc9af9562b Function_CreatureTargetted should return '2' for werewolfs
This makes NPCs say the correct attack voice files when fighting a werewolf.
2014-12-24 15:45:12 +01:00
scrawl
efa9ff3a76 Fix incorrect implementation of iWerewolfBounty 2014-12-24 15:45:12 +01:00
scrawl
35d2bfabca Adjust NPC response to pickpocket attempts (Fixes #2219) 2014-12-24 15:45:12 +01:00
scrawl
105f0f8716 Head tracking: don't look at dead actors 2014-12-24 15:45:12 +01:00
scrawl
8a210c49e9 Improve AI prioritising health potions 2014-12-24 15:45:12 +01:00
scrawl
f931ba2efc Fix some static analysis issues (coverity) 2014-12-24 15:45:12 +01:00
scrawl
1b9209df4a Allow blocking of hand-to-hand attacks 2014-12-24 15:45:11 +01:00
Alexander "Ace" Olofsson
462b41a3a8 Missing files, aka; Why you shouldn't stresscommit 2014-12-19 11:26:54 +01:00
Alexander "Ace" Olofsson
0af5c7b379 Starting to clean up some heavy includes 2014-12-19 09:23:16 +01:00
scrawl
d962f0918d Implement NPC head tracking (Fixes #1720) 2014-12-16 20:47:45 +01:00
scrawl
4d5adfb5dd Fix being able to use enchantments of items that failed to equip (Fixes #2215) 2014-12-15 13:47:34 +01:00
scrawl
2b78e9795d Implement Calm effect removing combat packages (Fixes #1985) 2014-12-14 19:35:34 +01:00
scrawl
4f3995a4d8 Fix werewolf AI being able to use items 2014-12-14 19:15:43 +01:00
scrawl
88a2e4c043 Graceful error handling for missing spells/factions (Fixes #1825, Bug #2176, Bug #2203) 2014-12-14 02:38:27 +01:00
scrawl
60aa209144 Implement drowning when knocked out underwater (Fixes #1228) 2014-12-12 17:42:56 +01:00
scrawl
d034a079e6 Allow equipping twohanded weapon and shield at the same time (Fixes #1785)
The shield can be equipped, meaning armor rating and item enchantments apply, but can not be blocked with.
2014-12-12 16:49:22 +01:00
scrawl
bc85bb32c2 Fix vampirism magic effect not applying immediately (Fixes #1984) 2014-12-12 02:39:59 +01:00
scrawl
2601b26217 Merge branch 'master' of https://github.com/OpenMW/openmw 2014-12-11 22:44:58 +01:00
scrawl
886903d70e Implement HitAttemptOnMe function (Bug #2078) 2014-12-11 22:25:41 +01:00
scrawl
5f00a3d5c3 Reset lastHitObject when it is retrieved rather than every frame
This seems to be how vanilla MW does it.
2014-12-11 22:00:31 +01:00
Marc Zinnschlag
19bd07648b Merge remote-tracking branch 'scrawl/pathgrid' 2014-12-11 20:32:32 +01:00
scrawl
3270f0e932 Change pathgrid workaround to check for interior cell name 2014-12-11 15:19:48 +01:00
scrawl
623783cd6a Enchanting: fix cast cost for "on use" enchantments being set incorrectly 2014-12-10 18:05:11 +01:00
scrawl
ead6bf1601 Enchanting: cast the enchant points for the item to int (Fixes #2202) 2014-12-10 17:34:05 +01:00
scrawl
3c747195ae Add fall damage for creatures (Fixes #2201) 2014-12-10 17:21:34 +01:00
scrawl
e0c6f84546 AiFollow: target has to be seen in order to start following (Fixes #1637) 2014-12-09 22:25:28 +01:00
scrawl
109a3f78a1 Adjust AiFollow distance for groups of multiple followers (Fixes #1637) 2014-12-09 16:06:04 +01:00
scrawl
0fe7500f74 Work around pathgrid record limitation (Fixes #2195) 2014-12-09 00:13:56 +01:00
scrawl
416d549568 Fix animation glitch caused by knockdown
If the player was knocked down while having no weapon, spell nor fists ready, the animation state would incorrectly shift to "weapon equipped" even though no weapon is equipped.
2014-12-05 22:02:18 +01:00
scrawl
83dcf9ce4b Overwrite existing records in IndexedStore (Fixes #2182) 2014-12-05 15:58:05 +01:00
Marc Zinnschlag
eb6e1576be Merge remote-tracking branch 'scrawl/master' 2014-12-03 20:17:34 +01:00
scrawl
14ae6d28b0 Fix being able to jump when overencumbered 2014-12-03 18:28:35 +01:00
scrawl
7faa849cef Fix fatigue recalculation using older value (oops) 2014-12-03 18:28:34 +01:00
Paulo Viadanna
bfa048e687 Fix #1734: AI will stop combat if target disappear 2014-12-02 17:38:25 -02:00
scrawl
46d93f1b08 Crime update: NPCs can report crimes if they didn't see the crime, but were alerted by someone who saw it and did not report it themselves. 2014-12-01 23:09:46 +01:00
scrawl
507cbcfae3 Remove incorrect implementation of the iAlarm* GMSTs, not used by vanilla MW (Fixes #2064)
According to Hrnchamd, these are unused. The real mechanics are not fully documented, but from a quick test only NPCs with an alarm value of 100 will report crimes.
2014-12-01 23:09:46 +01:00
scrawl
a1226501fa AiWander: move idle animation handling to non-delayed section (Fixes #2073) 2014-12-01 23:09:46 +01:00
scrawl
c684c99a95 Combat AI: Don't attempt to cast spells when impossible to succeed (Fixes #2059) 2014-12-01 23:09:46 +01:00
scrawl
61d1aa78ce Move AiWander path finder to temporary storage (Fixes #2082) 2014-12-01 23:09:46 +01:00
Marc Zinnschlag
003675318d Merge remote-tracking branch 'scrawl/master' 2014-11-29 20:54:04 +01:00
scrawl
5f5fcc2fef Make PlayGroup use an indefinite number of loops (Fixes #2156) 2014-11-28 17:15:31 +01:00
scrawl
0a466ad643 Make recalculation of magicka less aggressive (Fixes #2155) 2014-11-28 14:45:35 +01:00
MiroslavR
cb74c1c36e Set health to 0 if it drops below 1 (Fixes #2163) 2014-11-27 20:44:41 +01:00
MiroslavR
238325455d Erase effects that have expired (Fixes #2134) 2014-11-25 10:33:03 +01:00
MiroslavR
b8d5a9486a Make Restore/Damage Attribute/Skill effects continuous 2014-11-08 00:57:03 +01:00
Internecine
edc51ab768 Removed debug output 2014-11-05 15:26:13 +13:00
Internecine
6741fbe7a9 Fixes bug #2031 2014-11-05 15:22:44 +13:00
MiroslavR
140013820b Fix invalidated iterator 2014-11-02 15:40:08 +01:00
scrawl
45f14f0704 Fix stolen faction-owned items not being confiscated 2014-10-31 00:25:37 +01:00
scrawl
8b3755a770 Compile fix 2014-10-20 17:45:24 +02:00
scrawl
192069a181 Add automatic potion naming 2014-10-20 17:45:11 +02:00
scrawl
fd7c181e06 Fix alchemy producing potion IDs from content files 2014-10-20 17:45:06 +02:00
scrawl
f117a75747 Force walk animation when flying (Fixes #2015) 2014-10-17 19:11:06 +02:00
Alexander "Ace" Olofsson
dc788512e2 Fix LNK2019 link error on Visual Studio 2010 builds
For some reason VS2010 (Haven't tested 2013) is REALLY pedantic about class/struct being two different things when it comes to function signatures
2014-10-14 16:10:19 +02:00
Marc Zinnschlag
6beee95151 Merge remote-tracking branch 'terrorfisch/aistate' 2014-10-13 19:14:15 +02:00
Marc Zinnschlag
eb45793eab Merge remote-tracking branch 'thoronador/fix-numeric-limits-usage' 2014-10-13 11:03:03 +02:00
Thoronador
4d62541b62 fix usage of numeric_limits static functions min() and max()
Functions min() and max() of std::numeric_limits<T> are static
and can therefore be accessed via class name and :: operator.
2014-10-12 23:28:16 +02:00
scrawl
d51daf5875 Fix AI not using F_Always spells, for example "vampire touch" 2014-10-12 17:18:27 +02:00
scrawl
8cb09e89ed Make spells cast by scripts always succeed (Fixes #1993) 2014-10-12 17:18:27 +02:00
MiroslavR
ad253059b1 Hit indicator for absorb/damage health effect 2014-10-12 01:15:40 +02:00
MiroslavR
0ae604990e Implement continuous damage indication (Fixes #1970) 2014-10-11 22:21:48 +02:00
terrorfisch
c4badcea6e removed warning 2014-10-10 23:51:29 +02:00
terrorfisch
c28dfc2fa4 Travis CI fix? 2014-10-10 23:34:58 +02:00
terrorfisch
4eb1668467 references now initialized when they are needed 2014-10-10 23:32:15 +02:00
terrorfisch
bbca942601 -improved trigonometric precision
-cleanup
2014-10-10 23:31:01 +02:00
terrorfisch
5248917a6c - changed namespace 2014-10-10 23:28:49 +02:00
terrorfisch
db1b93498d Added comment. 2014-10-10 00:17:50 +02:00
terrorfisch
730abf6841 Moved all variables in temporary storage for AiCombat and some more for AiWander.
+Buxfix for previous AiWander changes
2014-10-10 00:16:17 +02:00
terrorfisch
cae948df96 removed unecessary PathFinders 2014-10-08 23:09:50 +02:00
terrorfisch
4c36c67fb8 Updated AiCombat:
-moved everything except target to temporary storage
-removed the Pathfinder since present in baseclass
-cleaned some trigonometric mess
2014-10-08 23:00:36 +02:00
terrorfisch
4391c1fd00 Addded the parts of AiWander that I fully understand to the temporary storage.
The rest should be done by someone who has a clearer overview over the class.
2014-10-08 22:11:45 +02:00
terrorfisch
0871d45790 Draft how to move temporary package state to CharacterController.
Example for a few values shown in AiWander.
2014-10-08 10:58:52 +02:00
Marc Zinnschlag
744c56943a Merge remote-tracking branch 'jordan-ayers/topic/misc-cleanup' 2014-10-07 18:03:25 +02:00
Jordan Ayers
56db525a93 Document the return value of getEffectMultiplier. 2014-10-06 21:56:41 -05:00
scrawl
c4fa671381 Don't allow raising faction rank if the next rank has no name (Fixes #1975) 2014-10-05 16:47:55 +02:00
scrawl
5c3bc6563b Fix divisions by zero in normalizedEncumbrance 2014-10-05 15:50:01 +02:00
scrawl
8dd410fe96 Teleport indirect followers as well when using a door (Fixes #1974) 2014-10-05 15:18:32 +02:00
Jordan Ayers
663647bee8 Simplify getEffectMultiplier.
Both return cases were same, except for some overflow conditions.
2014-10-04 15:28:58 -05:00
scrawl
6fc53e73ad Don't run AI for knocked-out actors (Fixes #1854) 2014-10-03 15:58:14 +02:00
Marc Zinnschlag
a166034e12 Merge remote-tracking branch 'jordan-ayers/topic/disease-cleanup' 2014-10-02 17:19:32 +02:00
scrawl
861cc26aa6 Don't sell racial spells (Fixes #1961) 2014-10-02 16:50:05 +02:00
scrawl
afbd2de511 Fix broken alchemy magnitude/duration 2014-10-02 13:55:42 +02:00
scrawl
7e10818bdf Fix uninitialized flags for custom-made spells 2014-10-02 13:55:42 +02:00
Jordan Ayers
3bc91c66e6 Disease Check: Shorten the resistance calculations. 2014-10-01 19:29:03 -05:00
Jordan Ayers
a9a0930b85 Disease check: Reuse corprus check from spells.hpp. 2014-10-01 19:26:25 -05:00
scrawl
1c51694aa9 Don't update physics and animation for actors outside the AI processing distance 2014-10-02 00:27:04 +02:00
scrawl
ee8b85aa2c Fix priority bug in AiSequence::stack (Fixes #1959) 2014-09-30 22:57:38 +02:00
Jordan Ayers
da9d858201 Add 'const' to a spell helper function. 2014-09-29 20:59:10 -05:00
scrawl
7f18f85a1d Forgot const 2014-09-29 12:04:19 +02:00
scrawl
e9ed0211c9 Attempt to fix Clang warnings 2014-09-28 12:44:47 +02:00
scrawl
02dec787fd Cache GMSTs in getDerivedDisposition 2014-09-27 22:44:20 +02:00
scrawl
ea956b537c Don't search for fFatigueReturnBase and fFatigueReturnMult every frame 2014-09-27 22:37:53 +02:00
scrawl
e868a48a63 Don't trigger OnPcHitMe for friendly hits (Fixes #1950)
Don't consider actors as followers if they are also in combat with the follow target
2014-09-26 22:08:07 +02:00
scrawl
7252cb63a6 Fix cppcheck issues 2014-09-26 17:48:14 +02:00
scrawl
f56711f443 Fix crash caused by teleportation spells (Fixes #1904) 2014-09-25 18:14:04 +02:00
scrawl
8ad2b95208 Revert "AiFollow: return from execute() if target is not player"
This reverts commit 061c7813f6.

Fixes #1898.
2014-09-25 17:57:10 +02:00
scrawl
40ce5add59 Don't report crime for attacking an NPC that is already in combat with another NPC (Fixes #1908, Fixes #1821) 2014-09-25 17:33:26 +02:00
scrawl
40587f984d Implement price-based mercantile skill progress (Fixes #1947), thanks Hrnchamd
Correct barter formula (removed erroneous clamping)
2014-09-25 13:02:42 +02:00
Marc Zinnschlag
175d4f3d44 Merge remote-tracking branch 'ragora/playdeathlevelupmusic' 2014-09-23 13:30:50 +02:00
Ragora
06e683d378 Added code to play music on level up and on death 2014-09-23 04:58:19 -04:00
scrawl
3ac04060c1 Fix NPCs being able to practice Block skill 2014-09-20 16:17:09 +02:00
scrawl
023d7072f9 Don't play battle music for enemies out of AI processing range 2014-09-20 13:55:57 +02:00
Marc Zinnschlag
65ddf7acfe Merge remote-tracking branch 'scrawl/master' 2014-09-19 15:59:59 +02:00
Marc Zinnschlag
2a48c377a8 Merge remote-tracking branch 'miroslavr/master' 2014-09-19 15:55:24 +02:00
scrawl
b145d183ae Fix incorrect alchemy failure handling when an effect has a zero magnitude/duration (Fixes #1922) 2014-09-19 09:11:21 +02:00
scrawl
8a3a3baed4 Tweak AiEscort maximum distances 2014-09-19 05:47:45 +02:00
scrawl
b39fe85a51 Implement fPCbaseMagickaMult and fNPCbaseMagickaMult 2014-09-18 14:56:43 +02:00
scrawl
c19f89976e Add missing Hit voice dialogue for friendly hits 2014-09-18 05:13:17 +02:00
scrawl
be7839873a Don't trigger dynamic stats recalculation when setting up actor initial stats (Fixes #1927)
This caused the magicka value set in the CS to be ignored completely, so flame atronachs were spawning with 50 magicka instead of 105.
2014-09-18 03:47:45 +02:00
scrawl
447e93bdb4 Use SpellCast animation for creatures that have it (flame atronach) 2014-09-18 03:24:47 +02:00
scrawl
07cd647e75 Fix broken AI for creatures with OnTarget spells (Bug #1927) 2014-09-18 03:19:13 +02:00
scrawl
2eaceb71ba Reject AiTravel destinations further than 7168 units away, as in vanilla MW (Fixes #1911) 2014-09-17 12:39:10 +02:00
scrawl
3ce3f31452 Adjust turning animation speed multiplier based on turning speed 2014-09-17 07:02:19 +02:00
scrawl
6debd21ec6 Make sure the Jump control is always handled by the PhysicsSystem even if game runs faster than the minimum physics timestep 2014-09-17 07:02:19 +02:00
scrawl
269c200c8f Fix jump velocity mechanics (Fixes #1708) 2014-09-17 07:02:19 +02:00
scrawl
b6a89c7845 Fix idlestorm animation conflict with torch animation 2014-09-17 07:02:19 +02:00
scrawl
4c285151a3 Fix incorrect movement animation for some creatures (Fixes #1924) 2014-09-17 07:02:10 +02:00
scrawl
0c75c6bf1b Improve spellcasting AI for Drain/Damage effects 2014-09-15 10:42:51 +02:00
scrawl
157c53bed4 Handle spellcasting for creatures with no casting animation (Fixes #1856) 2014-09-15 10:42:44 +02:00
scrawl
233e221de2 Terminate AI packages when target is disabled or deleted (Fixes #1910) 2014-09-14 10:49:33 +02:00
scrawl
a42e60970b Revert "delete death events on adding an actor to the scene"
If we go to a different cell in the exact frame of an actor's death, the death event would be lost permanently.

This reverts commit fd2c07a6f4.

Conflicts:
	apps/openmw/mwmechanics/actors.cpp
2014-09-13 20:57:25 +02:00
scrawl
8625764143 Give 100% of health back when Resurrecting an actor (Fixes #1877) 2014-09-13 20:50:49 +02:00
MiroslavR
23e6d52844 Fix UI not updating initially for zero stats 2014-09-13 02:56:06 +02:00
Marc Zinnschlag
b5d5eadf79 Merge remote-tracking branch 'scrawl/master' 2014-09-11 09:01:21 +02:00
scrawl
f3d4b63aaf Fix AI moving load doors and throw an exception when trying to do this (Fixes #1907) 2014-09-11 05:53:56 +02:00
scrawl
dd5f4947d7 Add a TODO comment 2014-09-09 05:05:20 +02:00
scrawl
56cd0da522 Fix potential infinite recursion when an area effect spell is reflected (Fixes #1896) 2014-09-09 04:44:14 +02:00
MiroslavR
21eb25706c Don't pursue the player for their crimes when they are a werewolf 2014-09-09 04:15:54 +02:00
scrawl
d2ef0d362c Implement vanilla distance threshold for AI processing (Bug #1876) 2014-09-09 01:52:48 +02:00
scrawl
780a48cd1e Don't greet dead actors in AiWander 2014-09-09 00:43:12 +02:00
scrawl
a9847c9453 Fix creature attacking flag not being reset after the attack starts (Fixes #1889) 2014-09-09 00:27:25 +02:00
scrawl
adbc50366b Use random attack strength for creatures (Bug #1876)
Determining the attack strength from the time the wind-up animation was held will not work properly, as most creatures don't have this animation.

This fixes another balancing issue with Rieklings (they were previously using an attack strength of 1 every time).
2014-09-07 18:55:59 +02:00
scrawl
31b31115af Fix AI not using Restore Health effect when it is complemented by unnecessary restore magicka/fatigue effects (e.g. in sc_purityofbody) 2014-09-07 18:55:59 +02:00
MiroslavR
931e778b4d Initialize mHasMovedInXY in CharacterController 2014-09-06 21:31:48 +02:00
MiroslavR
007404e17f Merge branch 'master' of github.com:OpenMW/openmw 2014-09-06 14:54:59 +02:00
MiroslavR
b1a449a0b9 Fix wolfrun sound playing all the time when running is default 2014-09-06 05:52:47 +02:00
MiroslavR
c1cc66985d Werewolf: only NPCs should have modified fight and react to your transformation 2014-09-06 03:09:11 +02:00
scrawl
282c93ccc5 Handle death in actor update rather than instantly (Fixes #1866) 2014-09-05 17:17:45 +02:00
MiroslavR
9e0d5dc28a Werewolf: can't sleep in beds anymore, actors will attack you on sight, and if you are seen transforming, you will be marked for death 2014-09-05 01:58:57 +02:00
scrawl
628d57f18c Merge branch 'master' of https://github.com/OpenMW/openmw 2014-09-03 04:55:24 +02:00
scrawl
84a0d064cd Fall back to regular death animation if deathknockdown/deathknockout don't exist (Fixes #1870) 2014-09-02 15:14:23 +02:00
Marc Zinnschlag
4894699eba Merge remote-tracking branch 'scrawl/master' 2014-09-02 09:04:19 +02:00
MiroslavR
7dfba0ae30 Followers with high fight should not engage in combat with the player 2014-09-01 03:43:53 +02:00
scrawl
9caff1d800 Don't say Idle voices when player is not in LOS (Fixes #1436) 2014-09-01 02:21:54 +02:00
scrawl
0da4757ee6 Merge branch 'master' of github.com:scrawl/openmw 2014-09-01 02:04:18 +02:00
Corporama
ccca6db865 Compile fixes for Linux 2014-08-30 23:11:09 +02:00
scrawl
9d6ca9066f Fix summoned creatures not following for non-player summoners 2014-08-30 18:48:28 +02:00
scrawl
180a831e96 Fix typo in combat distance 2014-08-30 18:38:24 +02:00
scrawl
58945c557a Add sound for casting enchanted item with insufficent charge (Fixes #1857) 2014-08-30 02:47:35 +02:00
scrawl
a62e40f4ed Add situational AI use of Feather, Dispel and Cure effects 2014-08-29 17:58:32 +02:00
cc9cii
fa0352cd75 fix typo 2014-08-29 10:47:44 +10:00
cc9cii
961b4f0142 Suppress a warning. 2014-08-29 07:48:52 +10:00
scrawl
0be1ac1343 Enable casting of NoMagnitude effects in AI (e.g. summoned creatures) 2014-08-28 21:37:18 +02:00
scrawl
feeb740497 Fix bone not found exception for golden saint spellcasting 2014-08-28 17:02:11 +02:00
scrawl
0f43592237 Another invalid iterator fix 2014-08-28 16:47:54 +02:00
scrawl
f91d639782 Add missing soul trap sound (Fixes #1855) 2014-08-28 16:30:42 +02:00
scrawl
253036abee Play VFX_Soul_Trap on successful soul trap 2014-08-28 02:55:36 +02:00
scrawl
f8f4d2dfdb Another invalid iterator fix 2014-08-28 02:14:30 +02:00
scrawl
1a98f8ca93 Invalid iterator fix 2014-08-28 02:09:00 +02:00
scrawl
2e623bac5a Don't attempt to use broken weapons in AI 2014-08-28 02:01:41 +02:00
scrawl
0bdc1b243a Consider weapon ammunition in combat AI (Fixes #1576) 2014-08-28 01:54:32 +02:00
scrawl
0fe9612afb Implement basic spellcasting AI (Fixes #961)
Select a weapon to attack with in AiCombat and equip it (Fixes #1609, Fixes #1772)
2014-08-28 00:55:37 +02:00
scrawl
fc7ed05da8 Knock out actors when fatigue base is 0 (Fixes #1847) 2014-08-26 03:02:06 +02:00
scrawl
854491ac15 Don't treat actors as following if another non-combat AiPackage precedes (Fixes #1843) 2014-08-26 02:09:23 +02:00
scrawl
7714192e28 Remove wrong comment 2014-08-26 02:09:23 +02:00
MiroslavR
fc789265e2 Spells that always succeed should not increase your skill when you cast them 2014-08-24 20:36:31 +02:00
Marc Zinnschlag
d024c1a93f Merge remote-tracking branch 'scrawl/master' 2014-08-24 09:14:17 +02:00
scrawl
c5c822ecba Use Chop attack when walking diagonally (Fixes #1729) 2014-08-24 02:38:00 +02:00
scrawl
e0e4cbbb41 Implement Light magic effect (Fixes #1122) 2014-08-24 02:37:59 +02:00
scrawl
3dbe17b6ed Terminate AiPursue when target dies (Fixes #1836) 2014-08-24 02:37:59 +02:00
MiroslavR
85aa237baf Implement removal of corprus spells 2014-08-22 03:34:31 +02:00
MiroslavR
2cbe17ca0a Make Spells::mCorprusSpells private 2014-08-20 12:40:38 +02:00
MiroslavR
26732bc228 Purge blight should not remove corprus 2014-08-19 22:13:37 +02:00
MiroslavR
96e7ff666d Implement saving/loading of corprus stats, remove redundant code 2014-08-19 03:17:31 +02:00
MiroslavR
3722c7adc3 Initial work on implementing corprus worsening effect 2014-08-18 15:33:12 +02:00
scrawl
9b38888ac9 Add missing AiFollow ActorId initialization (Fixes #1818) 2014-08-17 17:01:04 +02:00
scrawl
bcc79919a7 Fix fortified skill not immediately updating on changing equipment 2014-08-17 05:42:52 +02:00
scrawl
360c7f863c Store magic effect Base values in savegame (Fixes #1489) 2014-08-17 05:38:48 +02:00
scrawl
2db50da8dd Implement magic effect script instructions (Feature #1489) 2014-08-17 05:09:14 +02:00
scrawl
d8943aef2f Encapsulate magic effect magnitude (Feature #1489) 2014-08-17 03:58:04 +02:00
scrawl
084cc857d4 Update magic effects when changing equipment (Fixes #1646) 2014-08-15 01:13:38 +02:00
scrawl
1bb82c710c Fix use of uninitialized memory in AiWander::init 2014-08-14 18:55:54 +02:00
scrawl
061c7813f6 AiFollow: return from execute() if target is not player (Fixes #1637) 2014-08-14 02:14:13 +02:00
scrawl
f8010c09fe Adjust combat engagement of following actors (Fixes #1810) 2014-08-14 02:13:55 +02:00
scrawl
d649c19790 Cache ActorId in AiFollow::getTarget (Fixes #1804) 2014-08-13 16:00:32 +02:00
scrawl
8ae6796b2f Play creature movement animation without scaling if a fallback is used (Fixes #1797) 2014-08-13 01:53:56 +02:00
scrawl
8866b5f860 Fix maximum magicka calculation (Fixes #1795) 2014-08-11 19:07:14 +02:00
scrawl
34847baa54 Disable head animations for dead actors (Fixes #1781) 2014-08-11 05:00:13 +02:00
scrawl
98bc4618cb AiAvoidDoor: turn and walk forward instead of backwards or sideways (Fixes #1788) 2014-08-11 04:21:04 +02:00
scrawl
fcd2a9e4d5 Don't set magic effects for dead actors (Fixes #1783) 2014-08-10 23:52:32 +02:00
scrawl
4138c3e966 Reuse health of previous level rather than recalculating initial health (Fixes #1787) 2014-08-10 17:09:14 +02:00
scrawl
a731ec3587 Remove summoned creature and its effect when it is killed (Fixes #1341) 2014-08-08 15:46:32 +02:00
scrawl
22d7d8a466 Implement Command creature/humanoid magic effects (Fixes #1120) 2014-08-07 17:21:07 +02:00
scrawl
2bfcec53bf Don't show sMagicInvalidTarget for soultrap on NPCs (Fixes #1762)
Note the message was accurate, since NPCs can't be soultrapped. Maybe vanilla doesn't show it to not spam the screen with message boxes when attacking with a "soultrap on strike" weapon...
2014-08-06 20:13:58 +02:00
scrawl
a9a7a7ec73 Use Modified attribute values to derive magicka and fatigue (Fixes #1760) 2014-08-06 20:13:58 +02:00
scrawl
1fc424ce30 Make sure player doesn't get any AI packages (Bug #1749) 2014-08-06 20:13:57 +02:00
Marc Zinnschlag
33c36bf0df Merge remote-tracking branch 'scrawl/master' 2014-08-03 22:23:48 +02:00
scrawl
639ae7e06c Implement friendly hits on followers (Fixes #1139) 2014-08-03 16:24:16 +02:00
scrawl
2d74388a76 Don't report crime if we are in combat with the victim 2014-08-03 16:24:16 +02:00
scrawl
216ebac2e9 Implement weapon condition damage for ranged weapons (Fixes #1746) 2014-08-03 16:24:11 +02:00
Marc Zinnschlag
dbf5613d8c cleanup 2014-08-03 09:28:44 +02:00
Digmaster
a32ab842ae Added ForceJump/ForceMoveJump commands 2014-08-02 22:42:40 -07:00
scrawl
175cc98e64 Make magic effects with no corresponding resistance attribute unresistable (Fixes #1727) 2014-07-31 01:14:44 +02:00
scrawl
78bd516ab4 Show sMagicInvalidTarget for an invalid soultrap target (Fixes #1728) 2014-07-30 15:26:10 +02:00
Michał Ściubidło
f754e06be9 Fix for bug 1685 2014-07-30 07:47:09 +01:00
scrawl
45af34d189 Merge branch 'master' of https://github.com/OpenMW/openmw 2014-07-29 19:35:44 +02:00
Michał Ściubidło
bd3729a6cb Add grace periods for player greeting.
Add delay for NPC greating. NPC ignores greeted player after some time.
Fixes bug 1503.
2014-07-28 23:45:26 +01:00
Michał Ściubidło
d47bfbe69c Implement AI greeting states.
Greeting consist of 3 phases:
- none - default one, greeting state can only change to "in progress"
  when near enough and some time passes
- in progress - NPC says his greating and rotates toward player,
  state can only change to "done" after some time
- done - rotation is stoped, after idling can go away from player,
  state can only change to "none" when player and NPC are faraway
2014-07-28 23:45:26 +01:00
Michał Ściubidło
20efeea5d9 AI tell their greatings even when player is moving (like morrowind).
Greating reset distance was greatly inflated comparing with morrowind.
2014-07-28 23:45:26 +01:00
scrawl
8455ed6279 Cancel upper body animations when knocked down 2014-07-28 19:51:29 +02:00
scrawl
5349699172 Only show "target resists magic" message for spells cast by player 2014-07-28 17:54:48 +02:00
scrawl
f67b7dae91 Sheath weapon in all Ai packages except for AiCombat 2014-07-28 17:32:14 +02:00
scrawl
d956df83e4 Don't make guards fight non-aggressive creatures that are in combat
Ex. summoned creature that is helping in a fight.
2014-07-28 17:19:20 +02:00
scrawl
d9a6515fe3 Adjust AiFollow running threshold to more closely match vanilla MW 2014-07-28 17:11:46 +02:00
scrawl
4773d754c6 Remove redundant isHostile flag (Fixes #1652) 2014-07-28 16:41:12 +02:00
scrawl
0077296c91 Take actor's speed into account in stuck check
The Winged Twilight's walking animation was so slow that it incorrectly detects being stuck.
2014-07-28 15:57:16 +02:00
scrawl
315b022d2d Add transfer gold from all services to NPC trade gold pool 2014-07-28 00:55:57 +02:00
scrawl
6262d6c964 Don't leave stale player CharacterController in Actors when loading game (Fixes #1713) 2014-07-27 23:10:58 +02:00
scrawl
d81e9cfefd Implement actors fighting for the actor they are following (Fixes #1141) 2014-07-27 20:33:45 +02:00
scrawl
09607f992e Enchanting: fix inverted self-enchant success chance (Fixes #1701) 2014-07-27 20:33:44 +02:00
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
scrawl
3cdbcf3c28 Merge branch 'actorid' of https://github.com/OpenMW/openmw
Conflicts:
	apps/openmw/mwmechanics/creaturestats.cpp
2014-05-14 02:35:05 +02:00
Thomas
203ef580cf Fixed moving activatable object being incorrectly activated. 2014-05-13 20:32:29 -04:00
scrawl
365ca6c7e1 Fixes #1331: Manually disable movement state for dead actors.
For dead actors, refreshCurrentAnims is no longer called, so we need to disable the movement state manually.
2014-05-13 21:47:45 +02:00
Thomas
6d540c4e07 Removed merging error 2014-05-13 14:24:48 -04:00
Thomas
680890c846 Clarification on some documentation points 2014-05-13 14:21:59 -04:00
Thomas
d6d4d9f75d Removed destructor documentation 2014-05-13 14:08:08 -04:00
Thomas
ee36ace00b Undid some code clean up changes, and changed how some includes work 2014-05-13 13:43:50 -04:00
Thomas
598221a8e7 Forgot some files 2014-05-13 13:07:27 -04:00
scrawl
e591d23880 Fixes #894: Make sure the player's CharacterController is updated when the player is rebuilt. Necessary if the race is changed while we are still in a GUI (e.g. in the review dialog), and an update normally wouldn't occur. 2014-05-13 19:01:02 +02:00
Thomas
9dbe53c722 Merge remote-tracking branch 'upstream/master' 2014-05-13 04:11:07 -04:00
Thomas
2db3c89a9e Ensures destination is far enough to care about getting stuck 2014-05-13 04:09:21 -04:00
Thomas
cbfa282f8d Changed implementations of aifollow/pursue/activate slightly, added ability for NPCs to go through unlocked doors (They even try locked ones), and step back from opening doors (Although it still needs some work)
Notes - When the door hits them while it's about to finish closing they will try to walk through the door.
      - Considerably more works is needed in making the NPC work out troublesome areas where they get stuck
2014-05-13 03:58:32 -04:00
Thomas
2c74ea381e Moved pathfinding code to aiPackage, implemented it's use with aiFollow and aiPursue 2014-05-12 21:05:32 -04:00
scrawl
386604bc9d Fixes #869: Added methods to control external and internal collision modes separately
When an actor dies, we should only disable external collisions, i.e. prevent other actors from colliding with the dead body. The dead actor, however, should still have gravity and collision applied.

Also moved disableCollision to when the death animation finishes, not as soon as the actor's health is 0.
2014-05-13 01:43:52 +02:00
mrcheko
725f6cac5e AiPursue infinite package updating bug resolved 2014-05-13 00:05:30 +04:00
scrawl
6cc691115b Savegame: store most of CreatureStats 2014-05-12 21:37:36 +02:00
Thomas
645d174a96 Merge remote-tracking branch 'upstream/master'
Conflicts:
	apps/openmw/mwmechanics/aisequence.hpp
2014-05-12 14:49:08 -04:00
mrcheko
e4fe78937a Merge remote-tracking branch 'upstream/master' 2014-05-12 22:06:26 +04:00
scrawl
b0fbea9d57 Removed a wrong assertion. Max drowning time is defined by GMST. 2014-05-11 21:03:27 +02:00
Marc Zinnschlag
2009cf9ad7 Merge remote-tracking branch 'scrawl/master' into openmw-30 2014-05-10 10:48:40 +02:00
scrawl
1444cd9051 Fix AiCombat exception when actor has a lockpick/probe equipped.
Don't make NPCs autoEquip lockpicks/probes, since they can't use them.
2014-05-10 00:37:36 +02:00
scrawl
731bc9c275 Fix broken isClass check and renamed variable for clarity 2014-05-09 18:45:49 +02:00
slothlife
46eb20b98c Fixes for warnings when building with MSVC
Most warnings are innocuous (wrong type-specifier for forward
declarations, conversion of literals into unsigned integers, warnings
about methods optimized out), but I believe actual bugs were revealed in
vartypedelegate.cpp and combat.cpp.
2014-05-09 08:32:52 -05:00
cc9cii
cf23721f1b Windows debug build crash fix. 2014-05-09 20:43:24 +10:00
mrcheko
01810f24b0 A* misses 1st closest node fix 2014-05-06 23:29:39 +04:00
Marc Zinnschlag
729e079b0b Merge remote-tracking branch 'scrawl/master' 2014-05-06 20:18:19 +02:00
scrawl
1c8c26072d Crime and self defense fixes
- NPCs should still shout messages such as "thief" even if they did not report the crime
 - Fixed self defense for NPCs (they no longer attack the player when they were attacked by a non-player actor)
 - Fixed self defense for creatures (Fixes #1203)
2014-05-06 19:15:43 +02:00
scrawl
d2beb814e7 Remove superfluous attack phrases (already done by startCombat) 2014-05-06 18:05:53 +02:00
scrawl
dd9117809d Say an attack phrase when combat starts
Move combat start to a helper method

Added some todo comments
2014-05-06 00:13:31 +02:00
Jeffrey Haines
d4812c3af9 fixed placement of else statement 2014-05-04 17:54:33 -04:00
Jeffrey Haines
78f76842a6 Added else statement
Its still dodgy though
2014-05-04 16:56:30 -04:00
Jeffrey Haines
7d5dab214c #58 - Sneak Skill: functional sneaking
Removed sneak checking from individual actor update.
Added sneak checking to Actors::update()
2014-05-04 16:20:09 -04:00
Jeffrey Haines
a65e8393bb Merged files 2014-05-04 11:33:27 -04:00
mrcheko
f596b698d9 fixes to slow-down at jump startup and infinite air intertia growth 2014-05-04 18:15:07 +04:00
Jeffrey Haines
a469444e53 Player can't detect self 2014-05-04 08:05:32 -04:00
Thomas
dbf06d8c8b Merge remote-tracking branch 'upstream/master'
Conflicts:
	apps/openmw/mwmechanics/aipursue.hpp
	apps/openmw/mwmechanics/aisequence.hpp
2014-05-04 02:06:43 -04:00
Jeffrey Haines
e1e23447f2 Removed initial check form setSneak
It wasn’t needed.
2014-05-03 13:16:07 -04:00
Jeffrey Haines
05e326bdc3 Added update sneak to actors
Intends to check the state of a players sneak by asking the question if
each npc can see the player.
2014-05-03 12:48:07 -04:00
scrawl
658c37a299 AiPursue: If we reached the path end, that does not mean we reached the target. Rebuild the path if the target has moved in the meantime.
Fixes guards in pursuit activating the dialogue too early.

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

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

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

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

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

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

Is class now uses case insensitive comparison.

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