Turn Extension v1.00

● ARCHIVED · READ-ONLY
Started by Engr. Adiktuzmiko 15 posts View original ↗
  1. ==============================================================================


    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
  2. Erm... I don't get it. Could you give me an example about how this script work?
  3. 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.
  4. 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.
  5. Me gusta! Now I can save time than eventing it all in :D
  6. 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 :)
     
  7. Engr. Adiktuzmiko said:
    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.
    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 use

    <start_turn_start_ext>

    formula

    <end_turn_start_ext>

    with what condition formula?
  8. 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!
  9. @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

    Spoiler
    try 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:
    <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>
    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
    @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

    Code:
    <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.
  10. Engr. Adiktuzmiko said:
    @BoloBolu - All my scripts that work like this are named "extension"... I have ones for States, Leveling up, Damage application etc

    @Neko

    Spoiler
    try 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:
    <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>
    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
    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.
    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!

    I will take a look about your state extension.
  11. 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>
  12. Engr. Adiktuzmiko said:
    @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.
    Oh okay, I see how it works. Thanks!
  13. 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.
  14. 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?
  15. 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>