• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Scripting Question] Custom Ability BullRush

5
Posts
8
Years
    • Seen Dec 14, 2021
    Hey!

    Complete n00b on scripting and would love to the add the custom ability BullRush from Red Radical to a Pokemon Essential game.

    Bull Rush –
    First move when deals 1.5x damage (Has to be first move used on each switch in, like how Fake Out/First Impression work.)

    Could any one please guide me how to script this please?
    Thanks!
     

    StCooler

    Mayst thou thy peace discover.
    9,301
    Posts
    4
    Years
    • Seen May 5, 2024
    Hey!

    Complete n00b on scripting and would love to the add the custom ability BullRush from Red Radical to a Pokemon Essential game.

    Bull Rush –
    First move when deals 1.5x damage (Has to be first move used on each switch in, like how Fake Out/First Impression work.)

    Could any one please guide me how to script this please?
    Thanks!

    Sorry but I don't understand the description of your ability.
    The first move the Pokémon uses gains priority and a bonus on damage? Is that it?

    If this is what you mean, then, here is a first track. You can get inspiration from the code for Gale Wings or Prankster. Paste this code somewhere (make a new script that contains all your new code):
    Code:
    # Gives a bonus to any move with standard priority
    BattleHandlers::PriorityChangeAbility.add(:BULLRUSH,
      proc { |ability,battler,move,pri|
        next pri+1 if battler.turnCount <= 1 && pri == 0
      }
    )
    
    # Gives a bonus to the damage.
    BattleHandlers::DamageCalcUserAbility.add(:BULLRUSH,
      proc { |ability,user,target,move,mults,baseDmg,type|
        mults[FINAL_DMG_MULT] *= 1.5 if user.turnCount <= 1 && move.priority == 0 
      }
    )
     
    5
    Posts
    8
    Years
    • Seen Dec 14, 2021
    Thanks! But im only looking for the damage buff. How would it have to be scripted?
     

    StCooler

    Mayst thou thy peace discover.
    9,301
    Posts
    4
    Years
    • Seen May 5, 2024
    Thanks! But im only looking for the damage buff. How would it have to be scripted?

    Just take the second battle handler then:
    Code:
    # Gives a bonus to the damage.
    BattleHandlers::DamageCalcUserAbility.add(:BULLRUSH,
      proc { |ability,user,target,move,mults,baseDmg,type|
        mults[FINAL_DMG_MULT] *= 1.5 if user.turnCount <= 1 && move.priority == 0 
      }
    )
     

    curryofthepast

    Were they a fool, a sage or a lonely friend?
    14
    Posts
    5
    Years
  • Kind of a necropost, but I was interested in this in myself and coded it how I think Rad Dev devs intended it to work. Quote: On the first turn this Pokemon is out on the field for, it gets a 1.5x Speed boost and a 1.2x Attack boost.

    This should work for v18 and v19. Two parts like StCooler posted earlier. For a one turn ability it's kinda weak, but how it stacks with damage increasing items can be kinda insane. For my project I think I'll set the damage at 1.25 like Rivalry. Personally I also think it would be more balanced/interesting if the damage boost only applies for physical moves, but then again most bull-looking Pokemon are already physical based so no biggie.
    Code:
    # Bull Rush from Radical Red speed part
    BattleHandlers::SpeedCalcAbility.add(:BULLRUSH,
      proc { |ability,battler,mult|
        next mult*1.5 if battler.turnCount <= 1
      }
    )
    
    # Bull Rush from Radical Red damage part 
    BattleHandlers::DamageCalcUserAbility.add(:BULLRUSH,
      proc { |ability,user,target,move,mults,baseDmg,type|
        mults[:attack_multiplier] *= 1.2 if user.turnCount <= 1
      }
    )
     
    Last edited:
    Back
    Top