Hello,
I recently bought the the Third Person Controller, Agility Pack, and PUN multiplayer integration. I have been having an absolute blast playing with them and developing a fun project.
I have a question about the Damage Processor. I recently used the Damage Processor to create a subclass called DamageProcessorFloatingText, which generates floating combat numbers through Text mesh pro prefabs. (Later I learned that there is a floating combat numbers solution in UCC already)
I then went on to create a second subclass that extended the DamageProcessorFloatingText, called CritDamageProcessor. My hope for this class was to "roll some dice" for a critical hit, modify the damageData.Amount if a critical hit occurred, and then pass on the results to the base process function w/ the critical hit result baked into the damageData.UserData. This works great in a single player setting, I can see the critical hits appearing differently than the normal hits through my DamageProcessorFloatingText implementation. However, in a multiplayer setting there is something missing. W/ multiple clients running, the critical hits are not synchronized. I am assuming this is because modifying the damageData.Amount within the process function for one client doesn't actually do anything for the other clients on the network.
What would you recommend as the best solution for this problem? I just want to have a good way of modifying the damage (eventually with attributes) so that the clients are all aware that a critical hit has occurred.
I recently bought the the Third Person Controller, Agility Pack, and PUN multiplayer integration. I have been having an absolute blast playing with them and developing a fun project.
I have a question about the Damage Processor. I recently used the Damage Processor to create a subclass called DamageProcessorFloatingText, which generates floating combat numbers through Text mesh pro prefabs. (Later I learned that there is a floating combat numbers solution in UCC already)
I then went on to create a second subclass that extended the DamageProcessorFloatingText, called CritDamageProcessor. My hope for this class was to "roll some dice" for a critical hit, modify the damageData.Amount if a critical hit occurred, and then pass on the results to the base process function w/ the critical hit result baked into the damageData.UserData. This works great in a single player setting, I can see the critical hits appearing differently than the normal hits through my DamageProcessorFloatingText implementation. However, in a multiplayer setting there is something missing. W/ multiple clients running, the critical hits are not synchronized. I am assuming this is because modifying the damageData.Amount within the process function for one client doesn't actually do anything for the other clients on the network.
What would you recommend as the best solution for this problem? I just want to have a good way of modifying the damage (eventually with attributes) so that the clients are all aware that a critical hit has occurred.