Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
593
Reaction score
393
First Language
English
Primarily Uses
RMMZ
I need a set of plugins to produce the effects of 'Auto-Potion', 'Auto-Phoenix' & 'Auto-Med'. For those of you who don't play Final Fantasy X or aren't familiar with these abilities, I'll explain:


Auto-Potion: When this 'State/Skill/Passive Ability' is possessed by a character & they are either damaged or when their HP goes below a certain percentage, they will automatically use a healing item to heal themselves (as long as their actions aren't hindered by another state such as paralysis, sleep, etc.). The script should be customizable so that the user can list any number of healing items to search their inventory for before using, listed in order of priority: Checks if 1st item is in inventory, if not, move down to next item. If none are in inventory, it doesn't go off. The conditions to set this off should be customizable as well with the following options: Either when the actor/enemy takes damage or when their HP falls below a set percentage. Also, Auto-Potion is self-targeting.


Auto-Phoenix: When a actor has this ability & a ally dies, they automatically use a reviving item on them. Same restrictions as Auto-Potion (can't have actions hindered by another state) & customization would be the same. There's only 1 condition to set this off. However, there are circumstances which may come up. Multiple actors having it & multiple actors dead, at the same time. I've come up with a simple logic to prioritize this. First, if 1 or more actors die, that sets off each actor's Auto-Phoenix, with 1st actor's A-Ph 1st, then if more actors are still dead, 2nd actor's A-Ph goes off, etc. Now there's the problem with A-Ph going off when multiple actors die. I think a customizable option should check the number of dead actors. If there is more than 1 dead actor, have a separate 'multi-revive' option that can be customized to check for items that can revive more than 1 actor (like the whole party at once). If there are no such items, then it falls back to the regular revival items to revive 1 person based on party member order (checks if 1st actor is dead, if so, revive them, if not check 2nd, etc.) Would probably look something like this:


Multi-Revive option: (if dead actors is equal or greater than 2)


Item 1


Item 2


etc.


Auto-Phoenix items: (if dead actors = 1)


Item 1


Item 2


etc.


After an actor's A-Ph goes off, script checks if another actor's A-Ph is set to go off, if so, then check each actor to see if any are still dead. If none are, A-Ph doesn't go off (for all other instances on 'stand-by'). If there are any still dead, check starting from 1st to last. This repeat until there are no more A-Ph instances left or all actors are alive.


Auto-Med: Like Auto-Potion, this is a self-targeting ability. When actor is inflicted with a state that is listed in a customized list of 'Negative States', they will use a curing item based on which state was inflicted. There should be an option to check in case actor is inflicted with more than 1 'Negative State'. It also follows the same restrictions as the other 2 (Won't go off if actions are hindered). It would something like this:


Multiple 'Negative States' option: (if actor's 'Negative States' is equal or greater than 2)


Item 1


Item 2


etc.


List of negative states & which item to use:


State 1 -> Item 1


State 2 -> Item 2


State 3 -> Item 3


etc.


That should about cover each of them & the logic behind targeting & such. Don't forget to set the option to customize which state IDs these would apply to. The only other thing is if any of these are all set to go off together, multiple times with each. In which case, their priority should be; Auto-Phoenix, Auto-Med, then Auto-Potion.


I'm sorry if this seems like a lot & I'd appreciate anyone who would be willing to help. Thanks in advance.
 

Victor Sant

Veteran
Veteran
Joined
Mar 17, 2012
Messages
1,694
Reaction score
1,474
First Language
Portuguese
Primarily Uses
VE Counter Actions + VE Retaliation Damage + VE Passive States moght help you with the Auto-Potion and Auto-Med.



The Retaliation damage is there to make the counter occur only after the damage.


The Passive State is to apply the effects to the actor.


Now using the Counter Actions:


- For the Auto-Potion, you can set it as


<action counter: damage, item ID, 'a.hpRate < X', priority>


(remember that the hp rate is a decimal value, so 1.0 === 100%, 0.25 === 25%)


You can add all usable items you have and set the priority values to decide wich ones will be used first. The action must be usable, so if the player don't have the item, he will not counter with that item.


- For the Auto-Med, you can set it as:


<action counter: any, item ID, 'a.isStateAffected(stateId) && a.isOpponentOf(b)', priority>



To check if the actor is afflicted by more than one state add this to the condition code:  'a.states().lenght > 1'


I didn't test those tags myself, but they should work.


The Auto-Phoenix wouldn't work because the actor can't counter actions at other targets.
 
Last edited by a moderator:

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
593
Reaction score
393
First Language
English
Primarily Uses
RMMZ
VE Counter Actions + VE Retaliation Damage + VE Passive States moght help you with the Auto-Potion and Auto-Med.



The Retaliation damage is there to make the counter occur only after the damage.


The Passive State is to apply the effects to the actor.


Now using the Counter Actions:


- For the Auto-Potion, you can set it as



<action counter: damage, item ID, 'a.hpRate < X', priority>


(remember that the hp rate is a decimal value, so 1.0 === 100%, 0.25 === 25%)


You can add all usable items you have and set the priority values to decide wich ones will be used first. The action must be usable, so if the player don't have the item, he will not counter with that item.


- For the Auto-Med, you can set it as:



<action counter: any, item ID, 'a.isStateAffected(stateId) && a.isOpponentOf(b)', priority>



To check if the actor is afflicted by more than one state add this to the condition code:  'a.states().lenght > 1'


I didn't test those tags myself, but they should work.


The Auto-Phoenix wouldn't work because the actor can't counter actions at other targets.

For the Auto-Potion one, how would I go about adding more than 1 item? Do I simply put multiple numbers where the item ID is? Do I separate them with spaces or commas? And for the Auto-Med, shouldn't .lenght actually be .length?
 

Victor Sant

Veteran
Veteran
Joined
Mar 17, 2012
Messages
1,694
Reaction score
1,474
First Language
Portuguese
Primarily Uses
For the Auto-Potion one, how would I go about adding more than 1 item? Do I simply put multiple numbers where the item ID is? Do I separate them with spaces or commas?

You need one different tag for each item


<action counter: damage, item 1, 'a.hpRate < 0.25', 8>

Code:
<action counter: damage, item 2, 'a.hpRate < 0.25', 9>

Code:
<action counter: damage, item 3, 'a.hpRate < 0.25', 10>


Use the priority to set wich items you want to be used first, on the examples i've made the item 3 with higer priority, so it will be used before the others.

And for the Auto-Med, shouldn't .lenght actually be .length?

Yes, just a typo.
 
Last edited by a moderator:

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
593
Reaction score
393
First Language
English
Primarily Uses
RMMZ
You need one different tag for each item



<action counter: damage, item 1, 'a.hpRate < 0.25', 8>

Code:
<action counter: damage, item 2, 'a.hpRate < 0.25', 9>

Code:
<action counter: damage, item 3, 'a.hpRate < 0.25', 10>


Use the priority to set wich items you want to be used first, on the examples i've made the item 3 with higer priority, so it will be used before the others.


Yes, just a typo.

Ok, thanks. I'll try this out when I get home.


Edit: Tried it, didn't work. No error, just didn't function at all, even with the Basic Module.
 
Last edited by a moderator:

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
593
Reaction score
393
First Language
English
Primarily Uses
RMMZ
Bumping for help
 

Victor Sant

Veteran
Veteran
Joined
Mar 17, 2012
Messages
1,694
Reaction score
1,474
First Language
Portuguese
Primarily Uses
I updated the action counter to be compatible with YEP_BattleCoreEngine (wich was probably the reason it didn't worked first, are you using it, right?), although the codes I posted here should be different.


Also:
 

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
593
Reaction score
393
First Language
English
Primarily Uses
RMMZ
I updated the action counter to be compatible with YEP_BattleCoreEngine (wich was probably the reason it didn't worked first, are you using it, right?), although the codes I posted here should be different.


Also:

I've updated all the scripts but it still doesn't work. You mention that the codes you posted should be different, here's the ones I'm using currently:


<action counter: damage, item 1, 'a.hpRate < 0.25', 3>
<action counter: damage, item 2, 'a.hpRate < 0.25', 2>
<action counter: damage, item 3, 'a.hpRate < 0.25', 1>


The Death Counter is great for things like Auto-Life, but not for things like Auto-Potion, Auto-Phoenix or Auto-Med, because Potion & Med don't go off when you die & it won't work for Auto-Phoenix because Auto-Phoenix goes off by having an ally die then another actor with it would use a reviving item on them, not on themselves.


Also, I solved the reference on your Death Counter video, it Gabriel Celeste from Valkyrie Profile, he says it after you beat him, along with the Meteor Swarm which is one of his techniques.
 

Victor Sant

Veteran
Veteran
Joined
Mar 17, 2012
Messages
1,694
Reaction score
1,474
First Language
Portuguese
Primarily Uses
Like I said, the code for counter action with script codes changed.


It should like


 <custom action counter: trigger, action[, priority]>
   result = code
 </custom action counter>


For example the code for item 1 should be something like

Code:
 <custom action counter: damage, item 1>
   if (a.hpRate() < 0.25) {
       result = 100;
   } else {
       result = 0;
   }
 </custom action counter>
 
Last edited by a moderator:

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
593
Reaction score
393
First Language
English
Primarily Uses
RMMZ
I changed it but it still doesn't work. I'll include the notetags that copied & pasted from the notebox.

Auto-Potion notetag.png
 

Victor Sant

Veteran
Veteran
Joined
Mar 17, 2012
Messages
1,694
Reaction score
1,474
First Language
Portuguese
Primarily Uses
the [ ] shouldn't be added to the setup


Wrong:


<custom action counter: damage, item 1[, 1]>


Right:


<custom action counter: damage, item 1, 1>
 

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
593
Reaction score
393
First Language
English
Primarily Uses
RMMZ
I took out those brackets but it still doesn't work.
 

Victor Sant

Veteran
Veteran
Joined
Mar 17, 2012
Messages
1,694
Reaction score
1,474
First Language
Portuguese
Primarily Uses
Yeah there is a bug on it, most tags aren't working without the plugin Retaliation Damage. You can get the retaliation damage to test the notetags and then remove it when the counter is updated. (wich should later today or tomorrow)
 
Last edited by a moderator:

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
593
Reaction score
393
First Language
English
Primarily Uses
RMMZ
Even after adding the Retaliation Damage plugin it still doesn't work.
 

Victor Sant

Veteran
Veteran
Joined
Mar 17, 2012
Messages
1,694
Reaction score
1,474
First Language
Portuguese
Primarily Uses
Updated the plugin, check if it is working now.
 

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
593
Reaction score
393
First Language
English
Primarily Uses
RMMZ
The Counter Actions download actually shows your Charge Actions instead. The file name says VE_CounterActions.js but if you open it, it's actually your Charge Actions plugin.
 
Last edited by a moderator:

Victor Sant

Veteran
Veteran
Joined
Mar 17, 2012
Messages
1,694
Reaction score
1,474
First Language
Portuguese
Primarily Uses
My bad, uploaded the correct file now.
 

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
593
Reaction score
393
First Language
English
Primarily Uses
RMMZ
Installed the new version of both Counter Action & the newest version of Basic Module & it still doesn't work.
 

Victor Sant

Veteran
Veteran
Joined
Mar 17, 2012
Messages
1,694
Reaction score
1,474
First Language
Portuguese
Primarily Uses
Then there is an incompatibility. I tested the notetags you posted and it is working.Try messing with the order of the plugins (generally speaking you should place the VE plugins bellow others, there are really few situations where they work better when placed above)
 
Last edited by a moderator:

Latest Threads

Latest Posts

Latest Profile Posts

Creating the mood, coloring, and lighting for this gonna need a big brain moment.1685936069202.png
Someone in a facebook group just corrected something I said, by saying exactly what I said. The mind boggles.
Less than 20 tiles remain in Inside_B that I need some kind of analogue of in my in custom Inside_B, and a whole 39 tiles that I didn't use and can thus make my own custom tiles or my own flavors of from other tile sheets.


Chapters advancing demonstration.
Main character roey will be revived after chapter 7, so the animations will be different after it
The title of the main characters will be ascended to celestial as well as wings and rings.

Forum statistics

Threads
131,648
Messages
1,221,858
Members
173,388
Latest member
calico5588
Top