David Cernat
a7f517507c
[Client] Handle reenabling of harvested objects via Container packet
...
It is no longer necessary to send ObjectState packets when harvesting objects, as the Container packet will handle the refreshing of those objects' animations instead.
2021-04-06 13:22:17 +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
db32f7f9f8
[Client] Use ObjectDialogueChoice for highlighted topics in dialogue
...
The packet is now sent not just for items in the list on the right of the dialogue screen, but also for the clickable topics in the dialogue text itself.
2020-12-17 03:12:01 +02:00
David Cernat
1a4b817b31
[General] Rework ObjectDialogueChoice for multilingual compatibility
...
Use a different system for sending and applying ObjectDialogueChoice packets.
2020-12-13 08:09:14 +02:00
David Cernat
9dcb0f4c32
[General] Implement ObjectDialogueChoice packet
2020-10-26 19:48:40 +02:00
David Cernat
68837aaf4a
Add OpenMW commits up to 15 Oct 2020
...
# Conflicts:
# .travis.yml
# CI/before_script.linux.sh
# CMakeLists.txt
# apps/openmw/mwgui/containeritemmodel.cpp
# apps/openmw/mwgui/tradewindow.cpp
# apps/openmw/mwphysics/actor.cpp
# apps/openmw/mwworld/actionteleport.cpp
# apps/openmw/mwworld/containerstore.cpp
2020-10-15 19:51:39 +02:00
David Cernat
0eedf8fd9f
Add OpenMW commits up to 30 Sep 2020
...
# Conflicts:
# apps/openmw/mwmechanics/aicombat.cpp
# apps/openmw/mwmechanics/character.cpp
# apps/openmw/mwmechanics/summoning.cpp
# components/CMakeLists.txt
2020-09-30 13:32:15 +02:00
David Cernat
d3f23220de
[Client] Only require cellStore for ConsoleCommand packets with objects
2020-07-13 13:04:02 +02:00
David Cernat
5e6218ad6d
[General] Modernize handling of client script local variables in packets
...
Disable placeholder handling of client script member variables.
2020-06-06 13:58:51 +02:00
David Cernat
ea57aaef34
[Client] Fix compilation error on Linux regarding Timestamp constructor
2020-05-20 09:38:14 +03:00
David Cernat
3c51f1c23a
[General] Include last gold restock time in ObjectMiscellaneous packets
2020-05-16 19:10:11 +03:00
David Cernat
23ff7b9610
[General] Synchronize gold pools for traders via ObjectMiscellaneous
2020-05-16 02:51:11 +03:00
David Cernat
001d63b59b
[Client] Keep extra item data when adding items to player via Take All
2020-04-17 20:01:28 +03:00
David Cernat
907c5fc6de
Merge branch '0.7.1-summons-ordering' into 0.7.1
2020-03-22 17:29:01 +02:00
uramer
ee84868b7d
[Client] Fix double summoning magical effects
2020-03-20 22:28:00 +01:00
uramer
3476bd7d04
[Client] Play sounds at fixed position if the object is in current cell
2020-03-01 14:22:00 +01:00
David Cernat
27d35d73a2
[General] Implement OnObjectSound packet
...
Many interactions between players and objects now have their sounds sent to other players.
2020-02-29 18:15:41 +02:00
David Cernat
4b69d1cc51
[Client] Play sound for object placements where droppedByPlayer is true
2020-02-29 18:12:46 +02:00
David Cernat
8b2bf941cd
[Client] Only play trap disarm sounds when the server approves disarming
2020-02-26 22:24:58 +02:00
David Cernat
ab794f0068
[General] Add handling of longs to ClientScriptLocal
...
Use better wording in comments related to ClientScriptLocal and ClientScriptGlobal.
2020-02-18 02:02:31 +02:00
David Cernat
8db396d10a
[General] Distinguish between shorts & longs in ClientScriptGlobal
...
Adjust ClientScriptLocal so it refers to its previously handled integers as shorts.
2020-02-17 18:19:03 +02:00
David Cernat
a4b10c75e1
[Client] Remove unneccessary addConsoleCommandObject() from ObjectList
2020-02-15 10:24:05 +02:00
David Cernat
643c979d31
[Client] Use getBaseObjectFromPtr() whenever possible in ObjectList
2020-02-15 10:00:23 +02:00
David Cernat
abd18745df
[General] Include ScriptLocalFloat as part of ClientScriptLocal
2020-02-10 07:58:35 +02:00
David Cernat
b97fa7553c
[Client] Remove variable redeclarations
2020-02-08 15:08:07 +02:00
David Cernat
4841c1ad4c
[General] Rename ScriptLocalShort into ClientScriptLocal
2020-02-05 17:41:48 +02:00
David Cernat
038c5b8231
[Client] Rename ObjectList's addObject() into addBaseObject()
2020-01-23 16:40:04 +02:00
David Cernat
296c04af71
[Client] Combine ObjectList's getBaseObject() and getObjectFromPtr()
2020-01-23 16:18:49 +02:00
David Cernat
975797c09b
[General] Implement ObjectRestock packet
...
Restocking object containers via trading now requires the server to send back an ObjectRestock packet before it can happen.
The unused packet ID ID_SCRIPT_GLOBAL_FLOAT has been replaced with ID_OBJECT_RESTOCK.
2020-01-23 12:50:34 +02:00
David Cernat
59a38164ea
[Client] Add generic objects to ObjectList using addObjectGeneric()
2020-01-23 09:03:40 +02:00
David Cernat
989188c171
[Client] Remove ObjectList's confusing addObjectDelete() function
2020-01-22 14:35:51 +02:00
David Cernat
32b5529e18
[Client] Use check with clearer logic in ObjectList::editContainers()
2020-01-16 14:02:27 +02:00
David Cernat
d2ba4a12d9
[Client] Simplify container sending with new addContainerItem() methods
2020-01-16 14:00:30 +02:00
David Cernat
51f0acbaf5
[Client] Improve logging for Container packets
2020-01-16 10:32:48 +02:00
David Cernat
b0b51dc4d5
[Client] Don't print sending of console command packets
2020-01-16 09:15:53 +02:00
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
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
96049befe9
[Client] Add and use getObjectFromPtr() method in ObjectList
2019-12-13 13:07:21 +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
eeb77f80d2
[Client] Send ConsoleCommand packets when console is used
2019-12-07 10:11:45 +02:00
David Cernat
cd444f8707
[Client] Send actor equipment after Container packet causes autoEquip
...
Previously, a Container packet with a SET action for an actor would clear their entire InventoryStore, also clearing all of their equipment slots. The actor's authority would then autoEquip new equipment for the actor, but that new equipment would not actually get sent to the other players. As a result, they would see the actor fighting with hand-to-hand attacks, while also not actually wearing anything despite being rendered as wearing the same clothes and armor as before.
This commit makes the actor's authority resend the actor's equipment as soon as the Container packet has caused the autoEquip to happen.
2019-12-06 11:40:07 +02:00
David Cernat
f43ba7fba2
[Client] Don't initialize disabled or deleted actors as LocalActors
2019-12-05 20:27:48 +02:00
David Cernat
eeb3e4f938
[Client] Reset friendly hits when summoning a creature
2019-12-02 23:29:36 +02:00
David Cernat
7120f41cfa
[Client] Add creatures to summoner's creature map when they are missing
...
Additionally, adjust logging related to summons.
2019-12-01 15:02:04 +02:00
David Cernat
985d1f17e0
[Client] Use correct magnitude for active effect created for summons
2019-12-01 14:58:06 +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
bde9f7b817
Add OpenMW commits up to 20 Oct 2019
...
# Conflicts:
# apps/openmw/mwgui/recharge.cpp
# apps/openmw/mwrender/globalmap.cpp
# apps/openmw/mwrender/globalmap.hpp
# apps/openmw/mwworld/inventorystore.cpp
2019-10-29 22:26:35 +02:00
David Cernat
835ae816a1
[Client] Use a template to combine RecordHelper's existence checks
2019-10-15 08:47:54 +03:00
David Cernat
02bca3f52d
[Client] Fix if check in ObjectList::setMemberShorts()
2019-10-11 21:53:53 +03:00
David Cernat
cc25612b8d
Add OpenMW commits up to 18 Sep 2019
...
# Conflicts:
# apps/openmw/mwclass/container.cpp
# apps/openmw/mwclass/door.cpp
# apps/openmw/mwmechanics/security.cpp
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwscript/miscextensions.cpp
2019-09-18 23:46:08 +03:00