
Inverse
adasdsadasdadwdaszxdadcacawdasd
dasddadwacacscwedacscdwdascwdacs

Insight
-
The Mage Character of the Group, Zenaida has a pet named Rose that follows her and has some important gameplay abilities alongside the character.
-
One of these abilities is the Healing Anchor, where the player chooses a location for the companion to move to and do her healing AOE, which provides continuous health points to you and all the allies in the radius for a duration.

-
The Ability was pretty straight forward to make. Below is the Function RPC_HealAnchor
-
The problem arrived while replicating the Ability.
-
After much research on Unreal's online applications, soon I came to find out that the mouse location we were selecting from a client will not reflect on the AI pet, as all the AIs are technically handled by the server side.
-
After many failed solutions for about a week. I found the permanent solution and how to get this working.
-
I made a ProvideLocation function in the Pet AI controller.

-
This Function gets the owner client's controller Binds to a dispatcher UpdatedMouseLocation, to run LocationUpdated event and runs a function OC_MouseLocationUnderCursor
-
'OC_' means running only on the Owner client that is the actor who is doing the ability at this moment.
-
This is done in the Player controller as the player controller is a class where it is relevant to the owner clients and the server. There is no client-to-client relevancy here. So this is the perfect class to do this.

-
The 'OC' function intern calls the RPC_MouseLocationUnderCursor which is relevant to the server and passes the location vector under the client mouse.
-
RPC_MouseLocationUnderCursor calls a dispatcher UpdatedMouseLocation with the mouse location as the input.
-
LocationUpdated event bound to the dispatcher is triggered and provides a vector to the Blackboard Variable PointOfInterest

-
Further, The State of the Pet is changed to Ability1 as seen in the HealAnchor function.

-
When in Ability1 State the Pet AI moves to the PointOfInterest as we updated the variable with new values and does the Healing AOE.

Gameplay Video of the ability
