David Cernat
4b30a44816
[Client] Compare crimeTime and deathTime when NPCs forgive player crimes
...
Previously, all crime witnesses stopped being hostile to a respawning player for as long as the player's diedSinceArrestAttempt was true. That meant that, in an area with no guards to arrest the player, crime witnesses did not enage in combat with the player at all ever again until diedSinceArrestAttempt became false.
This commit makes it so the time of the last crime is recorded for each witness, and that is then compared with the time of the LocalPlayer's last death for a one-time crime forgiveness during that player's current life.
This is essentially a gameplay adjustment for "singleplayer with respawns," and will have to be reworked to make sense for every player in multiplayer, though that requires reworking the crime system as a whole and is thus on hold.
2018-07-06 14:17:54 +03:00
David Cernat
c075496748
[General] Replace deathReason in death packets with a killer variable
...
Add serverside script functions for determining the killers of both players and actors.
Use unsigned ints for script functions returning an object or actor's refNumIndex or mpNum.
Remove updateDeadState() from LocalPlayer and make its code part of updateStatsDynamic() for simplicity.
2018-07-05 22:24:51 +03:00
David Cernat
76731f5def
[Client] Don't remove SummonKeys with actorIds of -1
...
This prevents summon duplication caused by a SummonKey sometimes being deleted immediately after being created, before the server can send back an ObjectSpawn packet spawning a creature that can be attached to the SummonKey.
2018-07-05 01:11:45 +03:00
David Cernat
a236ffc4be
Merge pull request #456 from OpenMW/master while resolving conflicts
...
# Conflicts:
# .travis.yml
# README.md
# apps/openmw/mwgui/quickkeysmenu.cpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwmechanics/combat.cpp
2018-07-04 01:52:29 +03:00
Koncord
53346e2663
[Client] Return 0 if effect not found
2018-07-03 03:43:38 +08:00
David Cernat
8ce225b1cc
[Client] Use the casters of damage-dealing spells as death reasons
2018-07-02 00:42:32 +03:00
David Cernat
958b220835
[General] Send summon duration to server in ObjectSpawn packets
2018-07-01 00:43:29 +03:00
Capostrophic
bccba24c40
Make unarmed creature attacks not affect armor condition ( fixes #2455 )
2018-06-29 20:18:28 +03:00
Andrei Kortunov
5455490ad2
Avoid fall-through in spell selection
2018-06-28 11:12:48 +04:00
Andrei Kortunov
3c7ab976c3
Ignore movement from scripted animations (bug #4475 )
2018-06-27 08:22:45 +04:00
Andrei Kortunov
c9756cee4c
Fast-forward death animation to end if death animation was finished earlier (regression #4468 )
2018-06-20 12:37:58 +04:00
Capostrophic
6c23caadd7
Fix crash when a target in a different cell is (un)locked
2018-06-19 20:43:18 +03:00
Capostrophic
0c4fa55f16
Make Open spells casted by anything trigger player crime event ( fixes #4461 )
2018-06-19 17:04:38 +03:00
Andrei Kortunov
5fd3ec1035
Implement unlockable locks with 'lock 0' console command
2018-06-19 14:17:33 +04:00
Marc Zinnschlag
a8ad530db9
Merged pull request #1749
2018-06-19 11:33:08 +02:00
Marc Zinnschlag
2a52ade219
Merged pull request #1760
2018-06-19 11:26:41 +02:00
Andrei Kortunov
e08b0d3070
Ignore lights without CanCarry flags when NPC selects torch (bug #4457 )
2018-06-16 17:34:49 +04:00
Andrei Kortunov
9c3da41130
Add murder bounty when a player follower commits murder (bug #2852 )
2018-06-15 14:31:09 +04:00
Marc Zinnschlag
2b35c5efd7
Merge remote-tracking branch 'upstream/master'
2018-06-13 18:13:15 +02:00
Marc Zinnschlag
aea481eacb
Merged pull request #1753
2018-06-13 18:12:38 +02:00
Andrei Kortunov
61c968d550
Ignore broken items when search for replacement (bug #4453 )
2018-06-13 18:39:02 +04:00
Andrei Kortunov
81b78a82e8
AI: try to open doors every AI_REACTION_TIME seconds (bug #4454 )
2018-06-13 17:47:32 +04:00
Bret Curtis
3e4dc31e39
Merge branch 'master' into fatigue
2018-06-13 10:04:32 +02:00
Andrei Kortunov
9c45cc7e48
Use player reference instead of pointer
2018-06-12 22:05:00 +04:00
Andrei Kortunov
f299be8158
Play scripted animations even if SkipAnim is used
2018-06-12 16:07:36 +04:00
Andrei Kortunov
25bb7c1826
Make 'PlayGroup idle' to cancel scripted animations
2018-06-12 14:04:03 +04:00
Andrei Kortunov
0e441d48ac
Give scripted animations highest priority (bug #4286 )
2018-06-12 12:55:28 +04:00
Andrei Kortunov
0c92655250
Avoid code duplication in character manager
2018-06-12 11:51:54 +04:00
Andrei Kortunov
e3812f4075
Check creature stats only for actors
2018-06-12 11:27:18 +04:00
Andrei Kortunov
ebaa6fb5a2
Play death scream only once
2018-06-12 09:55:43 +04:00
Andrei Kortunov
427be928d0
Do not update animation state for dead actors
2018-06-11 23:17:54 +04:00
Andrei Kortunov
977a27ecb7
Do not clear corpses until end of death animation (bug #4307 )
2018-06-11 22:29:32 +04:00
Andrei Kortunov
a42c663fd7
Do not interrupt scripted animations by death animation (bug #4286 )
2018-06-11 18:53:25 +04:00
Andrei Kortunov
d0619cfb35
Play death animation for non-persisting actors with 0 health (bug #4291 )
2018-06-11 18:52:20 +04:00
Andrei Kortunov
6099735c60
Early out only when scripted animation is playing
2018-06-11 17:52:58 +04:00
Andrei Kortunov
e234dd2a36
Do not interrupt scripted animations
2018-06-11 17:18:51 +04:00
Andrei Kortunov
9fd2d57b86
Move previous items to player
2018-06-10 16:21:19 +04:00
Andrei Kortunov
f977c6876f
Bound items: store item ID instead of pointer
2018-06-10 16:21:19 +04:00
Andrei Kortunov
4de9d9fa77
Split adjustBoundItem()
2018-06-10 16:21:19 +04:00
Andrei Kortunov
d1b1cb748d
Reequip previous item only if the expired bound item was equipped
2018-06-10 16:21:19 +04:00
Andrei Kortunov
9b72a6ac69
Use the MWWorld::Ptr() instead of string ID
2018-06-10 16:21:19 +04:00
Andrei Kortunov
0375bedab2
Equip previous item after a bound item expires (bug #2326 )
2018-06-10 16:21:19 +04:00
Andrei Kortunov
ae87e0d3fc
Do not reset mUpperBodyState for weapon->weapon switch (regression #4446 )
2018-06-09 15:34:08 +04:00
Marc Zinnschlag
7d9de93fd3
Merged pull request #1477
2018-06-09 10:52:35 +02:00
Andrei Kortunov
6ed2773299
Do not stack return packages
2018-06-08 21:53:47 +04:00
Andrei Kortunov
74a2cbe696
AI: return back after pursuit
2018-06-08 21:53:47 +04:00
Andrei Kortunov
3d0631cfcc
Store last AI package in savegame
2018-06-08 21:53:47 +04:00
Andrei Kortunov
3a0ee78d2b
AiTravel: store mHidden flag in savegame
2018-06-08 21:53:47 +04:00
Andrei Kortunov
2f5beb8853
Remove unnecessary hack
2018-06-08 21:53:47 +04:00
Andrei Kortunov
57d686131e
Remove redundant condition
2018-06-08 21:53:47 +04:00