David Cernat
59a56ca35e
[Client] Disallow clients from scaling their associated players
...
Additionally, display messages when trying to scale players.
2018-07-12 03:29:38 +03:00
David Cernat
8ca29dbaac
[Client] Fix remaining mistakes in debug for received ActorAI packets
2018-07-11 23:11:37 +03:00
David Cernat
25f7a55495
[Client] Improve debug for received ActorAI packets
2018-07-11 19:54:56 +03:00
David Cernat
bff6e9e235
[General] Implement ActorAI packet, part 5
...
Allow repetition for AiWander package to be turned on and off.
2018-07-10 23:18:32 +03:00
David Cernat
2e31c212c0
[Client] Make any ActorAI packet override an actor's desire to fight
2018-07-10 11:33:07 +03:00
David Cernat
79ee976c95
[Client] Implement ACTIVATE action in DedicatedActor::setAI()
...
Additionally, clean up usage of CreatureStats in DedicatedActor.
2018-07-10 11:31:51 +03:00
David Cernat
00c13ae96c
[General] Implement ActorAI packet, part 4
...
The server can now make actors activate players and objects, at least in theory. In practice, OpenMW''s AiActivate package needs to be worked so it allows specific objects as targets instead of just refIds.
2018-07-10 07:07:37 +03:00
David Cernat
0e13207afe
[General] Implement ActorAI packet, part 3
...
The server can now cancel actor AI, make actors travel to a location, make actors wander, and make actors get escorted by a player or another actor.
2018-07-10 05:07:58 +03:00
David Cernat
5baef09f79
[General] Implement ActorAI packet, part 2
...
The server can now make actors start combat with players or other actors.
2018-07-10 02:47:52 +03:00
David Cernat
5628f3b977
[Client] Fix debug for DedicatedActor::setAI()
2018-07-10 02:05:10 +03:00
David Cernat
b86155dc11
[Client] Allow AiFollow package to have infinite distance when desired
2018-07-10 01:40:57 +03:00
David Cernat
864c66d1d4
[Client] Make sure hasAiTarget is set correctly for DedicatedActors
2018-07-10 01:35:38 +03:00
David Cernat
3ed9d89280
[General] Use separate variables for video & music filenames in packets
2018-07-07 14:40:35 +03:00
David Cernat
509882b5f6
[Client] Rework MechanicsHelper::getTarget() to avoid crashes
2018-07-07 11:43:57 +03:00
David Cernat
4eb72eecb1
[Client] Fix crash for invalid CellRefs in MechanicsHelper::getTarget()
2018-07-06 18:39:14 +03:00
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
c2411982d2
[Client] Log object refNumIndexes and mpNums in a consistent way
2018-07-04 21:54:11 +03:00
David Cernat
8a23a96da4
[Client] Update initialization of AiFollow packages in multiplayer code
2018-07-04 04:00:12 +03:00
Koncord
c5c1a160b2
[Client] Comment out an unused variable
2018-07-03 03:35:48 +08: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
958b220835
[General] Send summon duration to server in ObjectSpawn packets
2018-07-01 00:43:29 +03: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
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
David Cernat
deda6ec071
[Client] Don't send WorldMap packets for already explored map tiles
2018-06-25 02:34:11 +03:00
David Cernat
7e90d1f2a4
[Client] Fix interior-to-exterior and v.v. cell transitions for actors
...
Make sure only players who are cell authorities can get actors to teleport across cells for them, and display a message box for players who are not cell authorities.
2018-06-21 16:44:49 +03:00
David Cernat
aa3639f2da
Merge pull request #450 from TES3MP/0.6.2
...
Add 0.6.2 commits up to 19 Jun 2018
2018-06-19 05:26:38 +03:00
David Cernat
5b461b09ca
[Client] Display error when receiving ID_INCOMPATIBLE_PROTOCOL_VERSION
2018-06-19 05:24:26 +03:00
David Cernat
29be79e852
[General] Switch RakNet enums to CrabNet enums
...
CrabNet is TES3MP's fork of RakNet that has deviated too far from RakNet to still be compatible with it.
2018-06-19 00:37:52 +03:00
David Cernat
72862dc255
[General] Turn PlayerMap into WorldMap, now a Worldstate packet
2018-06-07 12:51:45 +03:00
David Cernat
0d0c4ac235
[Client] Use REPLY_TO_REQUEST container sub-action for partial requests
2018-06-05 19:40:39 +03:00
David Cernat
83014d6381
[Client] Set actors as the owners of their items when editing containers
2018-06-05 14:55:57 +03:00
David Cernat
494edbe5cb
[General] Add REPLY_TO_REQUEST container sub-action
2018-06-05 14:16:27 +03:00
David Cernat
8ea9485e6b
[Client] Make container debug information more useful
2018-06-05 12:01:16 +03:00
David Cernat
3efe05a88e
[General] Implement WorldCollisionOverride packet
2018-05-27 16:05:40 +03:00
David Cernat
e8ec031a81
[Client] Create Worldstate class that inherits BaseWorldstate
2018-05-27 15:57:47 +03:00
David Cernat
f7a084c824
[Client] Use faster check for whether actors are DedicatedPlayers
2018-05-26 08:13:26 +03:00
David Cernat
416ee77639
[General] Add placeholder for WorldCollisionOverride packet
2018-05-25 07:09:32 +03:00
David Cernat
2edb511a0b
[Client] Remove unnecessary condition from WorldTime processor
2018-05-25 07:08:51 +03:00
David Cernat
3b5fb9cd6b
[General] Make it possible to set year via WorldTime
2018-05-25 03:33:12 +03:00
David Cernat
4acf93b7db
[General] Make it possible to set days passed via WorldTime
2018-05-24 14:02:04 +03:00
David Cernat
46744ee90f
[General] Make WorldTime script functions more consistent with others
2018-05-24 09:38:06 +03:00
David Cernat
8d36d0d945
[General] Make it possible to change world's time scale via WorldTime
2018-05-23 08:31:25 +03:00