David Cernat
cac4684986
[Client] Don't force skill update on cell change
...
Previously, an attempt by the server to simultaneously change a player's cell and skills (as you'd expect when a player file is loaded) led to:
1) The server sending the cell packet first and the skill packet afterwards
2) The player receiving the cell packet and sending their own skill packet as part of the client's forced skill update
3) The player receiving the skill packet from the server
4) The server receiving the skill packet from the player
The result was that, if the player then left the server without sending another skill packet, the server's memory retained the skills the player had sent instead of the skills it had sent to the player.
This is the first step in a solution to that situation and similar ones.
2017-11-23 10:07:14 +02:00
David Cernat
b4e8560698
[Client] Send cell states correctly after inputting name
...
Previously, initial cell states were sent in LocalPlayer::processCharGen() and were ignored by the server because the player was not yet regarded as loaded. The result was that existing players logging in could not see each other until they went through at least one cell change.
2017-11-13 05:38:56 +02:00
David Cernat
926106cf8c
[General] Rework CharGen slightly for clarity purposes
...
Previously, charGenStage.end was doing double duty as both the variable indicating the number of CharGen stages and – when set to 0 – the variable indicating that CharGen was over. The latter role is now filled by a new boolean.
2017-11-13 05:33:27 +02:00
David Cernat
711c4d83da
[Client] Fix build after recent OpenMW changes to GUI
2017-10-07 23:33:36 +03:00
David Cernat
b94c0a9991
[Client] Don't send Attribute & Skill packets as werewolf, part 2
2017-09-04 20:21:06 +03:00
David Cernat
8c9d6a0160
[Client] Ensure that LocalPlayer's isWerewolf starts out false
2017-09-04 15:44:10 +03:00
David Cernat
ccb15cc09e
[Client] When players die, make guards willing to arrest them again
2017-09-04 15:13:05 +03:00
David Cernat
ac3254d85f
[General] Don't send PlayerAttribute and PlayerSkill packets as werewolf
...
This will prevent the server from overwriting a player's human form stats with their werewolf form stats.
Additionally, share PlayerShapeshift packets last when exchanging data with another player.
2017-08-31 18:21:38 +03:00
David Cernat
93d1aa2e4a
[Client] Comment out the broken sending of custom spells until 0.7.0
2017-08-31 17:07:45 +03:00
David Cernat
98a7769b91
Merge branch 'master' into 0.6.0
2017-08-31 15:44:27 +03:00
David Cernat
cf4021a7b5
[Client] Only add valid quests to journal
2017-08-31 09:08:29 +03:00
David Cernat
134dd06d48
[Client] Only add valid inventory & equipment items to LocalPlayer
...
Also add related debug information.
2017-08-31 08:35:46 +03:00
David Cernat
c3d1eada89
[Client] Only add spells to players that are ensured to exist
2017-08-31 06:42:11 +03:00
David Cernat
2597f018d2
Merge pull request #272 from TES3MP/0.6.0
...
Add hotfix commits for 0.6.0 up to 23 Aug 2017
2017-08-23 07:22:29 +03:00
David Cernat
8f543fb34e
[Client] Use less exploitable way of disabling console
...
Previously, large framerate drops allowed players to open and use the console for short periods of time.
2017-08-23 04:58:07 +03:00
David Cernat
77ce05b7d6
[Client] Fix spell casting probability synchronization
2017-08-06 00:11:54 +03:00
David Cernat
0e2038f045
[General] Record and get player positions before their last cell change
2017-08-04 21:45:52 +03:00
David Cernat
fbec0d9443
[Client] Remove inertia from players who are teleported via a packet
2017-08-04 21:43:01 +03:00
Unknown
bfbfbeac43
Added networking and saving for custom spells
2017-07-31 03:45:47 +10:00
David Cernat
796118c266
[Client] Send StatsDynamic packets more often
2017-07-26 20:15:35 +03:00
David Cernat
43a3daf0aa
[General] Add & implement PlayerShapeshift packet for werewolf states
2017-07-15 09:02:19 +03:00
David Cernat
ad9fa0631a
[General] Rename jailText to jailEndText and add jailProgressText in PlayerJail
2017-07-13 20:13:28 +03:00
David Cernat
e36c0afc59
[General] Send faction reputation via PlayerFaction packets
2017-07-13 13:36:00 +03:00
David Cernat
083b46394d
[General] Add ignoreJailSkillIncreases to PlayerJail packets
2017-07-12 18:24:37 +03:00
David Cernat
5962570c48
[General] Add jailText to PlayerJail packets
2017-07-12 16:39:31 +03:00
David Cernat
4e74910fdb
[General] Disable automatic sync for PlayerJournal and PlayerFaction
...
Simplify PlayerFaction packets by removing BOTH action
2017-07-08 12:27:48 +03:00
David Cernat
1d504a665f
[General] Add RANK, EXPULSION and BOTH actions to PlayerFaction packets
2017-07-05 07:06:33 +03:00
Koncord
9bb586de77
[Client] Simplify setMapExplored()
2017-07-03 23:43:32 +08:00
David Cernat
60574ae667
[General] Implement jail time as a death penalty
2017-07-03 15:45:21 +03:00
David Cernat
71313c5aa6
[General] Implement PlayerMap packet, part 1
2017-07-03 09:28:27 +03:00
Koncord
9519c467eb
[Client] Simplify updateEquipment for LocalPlayer & LocalActor
2017-06-29 14:52:23 +08:00
Koncord
0ed0d2417b
[Client] Make foreach style consistent with other
2017-06-27 22:27:02 +08:00
Koncord
689050e1d0
[Client] Long expression to lambda
2017-06-27 21:01:13 +08:00
Koncord
58a6a8c3bc
[Client] Update LocalPlayer to C++11
2017-06-27 20:43:39 +08:00
Koncord
6222c20e82
[Client] Convert MechanicsHelper to namespace
2017-06-27 16:43:53 +08:00
David Cernat
813a3c89c4
[General] Implement PlayerBook packet to track skill books read
2017-06-27 08:27:14 +03:00
David Cernat
78f29302ef
[General] Fix PlayerJournal logic by sending only refIds for its actors
...
Additionally, make the refIds for actors usable in script functions.
2017-06-23 08:12:32 +03:00
David Cernat
ebf7740969
[General] Repurpose GameConsole packet as GameSettings & add difficulty to it
2017-06-20 05:28:45 +03:00
David Cernat
70d9374a6a
[General] Implement PlayerKillCount packets
2017-06-10 14:04:19 +03:00
David Cernat
ee5c9b65c5
[General] When changing region, send new region name in PlayerCellChange
2017-06-10 11:43:40 +03:00
Koncord
ad873e16b8
[Client] Limiting updates to ~64 per second
2017-06-02 21:20:35 +08:00
Koncord
9742b0a801
[Client] Reset statTimer every timeout
2017-06-02 20:45:44 +08:00
Koncord
80631ae8bd
[Client] Reset positionTimer on time expired
2017-06-02 20:45:19 +08:00
Koncord
a847d46984
[Client] Get rid Z axis in direction.pos
2017-06-02 18:33:51 +08:00
Koncord
2ef1e26233
[Client] Fix ID_PLAYER_POSITION spam
2017-06-02 17:19:36 +08:00
Koncord
5f30dfd5db
[Client] Get rid direction.rot
2017-06-02 15:44:39 +08:00
David Cernat
0bed33e39e
[Client] Reset player fatigue when being resurrected
...
This way, players killed by strong hand-to-hand attacks will no longer be forced to lie on the ground when resurrected.
2017-06-02 06:58:33 +03:00
David Cernat
d8cd57a8be
[Client] Make topic sync work with localized versions of the game
2017-05-31 14:11:16 +03:00
David Cernat
906b263a2d
[Client] Update topics in current dialogue screen when receiving PlayerTopic packets
2017-05-31 06:51:50 +03:00
David Cernat
068a45be87
[General] Synchronize player & NPC rotation animations
2017-05-30 12:08:58 +03:00