Make Yanfly's single target taunt work on actors

belatucadrus

Veteran
Veteran
Joined
Mar 6, 2017
Messages
49
Reaction score
7
First Language
french
Primarily Uses
RMMV
Hey,

I searched through the web and couldn't find a way (with events or plugin) to make a provoke skill that works on the actors.

The best I found is Yanfly's taunt plugin + Buff Core + Single target taunt trick, it works well on enemies : Provoked enemy will only attack the one who has provoked it.

But if an enemy uses the provoke skill, the provoke state will be applied, but it doesn't affect the enemy selection. I still can attack any enemy I want. This is because the Single target taunt workaround only checks if the user is an enemy and if the target is an actor, and not the opposite.

I am not really good in JS. Can some people help me fix that ?

Thanks :)

YEP Taunt link : http://yanfly.moe/2015/10/31/yep-23-taunt/
YEP Buff & States Core : http://yanfly.moe/2015/12/25/yep-50-buffs-states-core/
Yanfly's Single Target Taunt Workaround link : http://yanfly.moe/2016/10/12/tips-tricks-single-target-provoke-rpg-maker-mv/
 
Last edited:

belatucadrus

Veteran
Veteran
Joined
Mar 6, 2017
Messages
49
Reaction score
7
First Language
french
Primarily Uses
RMMV
Bump, I still have no solution or workaround to make this work. Anyone have an idea ?
 

belatucadrus

Veteran
Veteran
Joined
Mar 6, 2017
Messages
49
Reaction score
7
First Language
french
Primarily Uses
RMMV
Hi

It's been two months now and I still can't figure out how to make prevent an actor from doing an action other than attacking the source of a taunt.

Should I open a JS plugin request ?

EDIT : Silly me, this is already posted on JS plugin requests lol
 

D.L. Yomegami

Sanely Insane
Veteran
Joined
Jan 22, 2017
Messages
171
Reaction score
226
First Language
English
Primarily Uses
RMVXA
I might be mistaken on this, but just looking at the code for the single-target provoke I think it only looks like a provoked actor can select any other enemy. If the provoked actor actually tries to attack their attack will be redirected to the enemy that provoked them. It'll work, it just works after the actor's made their selection and doesn't actually affect the selection process.

That being said I haven't tried it myself, so I apologize if you actually did try to use a skill and found Provoke outright didn't work for actors at all. Unfortunately I wouldn't be able to provide a fix for that issue. I can, however, suggest looking at the Greed status effect, which has a similar redirection effect to Provoke and does work on actors (and probably only on actors; enemies can't use items).
 

belatucadrus

Veteran
Veteran
Joined
Mar 6, 2017
Messages
49
Reaction score
7
First Language
french
Primarily Uses
RMMV
I might be mistaken on this, but just looking at the code for the single-target provoke I think it only looks like a provoked actor can select any other enemy. If the provoked actor actually tries to attack their attack will be redirected to the enemy that provoked them. It'll work, it just works after the actor's made their selection and doesn't actually affect the selection process.

That being said I haven't tried it myself, so I apologize if you actually did try to use a skill and found Provoke outright didn't work for actors at all. Unfortunately I wouldn't be able to provide a fix for that issue. I can, however, suggest looking at the Greed status effect, which has a similar redirection effect to Provoke and does work on actors (and probably only on actors; enemies can't use items).

I tried to mix the greed trick with the single targed provoke trick but nothing I tried worked. I still can select and attack anyone while being provoked

I did everything in both of the videos (Greed and Single Target Provoke) but couldn't get to the result I wanted

What I want is that only the origin of the state can be selected, like in this video at 3:50 but not for all the team, just for the character being provoked
 

belatucadrus

Veteran
Veteran
Joined
Mar 6, 2017
Messages
49
Reaction score
7
First Language
french
Primarily Uses
RMMV
I found a way to do it ! It's not perfect but It will do the job.

For all the people who want to know how I did it, here is what you'll need :

- Yanfly's Taunt Plugin
- Yanfly's Auto Passive States Plugin

WATCH OUT ! THIS TRICK ONLY WORKS IF THERE IS ONLY ONE ENEMY WHO CAN USE PROVOKE IN THE TROOP

For this workaround rather than trying to make only the origin of the taunt selectable, we'll apply a taunt bypass for all the actors except for the one who's being provoked.

For that we will need to setup three states.

Go to the States panel and create a new state called "Provoked !". Set an icon, a SV overlay if you want, and set the removal condition as you please. I've set it to end in 5 turns. No note tags. That's it. This is just the states that will appear to the player.

Then create another state called "Provoke". Set no icon and the priority to zero. This state is hidden from the player. Also set the removal condition to "Battle End"

Then paste this code snippet in the Notetags Box :

Code:
<Physical Taunt>
<Magical Taunt>
<Certain Taunt>

<Custom Passive Condition>
if ($gameParty.members().filter( function (actor) { return actor.isStateAffected(x); } ).length > 0) {

condition = true;

} else {

condition = false;

}
</Custom Passive Condition>
Replace x by the ID of the "Provoked !" state
That custom condition means "if any of the party members is affected by the Provoked state, then the enemy will be affected by the "Provoke" state."

Remove one of the taunt type if you want a partial taunt, I prefer total taunts.

Your "Provoke" and "Provoked" states are ready, but you have to also set a passive state for actors who won't be concerned by the taunt.

So create a last state, this time name it "Not provoked". Set no icon and the priority to zero. This state is hidden from the player. Also set the removal condition to "Battle End"

Then paste this code snippet in the Notetags Box :

Code:
<Ignore Physical Taunt>
<Ignore Magical Taunt>
<Ignore Certain Taunt>


<Custom Passive Condition>

if (user.isStateAffected(x)) {

condition = false;

} else {

condition = true;

}

</Custom Passive Condition>
Replace x by the ID of the "Provoked" state.
This condition means "The actor will not be immune to taunt anymore if they're affected by the "Provoked" state."

We will now have to set the passive states. Go to the Actors panel and for each Actor paste this code snippet in the Notetags Box :

Code:
<Passive State: x>
Where x is the ID of "Not Provoked" state. The actors will have it unless they're provoked.

Go to the Enemies panel, and for each enemy who has the skill "Provoke" in its moveset, you will have to paste this in the Notetags box :

Code:
<Passive State: x>
Where x is the ID of "Provoke" state. The enemy will only have it if one of the party members is provoked.

Now, this trick works well if there's only one enemy that uses Provoke in the troop. If there is 2 or more enemies that uses provoke, all the provoked actors can focus all of the enemies who can use Provoke, and that even if they aren't the ones who provoked them.

I'm open to suggestions if you find something to handle multiple taunts !
 
Last edited:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Eh... just the three of us killing mosquitoes and collecting them. Current kill count: 14.
Been watching videos about IRS phone scammers. Some really scummy people in the world.
Is the "2 status updates per 24h" still in effect?
My first attempt at Pixel Art :blink::) (I have no idea what I'm doing but I'm doing it)
Plugin instructions: *exists*
Plugin: What did he say? *error*

Forum statistics

Threads
93,724
Messages
914,946
Members
123,330
Latest member
Rikuto
Top