Jump to content

Recommended Posts

FP: Target Scopes

Author: Tsukihime

 

Overview

 

Now when you say "for all" you really mean for all units in battle. Or maybe also outside the battle?

 

Features

  • Target all alive battlers
  • Target all dead battlers
  • Target all ally reserves (party members not in battle)
  • Target all other allies (all allies except the user)
  • Target all in-battle except user (everyone in battle except the user)
  • Target all except user (everyone except the user)
Usage

 

Just tag your skills/items with

 

<scope: x>
Where x is one of the scopes defined at the top of the script.

 

For example,

 

<scope: 12>
will target all members that are currently alive in the battle.

 

Download

 

Script: Download here

Edited by Tsukihime

Share this post


Link to post
Share on other sites

You can make enemy troops "appear halfway" (in Troops tab when positioning enemies, right click on an enemy to do that). Then you can call those troops in with the battle event.

 

Not sure if you've taken that into account or not but thought I'd mention it as they are kind of "reserve" enemy troops.

Share this post


Link to post
Share on other sites

Oh, didn't know about that lol

Ya I guess those could be reserves, since they don't seem to be in battle unless you explicitly tell them to appear.

 

EDIT: nvm it would take too much work to target enemy reserves.

Edited by Tsukihime

Share this post


Link to post
Share on other sites

FP: Target Scopes

Author: Tsukihime

 

Overview

 

Now when you say "for all" you really mean for all units in battle. Or maybe also outside the battle?

 

Features

  • Target all alive battlers
  • Target all dead battlers
  • Target all ally reserves (party members not in battle)
  • Target all other allies (all allies except the user)
  • Target all in-battle except user (everyone in battle except the user)
  • Target all except user (everyone except the user)

Usage

 

Just tag your skills/items with

 

<scope: x>

 

Where x is one of the scopes defined at the top of the script.

 

For example,

 

<scope: 12>

 

will target all members that are currently alive in the battle.

 

Download

 

Script: http://db.tt/1TpB3psB

 

 

Is there an option to target a random battler from foes AND allies? I'm thinking about a spell like Roulette where it has a chance to kill anyone, not just foes.

Share this post


Link to post
Share on other sites

Tragically I'm finding that I've got way more conflicts than just the Roulette skill, when it comes to Blue Magic... I can't seem to get a Sacrifice skill working (sacrifice one party member's HP to damage a foe, which results in the immediate KO of that particular party member), Doom (countdown to death) (the turn system doesn't work in my current ATB System), Stone/Break (again, countdown doesn't work because turns don't work), Regen (again, turns are broken so the heals never pop up). And that's just the ones that I can't get to work. There's a whole slew of other ones that I can't get the actors to even learn, because they cause no damage to the party, just status effects or they heal the enemy party. So yeah. I think I'm putting my project on hold for a while lol.

Share this post


Link to post
Share on other sites

Roulette is easy, too: Create a Skill A called "Roulette" that runs a common event, and create the common event like this:

 

- Change Variable to random number between 1 and 2

- If Var = 1 >> Force Action: Actor uses Skill B (see below)

- If Var = 2 >> Force Action: Actor uses Skill C (see below)

 

Then create two more skills (B and C), called something like "Roulette Hits Ally" and "Roulette Hits Enemy". Set the first to hit a random ally with Death +1000%, the second to hit a random enemy with Death +1000% =)

Edited by Caveras

Share this post


Link to post
Share on other sites

I'm guessing there's no way to target "One Ally, regardless of dead or alive" without a rewrite of the targeting system, is there?

 

For example, for an "ultimate healing spell" that revives, cures all statuses, and heals all HP. "One Ally" works if they're alive, but not dead; and "One Ally (Dead)" works if they're dead, but not alive.

Share this post


Link to post
Share on other sites

Google yanfly's target manager script or lunatic targets, they should provide the options for what you need.

Edited by Caveras

Share this post


Link to post
Share on other sites

Yanfly's target manager does not--those target scopes involve modifications of "random" or "all."

 

Lunatic targets...I'm not sure if even that will bypass the dead/alive restrictions...

Share this post


Link to post
Share on other sites

Doesn't targets: everybody target the whole party regardless of status? I somehow thought it did. Or a fitting lunatic eval?

 

Yes, but what I'm looking for is Target: One Ally, regardless of whether that ally is dead or alive.

Share this post


Link to post
Share on other sites

My script had a bug where effects don't work on dead allies.

 

I don't know what you want to do with dead allies, but unless you're reviving them, nothing will happen because when you're dead, all states are removed and HP is set to 0.

Share this post


Link to post
Share on other sites

I've updated the script with two more scopes.

 

19 is for one ally.

20 is for one enemy.

 

Except it disregards alive/dead status.

 

It is possible to add support for "targets with specific status inflicted" as well but I'm not doing that now.

Share this post


Link to post
Share on other sites

Thanks, Tsuki! I'll try it out shortly.

 

EDIT1: Tried <scope: 19> on said ultimate healing skill, and the battler's Action selection ends immediately.

 

I'll try this on a blank project to eliminate script conflicts from the equation...

 

EDIT2: A few tests with a default project with only your script, creating a new skill called "Ultimate Heal"

Type: HP Recover

Element: None

Formula: 9999 + a.mat * 4

Effects: Remove Death, Poison, Blind, Confusion, Sleep, Paralysis, Stun 100%

Hit Type: Magical Attack

Notetag: <scope: 19>

 

Exhibit A: Made the Scope (the drop-down box): One Ally. Everything else is as stated above:

 

Result: Works on allies that are alive, but not dead. On allies that are dead, "Eric casts Ultimate Heal..." nothing happens.

 

Exhibit B: Scope (drop-down box): One Ally (Dead). Again, everything else is as stated above:

 

Result: Same as Exhibit A: works on allies that are alive, but not dead.

 

Exhibit C: Scope: None. Again, everything else as above:

 

Result: Exactly the same as Exhibit A and B.

Edited by killerb255

Share this post


Link to post
Share on other sites

Removed the damage formula, added "Recover HP 100%" as an effect. Per the previous posts' Exhibits:

 

Exhibit A (One Ally): Again, works on allies that are alive, but not dead. Target a dead ally, and the skill will switch targets to the first living ally (like any other "One Ally" skill would do).

 

Exhibit B (One Ally (Dead)): Works on the dead ally, but not any living allies. Skill has no effect if there are no dead allies.

 

Exhibit C (no scope in the drop-down box): After selecting the Skill, there is no opportunity to select a target.

Share this post


Link to post
Share on other sites

Roulette is easy, too: Create a Skill A called "Roulette" that runs a common event, and create the common event like this:

 

- Change Variable to random number between 1 and 2

- If Var = 1 >> Force Action: Actor uses Skill B (see below)

- If Var = 2 >> Force Action: Actor uses Skill C (see below)

 

Then create two more skills (B and C), called something like "Roulette Hits Ally" and "Roulette Hits Enemy". Set the first to hit a random ally with Death +1000%, the second to hit a random enemy with Death +1000% =)

 

This is brilliant and beautiful! I'm just so sorry it's taken me a year to A) get back into the swing of things and B ) discover your genius! The only thing that behaves strangely is that whichever random variable is selected, it will inflict Death upon that battler but it will pop up with +FAILED+ on the other... In other words, I believe one of my battle engines is attempting to convey that something tried something on someone and failed. Is there a workaround you might know of? I'm using Yanfly's Ace Battle Engine.

Edited by Jeffafa

Share this post


Link to post
Share on other sites

You probably have the target scopes wrong. For Skill A, use scope: none; for Skill B (Ally dies), use scope: one ally (or <targets: 1 random allies> with Yanfly's Target Manager); for Skill C (Enemy dies), use scope: 1 Random Enemy.

 

If that doesn't help, include Yanfly's Anti Fail Message Script ( http://yanflychannel.wordpress.com/rmvxa/utility-scripts/anti-fail-message/ ) and put the corresponding notetag in all skills that you don't want to show a "fail" in any case.

Share this post


Link to post
Share on other sites

Brilliant! Well, with the addition of Yanfly's Anti-Fail Message script haha. The only thing that could possibly make this skill perfect would be the ability to scope randomly of all battlers ally and foe. It kind of sucks doing a 50/50 chance thing first, THEN randomly selecting from the targets remaining. Oh well. Beggars can't be choosers lol. Thanks so much for your assistance in this :)

 

 

Edit: The only other proposed way of accomplishing this was to add this into the custom damage formula directly into the skill:

 

x=($game_party.alive_members+$game_troop.alive_members).sample;x.add_state(1);0

 

However, the animation would be all screwed up as that would be determined by the scope, not who it actually ends up targeting.

Edited by Jeffafa

Share this post


Link to post
Share on other sites

That's right. The targeting system is one of the things that comes off quite a bit underdeveloped, and I've yet to see a script that enables some sort of free targeting of either enemies or allies. Also, why does the editor allow you to target random enemies, but not random allies? It's one of the tiny flaws we have to live with until RPG Maker VX Truly Ace launches in about three years or so xD

 

Btw, if you take a look at Yanfly's Lunatic scripts, you'll find some interesting bits. With them and some knowledge of what you're doing you can script yourself some easy "during action" or "after action" or "after calculation" effects for skills and whatever that may prevent you from using quirky workarounds.

Edited by Caveras

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
Top ArrowTop Arrow Highlighted