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
c23fc3446f
[Client] Avoid sending map tiles for Wilderness cells
2018-07-06 03:54:34 +03:00
David Cernat
17c234d9ca
[Client] Use initial values for LocalPlayer and LocalActor killers
2018-07-06 02:07:55 +03:00
David Cernat
97cd3effa7
[Client] Make actor debug consistent with object debug
2018-07-06 00:32:45 +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
f02492a593
[General] Temporarily include target names in mwmp::Target
...
These will be removed once the server can get the names matching refIds by reading content files.
2018-07-05 19:40:28 +03:00
David Cernat
691b332d03
[Client] Use MechanicsHelper::getTarget() for summoners in ObjectList
2018-07-05 16:38:03 +03:00
David Cernat
130a32ebb0
[Client] Add new methods for handling mwmp::Target in MechanicsHelper
2018-07-05 16:36:52 +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
c2411982d2
[Client] Log object refNumIndexes and mpNums in a consistent way
2018-07-04 21:54:11 +03:00
David Cernat
7775780ad7
[Cllient] Update multiplayer code for handling quick keys
2018-07-04 05:56:10 +03:00
David Cernat
8a23a96da4
[Client] Update initialization of AiFollow packages in multiplayer code
2018-07-04 04:00:12 +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
fa2bf0663e
[General] Simplify vectorContains
2018-07-03 18:41:03 +08:00
Koncord
53346e2663
[Client] Return 0 if effect not found
2018-07-03 03:43:38 +08:00
Koncord
c5c1a160b2
[Client] Comment out an unused variable
2018-07-03 03:35:48 +08:00
Koncord
895634cd16
[General] Change type of MpNum to "unsigned int"
2018-07-03 03:25:54 +08:00
Thunderforge
7cbc4eeb49
Adding missing override keywords
...
Prevents compiler warnings such as this:
```
/Users/Will/CLionProjects/OpenMW/apps/openmw/mwgui/windowbase.hpp:65:22: warning: 'onOpen' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
virtual void onOpen();
^
/Users/Will/CLionProjects/OpenMW/apps/openmw/mwgui/windowbase.hpp:38:22: note: overridden virtual function is here
virtual void onOpen() {}
^
```
2018-07-01 19:17:50 -05:00
David Cernat
bef53749ed
[General] Replace BaseObject's hasMaster variable with isSummon
...
Additionally, add a GetObjectSummonState() script function to the server.
2018-07-02 02:25:06 +03:00
David Cernat
8ce225b1cc
[Client] Use the casters of damage-dealing spells as death reasons
2018-07-02 00:42:32 +03:00
Finbar Crago
5d9035c6b2
[ Fixes #4482 ] Missing HandToHand on key quick key 0 (introduced in MR !11 for issue #4480 )
...
because apparently i can't count to ten...
2018-07-01 13:46:23 +10:00
David Cernat
958b220835
[General] Send summon duration to server in ObjectSpawn packets
2018-07-01 00:43:29 +03:00
Marc Zinnschlag
2ea85d0bb6
Merge remote-tracking branch 'gl_finbar-crago/fix_quickkey_segfalt'
2018-06-30 10:17:05 +02:00
Finbar Crago
09c9bd34c3
cleanup more unnecessary struct keywords...
2018-06-30 12:43:50 +10:00
Capostrophic
6e9c08083d
Add missing empty attacker checks
2018-06-29 20:35:45 +03:00
Capostrophic
bccba24c40
Make unarmed creature attacks not affect armor condition ( fixes #2455 )
2018-06-29 20:18:28 +03:00
Finbar Crago
596be205c1
cleanup unnecessary struct keywords...
2018-06-29 23:43:51 +10:00
Finbar Crago
2722ca50fb
fix QuickKeysMenu crash on reopening window after item drop + pickup [see: !11#note_85086570]
2018-06-29 23:32:05 +10:00
Finbar Crago
7ae388086b
Merge branch 'master' into fix_quickkey_segfalt
2018-06-29 12:34:53 +10:00
Finbar Crago
ed71656ea6
fix updateActivatedQuickKey() crash
...
keyboard numbers don't start at zero...
2018-06-29 01:58:57 +10:00
Finbar Crago
24d5fb09da
fix crash on simultaneous key presses
2018-06-28 22:55:02 +10:00
Bret Curtis
f07d50e5bf
Merge pull request #1785 from akortunov/warnfix
...
Fix some GCC warnings
2018-06-28 10:33:51 +02:00
Finbar Crago
d790a27060
Merge branch 'master' into fix_quickkey_segfalt
2018-06-28 18:16:00 +10:00
Andrei Kortunov
5455490ad2
Avoid fall-through in spell selection
2018-06-28 11:12:48 +04:00
Finbar Crago
80a3f0a0d4
switch mSelectedIndex/mActivatedIndex int to mSelected/mActivated keyData pointers
2018-06-28 17:02:25 +10:00
Finbar Crago
335e2c5897
add keyData struct + general cleanup
2018-06-28 13:27:08 +10:00
David Cernat
9102df7fde
[General] Make WorldCollisionOverride also work with specific refIds
...
For now, this only makes it possible to enforce collision for specific refIds for placed objects.
2018-06-28 04:53:00 +03:00
David Cernat
b81ca18316
[Client] Don't clear container Ptrs when disposing of corpses
...
The reason for this is that only the server should be determine whether a corpse can be disposed of or not.
2018-06-28 01:45:15 +03:00
Nikolay Kasyanov
5fcb091127
Replace FIXME with a detailed explanation of the issue
2018-06-27 22:40:09 +02:00
Nikolay Kasyanov
9c78364c45
Revert "Merge pull request #1771 from Xenkhan/master"
...
This reverts commit 9667dd051c
, reversing
changes made to f52e06fc19
.
2018-06-27 22:19:09 +02:00
David Cernat
7ffdb18bf9
[General] Implement ActorDeath packet, part 1
...
ActorDeath packets are sent for dead actors before their StatsDynamic packets. They contain the actor's deathReason in a manner similar to that of PlayerDeath packets.
A future commit will replace the deathReason with a variable named killer which will be an mwmp::Target.
2018-06-27 21:47:55 +03:00
Andrei Kortunov
3c7ab976c3
Ignore movement from scripted animations (bug #4475 )
2018-06-27 08:22:45 +04:00
Finbar Crago
cac6d59140
Merge branch 'master' into fix_quickkey_segfalt
2018-06-27 12:58:43 +10:00
David Cernat
7060ff59c5
[Client] Enforce the default global map cell size in multiplayer
2018-06-27 01:23:48 +03:00
David Cernat
fec500c4b0
[Client] Reduce container debug spam by requiring VERBOSE logging for it
2018-06-26 23:40:19 +03:00
David Cernat
914b79fcc9
[General] Make it possible to check which placed objects have containers
2018-06-26 16:56:08 +03:00
Finbar Crago
43c9fd4cec
check MWWorld::Ptr != NULL for MWGui ItemPtr tooltips
2018-06-26 13:41:53 +10:00
Finbar Crago
186ec8c50f
rm ContainerStore/refItem
2018-06-26 13:35:04 +10:00
Marc Zinnschlag
705b2dca0e
Merged pull request #1777
2018-06-25 11:58:12 +02:00
Marc Zinnschlag
baeaff2309
Merged pull request #1778
2018-06-25 11:57:45 +02:00