David Cernat
2898ad6e9a
[Client] Make Back button work in character generation
...
Character generation was coded in a strange way by Koncord in the earliest days of the project, but this fixes the main problem with it.
2022-04-14 00:44:44 +03:00
David Cernat
f2d95dc84d
[Client] Make ActiveSpells::removeSpellByTimestamp() return a boolean
...
Add logging to LocalPlayer::removeSpellsActive() to track when a player's active spell hasn't been removed due to an invalid timestamp.
2022-02-12 14:00:47 +02:00
David Cernat
3e81371e53
[General] Fix jump synchronization for players
...
This had been broken by fr3dz10's physics rewrites from the earlier part of the year that made it so dedicated players were always regarded by the movement solver as being on the ground.
2021-10-09 18:11:57 +02:00
David Cernat
06451c13d5
[Client] Update 3rd person model of local player when setting character
2021-10-01 03:27:40 +02:00
David Cernat
7393e3def6
[General] Add and use getShortDescription() for ESM::Cell
...
ESM::Cell's getDescription() method was modified by aa5161f99e
despite being used heavily by TES3MP. All instances of it in the TES3MP code have now been changed into the newly added getShortDescription() that is identical to the previous getDescription().
2021-09-17 19:14:55 +02:00
David Cernat
2f98f31af2
[General] Use model variable already included in PlayerBaseInfo packets
...
The variable has been included since TES3MP's earliest proof of concept, but never used for anything. It is now possible to get and set it, due to semi-popular demand.
2021-09-02 15:44:11 +02:00
David Cernat
3f3fe66fde
[General] Track casters of spells in SpellsActive packets
...
Also simplify sending of SpellsActive packets slightly.
2021-07-21 18:14:31 +02:00
David Cernat
3222afc8b7
[General] Implement PlayerCooldowns packet
...
Although this packet may be used for other kinds of cooldowns in the future, it currently only handles cooldowns for magical powers.
2021-07-10 22:15:19 +02:00
David Cernat
a4b180f65a
[Client] Don't send SpellsActive packets for spells received from server
2021-07-06 17:22:19 +02:00
David Cernat
294f64d12d
[General] Track timestamps for spells in SpellsActive packets
...
This makes it possible to remove a specific effect in effect stacks by checking its timestamp.
2021-07-04 12:54:11 +02:00
David Cernat
767287ae51
[General] Track stacking spells in SpellsActive packets
2021-06-10 13:27:52 +02:00
David Cernat
8c7b07b9c8
[Client] Make potion effects work with SpellsActive packets
2021-05-23 01:49:37 +02:00
David Cernat
b3c40913f6
[Client] Remove 'using namespace std' from multiplayer-related code
...
This brings TES3MP in line with https://gitlab.com/OpenMW/openmw/-/merge_requests/664
2021-03-20 23:21:40 +02:00
David Cernat
ae0e4a929f
[Client] Add die() method to LocalPlayer
2020-11-15 01:02:58 +02:00
David Cernat
c56cd7c221
[General] Implement PlayerSpellsActive packet, part 1
...
Additions and removals of the local player's active spells can now be saved to and loaded from the server.
2020-07-10 02:09:11 +02:00
David Cernat
5eb7eb8d88
Add OpenMW commits up to 4 Jul 2020
...
# Conflicts:
# .travis.yml
# CI/before_script.linux.sh
# apps/openmw/engine.cpp
# apps/openmw/mwbase/windowmanager.hpp
# apps/openmw/mwgui/charactercreation.cpp
# apps/openmw/mwgui/windowmanagerimp.hpp
# apps/openmw/mwmechanics/character.cpp
2020-07-04 16:50:54 +03:00
David Cernat
053a5a6258
Add OpenMW commits up to 9 May 2020
...
# Conflicts:
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwscript/aiextensions.cpp
2020-05-09 15:17:04 +03:00
David Cernat
f8c557fbc0
[General] Read and use weapon quantity in RecordDynamic packets
2020-04-19 23:17:09 +03:00
David Cernat
9d3afc019a
[Client] Add logging for items added to & removed from player by server
...
Additionally, adjust comment related to potion creation to mention sending of stored item removals.
2020-02-25 09:53:42 +02:00
David Cernat
dae805dbc1
[Client] Avoid PlayerInventory packet spam when creating many potions
2020-02-25 07:45:06 +02:00
David Cernat
31c0f5c976
[Client] Use clearer boolean name for checks regarding inventory sending
2020-02-22 23:59:42 +02:00
David Cernat
cf453092ce
Merge remote-tracking branch 'Veenkar/0.7.1-fix-533' into 0.7.1
2020-02-21 21:24:01 +02:00
Michal Marchewka
44c13154ff
[Client] Fix #533 . LocalPlayer.cpp joins neccessary faction only.
2020-02-16 10:47:13 +01:00
David Cernat
154a9ce5a6
[General] Fix declarations hiding class members, part 2
2019-12-04 10:17:33 +02:00
David Cernat
5b4db83d61
[Client] Once again allow beds to be used even if waiting is disallowed
...
This had been broken by rest-related commits in OpenMW.
2019-12-03 23:55:55 +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
c702eab93c
[Client] Fix declarations hiding class members
2019-11-30 12:51:48 +02:00
David Cernat
16662d772b
[General] Synchronize death animations for players
2019-11-29 12:52:47 +02:00
David Cernat
c9f3ee1819
[Client] Make PlayerResurrect use new resurrection handling from 6450d84473
2019-10-26 09:12:06 +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
190c404b38
[Client] Calculate spell success in more appropriate place
...
Previously, creatures with fast spellcasting animations would cast their spells before their success had actually been calculated, causing them to fail.
2019-09-02 23:50:56 +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
fba07194cf
Add OpenMW commits up to 29 Oct 2018
...
# Conflicts:
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwinput/inputmanagerimp.cpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwmechanics/aicombat.cpp
# apps/openmw/mwmechanics/character.cpp
# apps/openmw/mwworld/worldimp.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-08-20 13:15:00 +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
David Cernat
57f84914c3
[Client] Prevent permanent deletion of player markers on cell changes
2019-07-14 22:42:55 +03:00
David Cernat
77952440f6
[Client] Clean up handling of draw states
2019-06-19 08:24:53 +03:00
David Cernat
01804af100
[Client] Add updateInventoryWindow() method to LocalPlayer
2019-06-09 01:00:01 +03:00
David Cernat
f29bfb6b8e
[Client] Add debug for received kill counts
2019-05-22 23:20:44 +03:00
David Cernat
9fc4c83858
[Client] Send skill/attribute packets when skills/attributes are damaged
2019-03-20 18:40:46 +02:00
David Cernat
6e47b65205
[Client] Set attribute increases & level progress after correct packets
...
Originally, the PlayerSkill packet contained skills, attribute increases and level progress. In 78441c769a
, the attribute increases were moved to the PlayerAttribute packet and the level progress was moved to the PlayerLevel packet, but – due to an oversight – attribute increases and level progress were still being applied to the local player only when a PlayerSkill packet was received, based on whatever values were stored from the last PlayerAttribute and PlayerLevel packets.
2019-01-11 14:26:13 +02:00
David Cernat
8a99f215f6
[Client] Add LocalPlayer::sendItemChange() variant with mwmp::Item arg
2019-01-11 12:54:47 +02:00
David Cernat
343dd8b5ea
[Client] Fix addition of items to player inventories
...
Previously, multiple stacks of the same item ID could overwrite data in each other because of how the logic in ContainerStore::add() works. For example, a stack of 5 grand soul gems with no souls would get added to the player, then the attempt to add a grand soul gem with a particular soul would retrieve the previous stack first before setting all of it to that soul, resulting in 6 grand soul gems with that soul.
2018-12-26 13:41:19 +02:00
David Cernat
d05a82a734
[Client] Avoid repetitive code when unequipping items in resurrection
2018-12-04 03:55:03 +02:00