Pre-made (Yanfly's) Action Sequence Sharing and Discussions

Toxsick

Villager
Member
Joined
Sep 21, 2019
Messages
12
Reaction score
1
First Language
English
Primarily Uses
RMMV
Hey guy's I have been struggling to figure out how to make a sequence that hit's multiple targets. I want my swordsman to run up to individual targets and do damage to each of them. For instance I'd like him to run up to target 1 slash them do damage and then move to target 2 and do the same. For some reason though he won't move to another target even when i define the target. for instance move user: target 2, back base, 5 My character doesn't move when I input this in he moves to target 1 on the first slice and stays there for the second. I have also tried using enemy and opponent tags none work.
 

Moon_Haven

Veteran
Veteran
Joined
May 5, 2020
Messages
126
Reaction score
47
First Language
Français
Primarily Uses
RMMV
Hey guy's I have been struggling to figure out how to make a sequence that hit's multiple targets. I want my swordsman to run up to individual targets and do damage to each of them. For instance I'd like him to run up to target 1 slash them do damage and then move to target 2 and do the same. For some reason though he won't move to another target even when i define the target. for instance move user: target 2, back base, 5 My character doesn't move when I input this in he moves to target 1 on the first slice and stays there for the second. I have also tried using enemy and opponent tags none work.

Here's my whirlwind skill, it attacks 4 times. If taunt is activated, the character will attack that target 4 times, otherwise it will attack the selected target + 3 randoms. Note that the character goes semi-opaque when the skill is in use and goes back to full opacity when the sequence is over.


Code:
<Cooldown: 5>

<Custom Target Eval>
    if (target.isStateAffected(32)) {
        targets.push(target);
        targets.push(target);
        targets.push(target);
        targets.push(target);

    } else {
        targets.push(target);
        var members = foes.aliveMembers();
        targets.push(members[Math.floor(Math.random() * members.length)]);
        targets.push(members[Math.floor(Math.random() * members.length)]);
        targets.push(members[Math.floor(Math.random() * members.length)]);
    }
</Custom Target Eval>

<setup action>
    clear battle log
    display action
    immortal: targets, true
    cast animation
    wait for animation
</setup action>

<whole action>

    face user: target

    motion item: user
    animation 164: user
    wait for animation

    opacity user: 50%, 30
    wait: 30

</whole action>

<target action>

    move user: target, front, 20
    wait for movement

    face user: target
    motion attack: user

    action effect
    animation 177: target
    if target.result().missed || target.result().evaded
        move target: forward, 15
        animation 129: user
    else
        animation 130: target
    end

    wait: 10
 
</target action>

<follow action>
    opacity user: 100%, 30
</follow action>

<finish action>
    immortal: targets, false
    wait for new line
    clear battle log
    perform finish
    wait for movement
    wait for effect
</finish action>
 

Aesica

undefined
Veteran
Joined
May 12, 2018
Messages
1,477
Reaction score
1,369
First Language
English
Primarily Uses
RMMV
Hey guy's I have been struggling to figure out how to make a sequence that hit's multiple targets. I want my swordsman to run up to individual targets and do damage to each of them. For instance I'd like him to run up to target 1 slash them do damage and then move to target 2 and do the same. For some reason though he won't move to another target even when i define the target. for instance move user: target 2, back base, 5 My character doesn't move when I input this in he moves to target 1 on the first slice and stays there for the second. I have also tried using enemy and opponent tags none work.
You're probably using <Whole Action> when you should be using <Target Action>. Remember that the entire <Target Action> block is executed once for each target, while <Whole Action> and the others are only executed once. Here's a quick throwtogether that should do what you want. Probably. Maybe.

Code:
<Whole Action>
</Whole Action>
<Target Action>
move user: target, front base, 10
jump user: 100, 10
wait for movement
face user: target
motion attack: user
motion wait: user
action animation: target
wait for animation
action effect: target
</Target Action>
<Follow Action>
move user: home, 10
jump user: 100, 10
wait for movement
perform finish
</Follow Action>
 

Toxsick

Villager
Member
Joined
Sep 21, 2019
Messages
12
Reaction score
1
First Language
English
Primarily Uses
RMMV
You're probably using <Whole Action> when you should be using <Target Action>. Remember that the entire <Target Action> block is executed once for each target, while <Whole Action> and the others are only executed once. Here's a quick throwtogether that should do what you want. Probably. Maybe.

Code:
<Whole Action>
</Whole Action>
<Target Action>
move user: target, front base, 10
jump user: 100, 10
wait for movement
face user: target
motion attack: user
motion wait: user
action animation: target
wait for animation
action effect: target
</Target Action>
<Follow Action>
move user: home, 10
jump user: 100, 10
wait for movement
perform finish
</Follow Action>
Isn't that an attack for just one target though? I can make stuff like that Im having trouble with having him move to seperate enemies. Like say you have 3 enemies. Lets say enemy 1, enemy 2 and enemy 3 Id like to to start his motion moving to enemy one and slashing them. But instead of hitting enemy one again i'd like him to move to enemy 2 and attack them. I'm trying to create and attack where he kinda dances between all the enemies on screen. I just don't know enough about coding to make the outcome happen.
 

Toxsick

Villager
Member
Joined
Sep 21, 2019
Messages
12
Reaction score
1
First Language
English
Primarily Uses
RMMV
Here's my whirlwind skill, it attacks 4 times. If taunt is activated, the character will attack that target 4 times, otherwise it will attack the selected target + 3 randoms. Note that the character goes semi-opaque when the skill is in use and goes back to full opacity when the sequence is over.


Code:
<Cooldown: 5>

<Custom Target Eval>
    if (target.isStateAffected(32)) {
        targets.push(target);
        targets.push(target);
        targets.push(target);
        targets.push(target);

    } else {
        targets.push(target);
        var members = foes.aliveMembers();
        targets.push(members[Math.floor(Math.random() * members.length)]);
        targets.push(members[Math.floor(Math.random() * members.length)]);
        targets.push(members[Math.floor(Math.random() * members.length)]);
    }
</Custom Target Eval>

<setup action>
    clear battle log
    display action
    immortal: targets, true
    cast animation
    wait for animation
</setup action>

<whole action>

    face user: target

    motion item: user
    animation 164: user
    wait for animation

    opacity user: 50%, 30
    wait: 30

</whole action>

<target action>

    move user: target, front, 20
    wait for movement

    face user: target
    motion attack: user

    action effect
    animation 177: target
    if target.result().missed || target.result().evaded
        move target: forward, 15
        animation 129: user
    else
        animation 130: target
    end

    wait: 10

</target action>

<follow action>
    opacity user: 100%, 30
</follow action>

<finish action>
    immortal: targets, false
    wait for new line
    clear battle log
    perform finish
    wait for movement
    wait for effect
</finish action>
Hi! I know its asking a lot but could you go over what the code you put in does? like the states part i get it checks to see if the enemy has the state and then activates that line if it does. but what does targets.push(target) do? And where does the damage for the enemies come in? I just want to make a lot of these kinds of attacks and have no clue where to begin since im a begginner in coding. Thank you for any help i appreciate it.
 

Moon_Haven

Veteran
Veteran
Joined
May 5, 2020
Messages
126
Reaction score
47
First Language
Français
Primarily Uses
RMMV
Sure! I'll add comments // like this

Code:
// Skill cannot be used more than once every 5 turns, you need yanfly cooldown plugin for that
<Cooldown: 5>

// evaluate which enemies will be targeted. you can use the game's skill "scope" to target 4 random enemies, you can use yanfly target core pluging for a notetag <Target: Target 3 Random Foes>, which will have the character attack UP to 4 targets but only once, or you can push the targets one by one like the code I have below

<Custom Target Eval>

// If target is under yanfly taunt effect
    if (target.isStateAffected(32)) {

        // add the same target 4 times
        targets.push(target);
        targets.push(target);
        targets.push(target);
        targets.push(target);

// if target not under taunt effect
    } else {

        // add the selected target
        targets.push(target);

        // add 3 more targets from the pool of enemies alive
        var members = foes.aliveMembers();
        targets.push(members[Math.floor(Math.random() * members.length)]);
        targets.push(members[Math.floor(Math.random() * members.length)]);
        targets.push(members[Math.floor(Math.random() * members.length)]);
    }
</Custom Target Eval>

<setup action>
    clear battle log
    display action
    immortal: targets, true
    cast animation
    wait for animation
</setup action>

// start the action sequence
<whole action>

    // always face the target first, because there are some states like confusion that will have the enemy attack their own allies and if you do not do that, the weapon attack may play backwards
    face user: target

    // simulate a skill casting... it's like spell casting, but for skills 
    motion item: user
    animation 164: user
    wait for animation

   // dissipate
    opacity user: 50%, 30
    wait: 30

</whole action>


// This is for each and every target that we have pushed in the attack list
<target action>

    // move character in front of target
    move user: target, front, 20
    wait for movement

    // face the target
    face user: target
    motion attack: user

    // swing weapon, do the damage if it hits
    action effect
    animation 177: target

    // if the attack missed the target
    if target.result().missed || target.result().evaded

        // simulate action of enemy dodging
        move target: forward, 15

        // swing and a miss, animation doesn't do a hit sound
        animation 129: user

    else

        // do damage animation + sound
        animation 130: target

    end

    wait: 10
 
</target action>

<follow action>
    opacity user: 100%, 30
</follow action>

<finish action>
    immortal: targets, false
    wait for new line
    clear battle log
    perform finish
    wait for movement
    wait for effect
</finish action>
 

Toxsick

Villager
Member
Joined
Sep 21, 2019
Messages
12
Reaction score
1
First Language
English
Primarily Uses
RMMV
Sure! I'll add comments // like this

Code:
// Skill cannot be used more than once every 5 turns, you need yanfly cooldown plugin for that
<Cooldown: 5>

// evaluate which enemies will be targeted. you can use the game's skill "scope" to target 4 random enemies, you can use yanfly target core pluging for a notetag <Target: Target 3 Random Foes>, which will have the character attack UP to 4 targets but only once, or you can push the targets one by one like the code I have below

<Custom Target Eval>

// If target is under yanfly taunt effect
    if (target.isStateAffected(32)) {

        // add the same target 4 times
        targets.push(target);
        targets.push(target);
        targets.push(target);
        targets.push(target);

// if target not under taunt effect
    } else {

        // add the selected target
        targets.push(target);

        // add 3 more targets from the pool of enemies alive
        var members = foes.aliveMembers();
        targets.push(members[Math.floor(Math.random() * members.length)]);
        targets.push(members[Math.floor(Math.random() * members.length)]);
        targets.push(members[Math.floor(Math.random() * members.length)]);
    }
</Custom Target Eval>

<setup action>
    clear battle log
    display action
    immortal: targets, true
    cast animation
    wait for animation
</setup action>

// start the action sequence
<whole action>

    // always face the target first, because there are some states like confusion that will have the enemy attack their own allies and if you do not do that, the weapon attack may play backwards
    face user: target

    // simulate a skill casting... it's like spell casting, but for skills
    motion item: user
    animation 164: user
    wait for animation

   // dissipate
    opacity user: 50%, 30
    wait: 30

</whole action>


// This is for each and every target that we have pushed in the attack list
<target action>

    // move character in front of target
    move user: target, front, 20
    wait for movement

    // face the target
    face user: target
    motion attack: user

    // swing weapon, do the damage if it hits
    action effect
    animation 177: target

    // if the attack missed the target
    if target.result().missed || target.result().evaded

        // simulate action of enemy dodging
        move target: forward, 15

        // swing and a miss, animation doesn't do a hit sound
        animation 129: user

    else

        // do damage animation + sound
        animation 130: target

    end

    wait: 10

</target action>

<follow action>
    opacity user: 100%, 30
</follow action>

<finish action>
    immortal: targets, false
    wait for new line
    clear battle log
    perform finish
    wait for movement
    wait for effect
</finish action>
Thank you so much! Ok if you don't mind i actually have one more question. Do you have an example of a skill that does different thing's in the attack? Like say i wanted him to use a thunder strike on enemy 1 but then wanted him to use a different ability on enemy 2? is there a way to do that? Plus ive noticed that my animation keeps running over and over and its a rather large one so it kinda kills the vibe when he uses it 4 times in a row. Like is it possible to have multiple targeting phases? Where i could have him target one guy attack them and then create another to? or can i place custom targets in my targeting phase? Thank you so much for all of you help i highly appreciate all of your assistance!
 
Last edited:

Moon_Haven

Veteran
Veteran
Joined
May 5, 2020
Messages
126
Reaction score
47
First Language
Français
Primarily Uses
RMMV
Thank you so much! Ok if you don't mind i actually have one more question. Do you have an example of a skill that does different thing's in the attack? Like say i wanted him to use a thunder strike on enemy 1 but then wanted him to use a different ability on enemy 2? is there a way to do that? Plus ive noticed that my animation keeps running over and over and its a rather large one so it kinda kills the vibe when he uses it 4 times in a row. Like is it possible to have multiple targeting phases? Where i could have him target one guy attack them and then create another to? or can i place custom targets in my targeting phase? Thank you so much for all of you help i highly appreciate all of your assistance!


I don't know if you can call different abilities from one skill. You can, however, call different animations.

Here's an example:


Common Event
Call a random value between 1 and 2, save it temporarily in a variable

Annotation 2020-08-31 0635052.jpg


Skill

In the effect, call the common event. If you have multiple common events, it needs to be at the very bottom of the list.
Your action sequence needs to call "action common event", which will execute the last common event you have in the list just above.
Then you check for the value of the variable. If value=1 then play one animation, if value=2 then play a different animation.

Annotation 2020-08-31 06350532.jpg


This is the whole animation code:

Code:
<Cooldown: 3>

<Target: Target 3 Random Foes>

<setup action>
    clear battle log
    display action
    immortal: targets, true
    cast animation
    wait for animation
</setup action>

<whole action>

    perform start
    wait for movement

    animation 210: user
    wait for animation

    animation 213: user
    wait for animation

</whole action>

<target action>
    action common event
    if ($gameVariables.value(1) === 1)
        animation 218: target
    end
    if ($gameVariables.value(1) === 2)
        animation 219: target
    end

    wait: 20
    action effect
</target action>

<finish action>
    immortal: targets, false
    wait for new line
    clear battle log
    perform finish
    wait for movement
    wait for effect
</finish action>
 

Toxsick

Villager
Member
Joined
Sep 21, 2019
Messages
12
Reaction score
1
First Language
English
Primarily Uses
RMMV
@Moon_Haven Hey thank you for that I really needed that I tried using the
<Target: Target 3 Random Foes>
line of code you put in and it never worked until i copy and pasted yours into it haha i must have been missing a greater then sign or something. Thank you for your help! Idk if you still check these but is there a way to stop my guy from attacking dead enemies? I have it set to where they die after the first attack and he just keeps attacking the dead target sometimes. Thank you for all of your help you dah MVP bruh!
 

Moon_Haven

Veteran
Veteran
Joined
May 5, 2020
Messages
126
Reaction score
47
First Language
Français
Primarily Uses
RMMV
@Moon_Haven Hey thank you for that I really needed that I tried using the
<Target: Target 3 Random Foes>
line of code you put in and it never worked until i copy and pasted yours into it haha i must have been missing a greater then sign or something. Thank you for your help! Idk if you still check these but is there a way to stop my guy from attacking dead enemies? I have it set to where they die after the first attack and he just keeps attacking the dead target sometimes. Thank you for all of your help you dah MVP bruh!
This is the reason I'm using the immortal tag. Without it, characters keep attacking, even when their target is down. This is because the targets are set at the very beginning of the action sequence phase and AFAIK, you can't change them on the fly to, let's say, replace a dead target to a live one.
 

ItsAri

That one Weeb
Veteran
Joined
Dec 9, 2019
Messages
53
Reaction score
64
First Language
English
Primarily Uses
RMMV
I'm trying to apply a state if the enemy has a state already. If there a way can do it in the Notebox? I know how to type it but I completely forgot the terms :kaoswt2:

EDIT: I figured it out. If anyone wants the code, here it is:

<Custom Respond Effect>

var element = x;

if (this.item().damage.elementId === element) {

target.addState(y);

target.removeState(z);

}
</Custom Respond Effect>
 
Last edited:

Toxsick

Villager
Member
Joined
Sep 21, 2019
Messages
12
Reaction score
1
First Language
English
Primarily Uses
RMMV
@Moon_Haven Hey so can i use that variable common event to have him move and do other things other then animation changes? I'm trying to currently but if i specify the motion in the box where the variable decides what he does he don't move.
 

jonenglish91

Villager
Member
Joined
Aug 23, 2015
Messages
21
Reaction score
26
First Language
English
Primarily Uses
RMMV
I tried recreating Asch the bloody's Rending Saber from Tales of the Abyss

Sprites are in WIP so it's not completely fleshed out the sequence is.



Code:
<Party Limit Cost: 4>
<setup action>
display action
immortal: targets, true
</setup action>

<whole action>
common event: 2
common event: 11
common event: 13

ACTION CUTIN USER: template J.horizontal
Wait: 100
opacity all actors: 0%, 20
opacity enemies: 0%, 20
opacity user: 100%, 20
common event: 2
-----<movement>------
se: crossbow
motion evade: user
jump user: 30, 12
move user: forward, 150, 12
wait for movement
move target: forward, 150, 1
opacity target: 100%, 20
motion idle: user
camera offset: up, 50
CAMERA FOCUS: user
wait: 10
-----<movement>------
battleback 3 add: battlebacks1, SpeedlineverticalBW
battleback 3 scroll speed y: -300
camera screen: user, base top, 15
zoom: 200%, 15
------Charge Skill-------
custom motion charge: user
animation 257: user
wait for animation
custom motion Raise: user
se: Jon-Annihilation
wait: 10
animation 179: user, mirror
shake screen: 3, 5, 5
jump target: 150, 16
action effect
wait: 16
animation 179: user, mirror
shake screen: 3, 5, 5
jump target: 150, 16
action effect
wait: 16
animation 179: user, mirror
shake screen: 3, 5, 5
jump target: 150, 16
action effect
wait: 16
animation 179: user, mirror
shake screen: 3, 5, 5
jump target: 150, 16
action effect
wait: 16
animation 179: user, mirror
shake screen: 3, 5, 5
jump target: 150, 16
action effect
wait :10
shake screen: 3, 5, 5
jump target: 150, 16
action effect
wait: 16
shake screen: 3, 5, 5
jump target: 150, 16
action effect
wait: 60
animation 258: user, mirror
custom motion SwordSpin: user
wait: 3
animation 258: user, mirror
wait: 3
animation 258: user, mirror
wait: 3
animation 258: user, mirror
wait: 3
animation 258: user, mirror
wait: 4
custom motion SwordThrust: user
animation 259: user, mirror
animation 263: user, mirror
se: Jon-Rending
wait: 25
animation 260: user, mirror
wait: 15
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
animation 259: user, mirror
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
animation 261: user, mirror
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
animation 259: user, mirror
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 110, 10
action effect
wait: 10
shake screen: 2, 5, 5
jump target: 400, 10
action effect
float target: 400, 0
wait: 10
shake screen: 2, 5, 5
animation 259: user, mirror
wait: 10
shake screen: 2, 5, 5
wait: 10
shake screen: 2, 5, 5
animation 263: user, mirror
wait: 30
death break
fade out: 100
wait: 120
float target: 0, 60

</whole action>

<target action>
</target action>

<finish action>

clear battle log
battleback 3 remove
reset camera
reset zoom
wait for animation
common event: 3
perform finish
wait for movement
opacity all actors: 100%, 0
opacity enemies: 100%, 0
fade in: 120
wait: 50
common event: 19
common event: 12
common event: 14

immortal: targets, false
</finish action>
 

SoSickGames

Villager
Member
Joined
Nov 2, 2019
Messages
8
Reaction score
7
First Language
English
Primarily Uses
RMMV
@jonenglish91 your action sequences are fantastic! Really nice to watch.. I hope to make some at this level..I am curious at what after image plugin you use? I’m currently doing it the hard way ( making battle animations for after image ) haha. Thanks
 

jonenglish91

Villager
Member
Joined
Aug 23, 2015
Messages
21
Reaction score
26
First Language
English
Primarily Uses
RMMV
@jonenglish91 your action sequences are fantastic! Really nice to watch.. I hope to make some at this level..I am curious at what after image plugin you use? I’m currently doing it the hard way ( making battle animations for after image ) haha. Thanks
Thank you!

This is the plugin I used.


Although I did make some edits to the plugin, coming from a C# background and knew little bit of Javascript for me to make some plugin command calls through common events for me to implement into action sequence.
 
Last edited:

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

Latest Threads

Latest Profile Posts

Ami
--- Diary ---

M.Mage: It's the F.Mage's Diary. While she isn't here,i can read it.

May, 10: I'm hurt after the battle with the Minotaur. But luckily,F.Healer heal me with her Heal-2. That why,i Fall in Love with her.

M.Mage: Eh???
So... some of my Desktop hardware has kicked it apparently (still trying to figure out what and how at the moment :/ ) .... yay?
Stream will be live shortly with some Darkest Dungeon! Feel free to drop by!
Made a HUGE (YYOOOOJJ) Update to Monstructs and moving towards a Steam Early Access release!
A skill type called: "Rumagic". The intention is Magic with Rum(that pirates drink)
Does it sound strange in English?

Forum statistics

Threads
104,220
Messages
1,004,781
Members
135,730
Latest member
sosmax
Top