• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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
    9
    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!
     
    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 
      }
    )
     
    Thanks! But im only looking for the damage buff. How would it have to be scripted?
     
    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 
      }
    )
     
    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