David Cernat
e6c626f127
[General] Move handling of client globals to ClientScriptGlobal packet
...
ClientScriptGlobal is a new Worldstate packet that handles short, long and float values for global variables in clientside scripts.
Previously, short values were handled by the ScriptGlobalShort packet, while a partially implemented ScriptGlobalFloat packet also existed, but both of those packets were Object packets because they were added near the end of 2016 when only Player and Object packets existed (with the latter actually being called WorldEvent packets at the time). Both ScriptGlobalShort and ScriptGlobalFloat have now been removed.
The serverside script functions previously used to interact with ScriptGlobalShort have, however, been kept so they can be adjusted to work with local variables in clientside scripts instead in a future commit.
2020-01-04 09:56:37 +02:00
David Cernat
32c7406eda
[General] Implement OnObjectHit packet, part 3
...
Include damage, block states and knockdown states in ObjectHit packets about successful hits. Add serverside script functions for reading that information.
2019-12-19 13:53:18 +02:00
David Cernat
c18aab5357
[General] Use default values of 0 for Attack floats in BaseStructs
2019-12-19 13:51:10 +02:00
David Cernat
868ad2b78f
[General] Use default value of false for Attack booleans in BaseStructs
2019-12-19 13:38:05 +02:00
David Cernat
bc093c8596
[General] Implement OnObjectHit packet, part 2
...
ObjectHit is now also sent when local actors succeed or fail in hitting other actors with melee attacks, with the packet including the success state of their attack.
It is also sent when creatures hit a non-actor object.
2019-12-13 14:00:51 +02:00
David Cernat
e98e57c797
[General] Reorder enums alphabetically in RECORD_TYPE
2019-12-08 17:23:14 +02:00
David Cernat
2973cc4f4d
[General] Implement OnObjectHit packet, part 1
...
ObjectHit is now sent when an NPC hits a non-actor object.
2019-12-08 16:14:01 +02:00
David Cernat
18cd3d1ea1
[General] Compress strings used in Object packets
2019-12-07 08:47:35 +02:00
David Cernat
9b8818687d
[General] Add mDeathAnimationFinished to mwmp::SimpleCreatureStats
2019-12-06 20:59:43 +02:00
David Cernat
980edac942
[General] Rename PlayerTeam into PlayerAlly
...
Considering that you can be allies with someone without being allied to their allies, changing the name makes the system more intuitive.
2019-12-05 19:15:11 +02:00
David Cernat
a383b7b612
[General] Include death animations in ActorDeath packets
2019-12-05 13:27:55 +02:00
David Cernat
ecf00af548
[General] Implement WorldDestinationOverride packet, part 1
...
Destinations for doors with cell transitions are now overridden.
2019-12-04 16:43:56 +02:00
David Cernat
9cb9d4b7ca
[General] Compress strings used in Worldstate packets
2019-12-04 11:01:50 +02:00
David Cernat
154a9ce5a6
[General] Fix declarations hiding class members, part 2
2019-12-04 10:17:33 +02:00
David Cernat
753e310dd4
[General] Implement PlayerTeam packet
2019-12-02 19:08:03 +02:00
David Cernat
138aef37fe
[General] Remove unused variable movementAnim from BasePlayer
2019-12-01 19:00:01 +02:00
David Cernat
446c22723e
[General] Set default values for some variables in BasePlayer
2019-12-01 18:42:56 +02:00
David Cernat
1283d5d487
[General] Synchronize TCL state for players
...
Additionally, only purge temporary levitation effect for DedicatedPlayers if one has been added.
2019-12-01 18:13:24 +02:00
David Cernat
d78bdefc01
[General] Include effect and spell ID for summons in ObjectSpawn packets
2019-12-01 13:31:11 +02:00
David Cernat
42b002e8db
[General] Reorder record types in RecordDynamic packet
...
The record types that cannot be created by players through gameplay are now sorted alphabetically after the record types that can be created by them.
2019-11-30 18:34:35 +02:00
David Cernat
23d410f473
[General] Implement body part records for RecordDynamic packet
2019-11-29 14:06:17 +02:00
David Cernat
b3747839c0
[General] Add hasRace to record overrides in RecordsDynamic packet
2019-11-29 13:28:07 +02:00
David Cernat
16662d772b
[General] Synchronize death animations for players
2019-11-29 12:52:47 +02:00
David Cernat
47443e19cb
[General] Use compression for string values used in Attack packets
2019-11-29 11:19:24 +02:00
David Cernat
140c1c9c12
[General] Use hard synchronization for melee attack animations
...
Previously, each client chose its own attack animations for DedicatedPlayers and DedicatedActors based on the direction they were walking in, which however led to desyncs for players with "Always Use Best Attack" enabled and for creatures which pick their attack animations randomly.
2019-11-29 10:39:57 +02:00
David Cernat
b352983348
[General] Include actor refIds in ActorDeath packets
2019-11-27 11:18:08 +02:00
David Cernat
8f7a267129
[General] Add scale and bloodType to creature records in RecordDynamic
2019-11-10 09:20:45 +02:00
David Cernat
afb9bd7eb5
[General] Implement script records for RecordDynamic packets
2019-11-09 21:34:09 +02:00
David Cernat
20d1e7654c
[General] Create SystemPacket category and move Handshake packet to it
2019-11-09 05:12:00 +02:00
David Cernat
b97322b4b1
[General] Modernize packet style for PlayerInventory
2019-10-26 14:01:08 +03:00
David Cernat
cbe58b1c24
[General] Modernize packet style for PlayerFaction
2019-10-26 11:42:40 +03:00
David Cernat
0e94eb8b74
[General] Use regular ints for weather states for consistency w/ OpenMW
2019-10-24 20:08:08 +03:00
David Cernat
904f804ea2
[General] Modernize packet style for PlayerSpellbook
2019-10-24 19:27:37 +03:00
David Cernat
4f9e6b0e3e
[General] Modernize packet style for PlayerCellState
2019-10-23 17:46:21 +03:00
David Cernat
96a71c1ced
[General] Modernize packet style for PlayerBook
2019-10-23 02:02:27 +03:00
David Cernat
d66bca8605
[General] Modernize packet style for PlayerTopic
2019-10-23 01:24:13 +03:00
David Cernat
0206d1813c
[General] Modernize packet style for PlayerQuickKeys
2019-10-21 16:55:21 +03:00
David Cernat
4f98d67ed4
[General] Modernize packet style for PlayerJournal
2019-10-21 07:01:36 +03:00
David Cernat
d163f1b6da
[General] Turn WorldKillCount into a Worldstate packet
...
Rename the old WorldKillCount that was a Player packet into PlayerPlaceholder. Rename the unused CellCreate that was a Worldstate packet into WorldKillCount. On the server, move kill count-related script functions from QuestFunctions to WorldstateFunctions.
2019-10-08 11:09:08 +03:00
David Cernat
031acffcbe
[General] Implement cell records for RecordDynamic packets, part 1
...
New interior cells can be now be created that are either blank or based on existing interior cells.
2019-09-28 13:12:48 +03:00
David Cernat
0d51eb5b23
[General] Use unsigned ints for refNums & mpNums in packets
2019-09-19 08:44:33 +03:00
David Cernat
e424bd9bc3
[General] Implement ClientScriptSettings packet, part 2
...
The packet can now set which client globals get packets sent about them when their values change on clients.
2019-09-14 09:37:19 +03:00
David Cernat
3acfbad55d
[General] Implement ClientScriptSettings packet, part 1
...
For starters, the new packet can set which client scripts have all of their variables synchronized between players. The previous hardcoded list of IDs for synchronized scripts has been removed.
2019-09-09 10:28:35 +03:00
David Cernat
25e27ccb95
[General] Use placeholder packet ID for unused CellCreate packet
2019-09-09 10:22:20 +03:00
David Cernat
95967ea289
[General] Rename unused ObjectReset packet into ObjectHit
2019-09-01 08:30:03 +03:00
David Cernat
9b1fbcc6f9
[General] Use correct packet ID in PacketActorCast
2019-08-28 06:35:19 +03:00
David Cernat
e15428e139
[General] Remove "created by" stamps added by IntelliJ
2019-08-26 12:33:28 +03:00
David Cernat
9350e1d484
[General] Split up Attack packets into Attack and Cast ones
...
Create an entirely new PlayerCast packet for that purpose, but rename the already existing but unused ActorInteraction into ActorCast.
2019-08-25 09:35:23 +03:00
David Cernat
0339958e21
[General] Rename Log class into TimedLog
2019-08-19 21:39:33 +03:00
David Cernat
ab93b5ddc5
[General] Use PlayerItemUse packets when using items through quick keys
2019-08-16 05:50:07 +03:00