==============================================================================
Overview
==============================================================================
This script provides the ability to run RGSS3 methods/formulas during the
start and end of turns.
These can be used for:
actors/classes/weapons/armors/states/enemies
Global – always affects turn start and end
Actors – affects all turn start and end when the actor is present in battle
Classes – affects all turn start and end when the class is present in battle
Weapons/Armors – affects all turn start and end when the weapon/armor
is equipped by any actor in battle
Enemies – affects all turn start and end when the enemy is present in battle
States – affects all turn start and end when the state is present in battle
==============================================================================
Download
==============================================================================
Get it here: http://pastebin.com/raw.php?i=mfbdZySE
Turn Extension v1.00
● ARCHIVED · READ-ONLY
-
-
Erm... I don't get it. Could you give me an example about how this script work?
-
It enables you to tag weapons. items, states and so on with a piece of ruby code, that runs in battle every turn start or turn end. You'll need some scripting knowledge to use this properly.
Nice script. I like it. -
Yeah :)
Like for example, you want an armor/state that recovers HP by a set amount instead of percent per end of turn. Or an enemy that drains life per turn end/start. Or you want an actor/class to gain a state during turn start based on some conditions. And many more things, as long as you can write the RGSS3 code for them. -
Me gusta! Now I can save time than eventing it all in :D
-
Wow another great script from miko, it's really good indeed. The name is Turn Extension, a bit vague at first though(at least for me -__-), but that's not a problem :)
-
Huhm... If i want to make a state which will increase ATK by 1 point for every 1% HP lost (the state will check HP percent and increase ATK at the start of each turn), then i will useYeah :)
Like for example, you want an armor/state that recovers HP by a set amount instead of percent per end of turn. Or an enemy that drains life per turn end/start. Or you want an actor/class to gain a state during turn start based on some conditions. And many more things, as long as you can write the RGSS3 code for them.
<start_turn_start_ext>
formula
<end_turn_start_ext>
with what condition formula? -
I'm a little confused as to what type of formulas I could run. For example, if I just wanted a basic damage formula, would it be the same as those in the skills (a.atk *4) or is it more complex?
Basically I'd just like an example or two, and I can extrapolate from there.
Looks like it could be a very powerful script though, thanks! -
@BoloBolu - All my scripts that work like this are named "extension", mainly because they give you extended capabilities... I have ones for States, Leveling up, Damage application etc
@Neko
@Halrawk - That will depend on which object you want to put the tag in and who you'd want to damage... but it's a bit more complex than simply doing a.atk since we're doing this at turn start and turn end, so there's no skill user and target here.Spoilertry something like
<start_turn_start_ext>battler.add_param(2,(battler.mhp-battler.hp)*factor)<end_turn_start_ext>This would not reduce it afterwards though. To do that, I'd suggest making an instance variable for Game_Battler first which you will use to save the current bonus.so something like
class Game_Battlerattr_accessor :bonus_damageendthen on the tag
Code:Though it still won't remove the bonus when the battle ends or the state removed, to do that, you could use my State Extension script so that you can remove the bonus once the state is removed. Modifying params need a bit of care, else you can easily have unwanted results<start_turn_start_ext>battler.bonus_damage = 0 if battler.bonus_damage.nil?battler.add_param(2,-battler.bonus_damage)battler.bonus_damage = (battler.mhp-battler.hp)*factorbattler.add_param(2,battler.bonus_damage)<end_turn_start_ext>
For example, if we want an enemy that deals atk damage to the first party member every turn start, you'd tag that enemy with
Code:That would of course, not show any damage pop-up or info on the log window. You'd need to add that manually if you want it.<start_turn_start_ext>$game_party.battle_members[0].hp -= battler.atk<end_turn_start_ext> -
@BoloBolu - All my scripts that work like this are named "extension"... I have ones for States, Leveling up, Damage application etc
@Neko
Spoilertry something like
<start_turn_start_ext>battler.add_param(2,(battler.mhp-battler.hp)*factor)<end_turn_start_ext>This would not reduce it afterwards though. To do that, I'd suggest making an instance variable for Game_Battler first which you will use to save the current bonus.so something like
class Game_Battlerattr_accessor :bonus_damageendthen on the tag
Code:Though it still won't remove the bonus when the battle ends or the state removed, to do that, you could use my State Extension script so that you can remove the bonus once the state is removed. Modifying params need a bit of care, else you can easily have unwanted results<start_turn_start_ext>battler.bonus_damage = 0 if battler.bonus_damage.nil?battler.add_param(2,-battler.bonus_damage)battler.bonus_damage = (battler.mhp-battler.hp)*factorbattler.add_param(2,battler.bonus_damage)<end_turn_start_ext>To tell the truth, i just want to have an example about formula in notebox. So i just think about some random question. But since i need a state like that, then it's solve 2 problems with 1 question LOL!Spoiler@Halrawk - That will depend on which object you want to put the tag in and who you'd want to damage... but it's a bit more complex than simply doing a.atk since we're doing this at turn start and turn end, so there's no skill user and target here.
For example, if we want an enemy that deals atk damage to the first party member every turn start, you'd tag that enemy with
<start_turn_start_ext>$game_party.battle_members[0].hp -= battler.atk<end_turn_start_ext>That would of course, not show any damage pop-up or info on the log window. You'd need to add that manually if you want it.
I will take a look about your state extension. -
Make sure you set bonus_damage to 0 when the state is removed using the States Extension, else you might suffer atk loss during your next battle
I think something like this should do it (from my States Extension):
Code:<start_unstate_ext> self.add_param(2,-self.bonus_damage) self.bonus_damage = 0 <end_unstate_ext> -
Oh okay, I see how it works. Thanks!@Halrawk - That will depend on which object you want to put the tag in and who you'd want to damage... but it's a bit more complex than simply doing a.atk since we're doing this at turn start and turn end, so there's no skill user and target here.For example, if we want an enemy that deals atk damage to the first party member every turn start, you'd tag that enemy with
<start_turn_start_ext>$game_party.battle_members[0].hp -= battler.atk<end_turn_start_ext>That would of course, not show any damage pop-up or info on the log window. You'd need to add that manually if you want it. -
I think this could work for something I've been wanting to do. Like, equipment that gives the entire team a buff, and not just the character who's equipping it.
-
Any examples for applying states? I have a rough grasp of scripting, but I'm not sure what the calls or methods look like. If I had a piece of armor that'd apply state 3 during battle at the start of every turn, what's an example I could use to make this happen?
-
actor_object.add_state(state_id)
so in this case you'd do
Code:<start_turn_start_ext> battler.add_state(3)<end_turn_start_ext>