Commit graph

279 commits

Author SHA1 Message Date
dteviot
3f28634d1f consolidate random number logic
Note, I suspect Rng::rollClosedProbability() is not needed.  The only difference between it and rollProbability() is that one time in 37k (on Windows), it will give an output of 1.0.
On some versions of Linux, the value of 1.0 will occur about 1 time in 4 billion.
2015-03-15 14:07:47 +13:00
dteviot
e6cd8484a2 fixing MSVC 2013 warning C4244: & C4305
fixes for mistakes in last commit.
2015-03-08 13:22:56 +13:00
dteviot
e197f5318b fixing MSVC 2013 warning C4244: & C4305
conversion from 'const float' to 'int', possible loss of data
conversion from 'double' to 'int', possible loss of data
conversion from 'float' to 'int', possible loss of data
2015-03-08 13:07:29 +13:00
scrawl
bea88c3643 Stolen item tracking overhaul part 2 (Fixes #2338) 2015-02-06 01:27:16 +01:00
scrawl
aa6ebcd75c Change stolen items handling to match MW (Fixes #1443, Fixes #2290) 2015-02-05 04:18:43 +01:00
scrawl
431f540791 ESSImport: fix NPC factions 2015-01-27 23:12:21 +01:00
scrawl
c883a73d30 Several warning fixes 2015-01-23 15:34:47 +01:00
scrawl
708dbc2518 Crime fix 2015-01-05 20:31:50 +01:00
scrawl
a8ae0dec52 Implement AiWander fast-forward (Feature #1125) 2014-12-31 18:41:57 +01:00
scrawl
a62fe38a1b Fix unsafe use of BaseNode 2014-12-27 15:02:05 +01: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
edc128572d Add MWMechanics::Actor class for temporary actor state, move AiState there 2014-12-24 15:45:14 +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
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
35d2bfabca Adjust NPC response to pickpocket attempts (Fixes #2219) 2014-12-24 15:45:12 +01:00
scrawl
2b78e9795d Implement Calm effect removing combat packages (Fixes #1985) 2014-12-14 19:35:34 +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
109a3f78a1 Adjust AiFollow distance for groups of multiple followers (Fixes #1637) 2014-12-09 16:06:04 +01:00
scrawl
83dcf9ce4b Overwrite existing records in IndexedStore (Fixes #2182) 2014-12-05 15:58:05 +01: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
45f14f0704 Fix stolen faction-owned items not being confiscated 2014-10-31 00:25:37 +01:00
scrawl
7f18f85a1d Forgot const 2014-09-29 12:04:19 +02:00
scrawl
02dec787fd Cache GMSTs in getDerivedDisposition 2014-09-27 22:44:20 +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
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
Marc Zinnschlag
2a48c377a8 Merge remote-tracking branch 'miroslavr/master' 2014-09-19 15:55:24 +02:00
scrawl
c19f89976e Add missing Hit voice dialogue for friendly hits 2014-09-18 05:13:17 +02:00
MiroslavR
23e6d52844 Fix UI not updating initially for zero stats 2014-09-13 02:56:06 +02:00
MiroslavR
007404e17f Merge branch 'master' of github.com:OpenMW/openmw 2014-09-06 14:54:59 +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
Corporama
ccca6db865 Compile fixes for Linux 2014-08-30 23:11:09 +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
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
4773d754c6 Remove redundant isHostile flag (Fixes #1652) 2014-07-28 16:41:12 +02:00
scrawl
d81e9cfefd Implement actors fighting for the actor they are following (Fixes #1141) 2014-07-27 20:33:45 +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
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
d63dd88113 Apply autocalc corrections to player starting spells 2014-07-12 18:53:16 +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
7f1d0fc2a2 Fix disposition for npcs in same faction, by Hrnchamd 2014-06-25 00:12:51 +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
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
2477456f99 Implement Murder crimes and OnMurder instruction (Fixes #1315) 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
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
e458cf1df2 Savegame: Store death counter (Fixes #1477) 2014-06-13 02:26:53 +02:00
scrawl
1bab74a98d Fix punishment for stealing 0 value items (Fixes #1435) 2014-06-09 03:42:29 +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
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
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
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
scrawl
b6a7aee42e Fix player not being allowed to use his own items 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
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
scrawl
6cc691115b Savegame: store most of CreatureStats 2014-05-12 21:37:36 +02:00
scrawl
731bc9c275 Fix broken isClass check and renamed variable for clarity 2014-05-09 18:45:49 +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
a65e8393bb Merged files 2014-05-04 11:33:27 -04:00
Jeffrey Haines
14ebd8b110 Fixed logic in commit crime 2014-04-30 07:44:29 -04:00
Marc Zinnschlag
af322a9f77 Merge remote-tracking branch 'scrawl/master' 2014-04-28 10:48:57 +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
scrawl
e42855d522 Minor fix for spell icon 2014-04-27 12:54:18 +02:00
scrawl
e8210c92c6 Fixes #1240: Don't hardcode drowning time 2014-04-27 04:27:26 +02:00
scrawl
04964595ef Fixes #1270, Fixes #1201: Update active weapon/spell icons every frame 2014-04-26 16:44:20 +02: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
Marc Zinnschlag
a91b386381 Merge remote-tracking branch 'jeffreyhaines/master' 2014-04-20 13:34:58 +02: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
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
Marc Zinnschlag
86e65944b8 Merge remote-tracking branch 'jeffreyhaines/master'
Conflicts:
	apps/openmw/CMakeLists.txt
2014-04-15 11:31:48 +02:00