Koncord
9b6bdf3ae8
[General] Fix minor warnings found by PVS
6 years ago
David Cernat
f100a660d4
[General] Fix ranged attack sync when using last throwing weapon or ammo
6 years ago
David Cernat
995d20348f
[General] Always use correct ranged weapon & ammo for ranged attack sync
...
Previously, the player's currently selected weapon was being used in ranged attacks as in the original melee-oriented attack sync, which meant that shooting one type of projectile and then equipping another while the old projectile was still in the air turned the old projectile into the new projectile upon impact.
Additionally, avoid running most of the code in MechanicsHelper::assignAttackTarget() for non-hitting melee and ranged attacks.
6 years ago
David Cernat
b5f46ada73
[General] Synchronize projectile speed for ranged attacks
...
This is done by including the final attackStrength used for ranged attacks in packets and then applying it in WeaponAnimation::releaseArrow() on other clients.
6 years ago
David Cernat
fcd31bf4a6
[General] Fix problems with the synchronization of ranged attacks
...
Projectile hits now send Attack packets with RANGED attacks, and their success or failure is now synchronized.
Strike enchantments no longer require a valid victim to be synchronized.
Additional debug messages have been added for attacks.
6 years ago
David Cernat
8012d0d7b7
[General] Include hit position in PlayerAttack and ActorAttack packets
6 years ago
David Cernat
ea8a41160c
[General] Make ActorAttack packet consistent with PlayerAttack
...
Additionally, fix a typo in PlayerAttack where a boolean argument was outside of the parentheses it should have been in.
7 years ago
David Cernat
20e0100706
[General] Rework Attack packets and add synchronization for item magic
7 years ago
David Cernat
528bd26a3b
[General] Allow followers to follow non-authority players through cells
7 years ago
David Cernat
09da24f1ea
[General] Rename all instances of refNumIndex into refNum
...
This creates symmetry with mpNum and should cause less confusion in the future.
7 years ago
David Cernat
bff6e9e235
[General] Implement ActorAI packet, part 5
...
Allow repetition for AiWander package to be turned on and off.
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
Koncord
23684489da
[General] Fix clang-tidy warning
...
Converting integer literal to bool, use bool literal instead
7 years ago
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.
7 years ago
David Cernat
77389538e8
[General] Implement ActorAI packet, part 1
...
The server can now make actors become followers of players or other actors.
7 years ago
David Cernat
b9520c11da
[General] Rework PlayerEquipment packets so they are of minimal size
...
Moreover, rename BaseNetCreature's equipedItems into equipmentItems.
(cherry picked from commit d1ad0c91f8
)
7 years ago
David Cernat
34be9383e5
[General] Add isPlayer boolean to targets in packets
7 years ago
David Cernat
a86c68c5a1
[General] Add sync for ranged weapon & projectile strike enchantments
7 years ago
David Cernat
3f8d94b030
[General] Synchronize strike enchantments in combat
7 years ago
David Cernat
02af7f6ba1
[General] Add placeholders for new packet types
7 years ago
David Cernat
993081ba1e
[General] Add enchantmentCharge to worldObjects and items
7 years ago
David Cernat
605b06c303
[General] Find actor speech captions instead of sending them in packets
7 years ago
David Cernat
4db64e1721
[Client] Synchronize spellcasting for non-bipedal creatures
8 years ago
David Cernat
ee5c9b65c5
[General] When changing region, send new region name in PlayerCellChange
8 years ago
David Cernat
34378fbb4f
[General] Make coding style consistent
8 years ago
David Cernat
a84cf7c191
[General] Fix packet validation for ActorPackets sent by server scripts
...
This allows Lua scripts to send actor data again, which hadn't been possible anymore after 2ed1bfe
8 years ago
Koncord
2ed1bfe427
[General] Simplify ActorPackets
8 years ago
Koncord
556bf18535
[General] Minor improvements for player packets
...
Add compression, remove useless loop iterations
8 years ago
David Cernat
d0a0b6ffa4
[General] Add basic integrity checks to all Actor and World packets
8 years ago
David Cernat
068a45be87
[General] Synchronize player & NPC rotation animations
8 years ago
David Cernat
4e5c8873e0
[General] Use ObjectSpawn instead of ObjectPlace for actors
8 years ago
David Cernat
c211d53190
[General] Use only direction.pos in ActorPosition, as advised by Koncord
8 years ago
David Cernat
27148ce9eb
[General] Add placeholders for 12 new packets, to be implemented soon
...
Additionally, make it slightly clearer who created which previously existing packets.
8 years ago
Koncord
f7473e3379
[General] Fix copy-posty bug
8 years ago
David Cernat
9fe5b4a305
[General] Remove debug line from ActorAnimFlags
8 years ago
Koncord
8478fed98a
[General] Simplify Actor packets.
8 years ago
Koncord
f6fba70a4e
[General] Use compression for Position packets
8 years ago
David Cernat
73b9683182
[General] Make most ActorPackets smaller by not including refIds in them
8 years ago
David Cernat
311ce4119d
[General] Fix logic issues related to ActorEquipment
8 years ago
David Cernat
4f273932af
[General] Implement sending and reading of ActorEquipment packets
8 years ago
David Cernat
7ec431ce3d
[General] Make packet style more consistent
8 years ago
Koncord
956b573323
[General] Use different ordering channels for packets
8 years ago
David Cernat
ad388c7e12
[General] Add placeholders for ActorEquipment & PlayerFaction packets
...
Also reorder packets and packet processors.
8 years ago
David Cernat
f527fe9ebe
[General] Add basic integrity check to reading of ActorList packets
...
Additionally, add newlines to files missing them.
8 years ago
David Cernat
60cf623455
[Client] Make DedicatedActors transition into LocalActors when eligible
8 years ago
David Cernat
63dd2d9246
[General] Remove code related to ActorAuthority packets that is not used
8 years ago
David Cernat
1a699329e5
[General] Set new BaseActor booleans in corresponding packets
8 years ago
David Cernat
e8e0090b9b
[General] Use new SimpleCreatureStats struct in BaseActor
8 years ago