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.
2018-09-11 11:56:45 +03:00
David Cernat
31a9b77f34
[Client] Reset hitPosition in MechanicsHelper::resetAttack()
2018-09-10 12:34:33 +03:00
David Cernat
8012d0d7b7
[General] Include hit position in PlayerAttack and ActorAttack packets
2018-09-08 05:29:49 +03:00
David Cernat
338efdb705
[General] Fix issues with MechanicsHelper::getItemPtrFromStore()
2018-08-11 19:00:02 +03:00
David Cernat
8df08c7d10
[General] Implement PlayerItemUse packet
...
Players can no longer unilaterally use items on themselves in their inventory. When they try to use an item, they send a PlayerItemUse packet to the server with the item's details. A serverside script can then check the item and either send the packet back to make the item use go through or drop it.
2018-08-09 18:25:20 +03:00
David Cernat
36ac2d9de4
[Client] Set packetOrigin for all ObjectList packets sent
2018-07-23 01:39:43 +03:00
David Cernat
20e0100706
[General] Rework Attack packets and add synchronization for item magic
2018-07-21 14:41:27 +03:00
David Cernat
b6324e3532
[Client] Clean up debug for spell usage
2018-07-21 09:41:36 +03:00
David Cernat
09da24f1ea
[General] Rename all instances of refNumIndex into refNum
...
This creates symmetry with mpNum and should cause less confusion in the future.
2018-07-13 04:12:03 +03:00
David Cernat
509882b5f6
[Client] Rework MechanicsHelper::getTarget() to avoid crashes
2018-07-07 11:43:57 +03:00
David Cernat
4eb72eecb1
[Client] Fix crash for invalid CellRefs in MechanicsHelper::getTarget()
2018-07-06 18:39:14 +03:00
David Cernat
f02492a593
[General] Temporarily include target names in mwmp::Target
...
These will be removed once the server can get the names matching refIds by reading content files.
2018-07-05 19:40:28 +03:00
David Cernat
130a32ebb0
[Client] Add new methods for handling mwmp::Target in MechanicsHelper
2018-07-05 16:36:52 +03:00
David Cernat
78234f9071
[General] Rename Event into ObjectList & WorldObject into BaseObject
2018-05-13 00:42:24 +03:00
David Cernat
34be9383e5
[General] Add isPlayer boolean to targets in packets
2018-04-05 12:48:53 +03:00
David Cernat
a86c68c5a1
[General] Add sync for ranged weapon & projectile strike enchantments
2018-04-03 14:12:27 +03:00
David Cernat
3f8d94b030
[General] Synchronize strike enchantments in combat
2018-04-03 10:27:02 +03:00
David Cernat
d19d8b0a34
[Client] Add and use enchantmentType argument for unequipItemsByEffect()
2018-01-27 19:37:16 +02:00
David Cernat
c6a85ee8f9
[Client] Add doesEffectListContainEffect() method to MechanicsHelper
2018-01-26 03:18:01 +02:00
David Cernat
aa392ebf20
[Client] Unequip items if necessary when attr/skill modifier is set to 0
2018-01-26 00:45:39 +02:00
David Cernat
4db64e1721
[Client] Synchronize spellcasting for non-bipedal creatures
2017-07-28 20:49:26 +03:00
Koncord
5b2cab4c6b
[General] Change NULL to nullptr
2017-06-27 22:49:28 +08:00
Koncord
0ed0d2417b
[Client] Make foreach style consistent with other
2017-06-27 22:27:02 +08:00
Koncord
6222c20e82
[Client] Convert MechanicsHelper to namespace
2017-06-27 16:43:53 +08:00
David Cernat
e5f5b047bc
[Client] Don't send empty ObjectSpawn packets for cells with no leveled creatures
2017-06-10 11:04:17 +03:00
David Cernat
f4cdedd8cb
[General] Synchronize summoned creatures
2017-05-30 10:11:01 +03:00
David Cernat
4e5c8873e0
[General] Use ObjectSpawn instead of ObjectPlace for actors
2017-05-29 06:59:05 +03:00
David Cernat
7177d56cfb
[Client] Only require refNumIndex & mpNum for CellStore::searchExact()
2017-05-27 16:59:23 +03:00
David Cernat
7c87ac80ee
[Client] Ensure correct drawState when receiving an ActorAttack packet
2017-05-27 04:19:28 +03:00
David Cernat
dcc61a095a
[Client] Allow multiple WorldObjects to be added to a WorldEvent
2017-05-06 20:44:39 +03:00
David Cernat
bdc8b7f863
[Client] Send level creatures in ObjectPlace reply to ActorList request
2017-05-06 08:40:36 +03:00
David Cernat
809b4d78ba
[Client] Split off DedicatedPlayer and PlayerList into different files
2017-04-30 14:57:43 +03:00
David Cernat
ea7c3f2dc7
[Client] Make tes3mp combat code work with Creatures, not just NPCs
2017-04-24 21:06:23 +03:00
David Cernat
2e8714afaa
[Client] Rethink and restructure tes3mp combat code so it works for NPCs
2017-04-19 22:06:04 +03:00
David Cernat
6c2bbd6608
[Client] Fix assignAttackTarget() not assigning LocalPlayer as target
2017-04-19 20:51:31 +03:00
David Cernat
0ef9e014eb
[Client] Add resetAttack() and getSpellSuccess() to MechanicsHelper
2017-04-19 17:09:35 +03:00
David Cernat
c3375ba86f
[Client] Add MechanicsHelper::assignAttackTarget()
2017-04-19 11:05:13 +03:00
David Cernat
17c4b6d4de
[Client] Add MechanicsHelper methods for easily getting Attacks from Ptr
2017-04-19 10:36:23 +03:00
David Cernat
0aaf68c994
[Client] Rename mwmp::Players into mwmp::PlayerList for clarity
2017-04-17 19:10:33 +03:00
David Cernat
a650683bae
[General] Add and use Target struct in mwmp::Attack
2017-04-17 18:31:39 +03:00
David Cernat
caf5428532
[General] Rename mwmp::Attack vars in preparation for Actor support
2017-04-17 17:24:11 +03:00
David Cernat
2050d06b31
[Client] Process PlayerAttack in MechanicsHelper::processAttack()
2017-04-17 16:09:07 +03:00
David Cernat
cf155c9279
[Client] Add MechanicsHelper and move linear interpolation code to it
2017-04-17 14:37:19 +03:00