I’ve found another solution which seems to work after some tuning/hacking the code a bit.
Everything based on YEP Battle Engine Core, and ignoring the Victor’s plugin at all.
Raw Explained Solution: It involves using an actor as a trowable object. It allows for many things, customization, including animation for the throwable object.
So first step make a new Actor... Lets call it Rocket.
Define the animation for it if you want, set up the walk animation, dead animation, low health animation, whatever else you might need.
Now, make the skill, and in the skill action sequence tag, add the Actor Rocket in the scene via an eval code. Example:
Code:
eval: $gameParty.addActor(6)
Set the opacity to 0, because you probably dont want to see it.
Move the Actor Rocket in front of the Actor that is actually executing the Skill.
Is time to set the opacity back to 255. (check the last code block)
Move the Actor Rocket from the Attacker to the Target. (check the last code block)
Set the opacity of the Rocket back to 0 if you want to kill it/hide it.
Or set other states if you want to show other animations like dead, almost dead or abnormal animation. For example I use an almost dead state and the animation is a transparent sprite.
At last, in the clean up closing tags of the action sequence, remove the “actor” Rocket from the party. Example:
Code:
<finish action>
perform finish
clear battle log
immortal: targets, false
eval: $gameParty.removeActor(6)
</finish action>
Now... a little more details...
I need a convenient way to access the Rocket Actor I've just added. This is usually the last actor in the party, so in order to use this as a target for action sequence, I've decided to add a little bit of code inside the:
Code:
BattleManager.makeActionTargets = function(string)
Somewhere down the if conditions, add something like (this will get the last member from the party, which is conveniently exactly the actor we want to act as a throwable object):
Code:
if (['THROWABLE'].contains(string)) {
var arr = $gameParty.members();
var target = arr[arr.length-1];
if (target) return [target];
}
Then in the action sequence, you can manipulate the fake actor as:
Code:
OPACITY THROWABLE: 255
move THROWABLE: target, center, 20
Done!
Feel free to ask questions/contribute any feedback if you like this solution and feel this could work for you.
I'm not going to provide a full working solution (only provided the bits, so useful only for people that are going to dig a bit) and not going to make a plugin out of it, feel free to expand on this if you feel like.