• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
  • Apologies if you've had troubles connecting to the site, you may need a VPN to access it. Staff are also facing issues connecting, so if it's urgent please message Cat on-site or through Discord directly.
  • Hey Guest, staff applications are open! If you are interested in becoming a forum staff member and/or Discord staff member, please apply through this Google Form before April 2! You can also message Cat with any questions.
Resource icon

v21.1 Add the function of exchanging ball types in the Party UI 2024-08-24

This resource pertains to version 21.1 of Pokémon Essentials.
Pokémon Essentials Version
v21.1 ✅
Allow players to easily switch between different types of balls

Ruby:
Expand Collapse Copy
MenuHandlers.add(:party_menu, :change_ball, {
  "name"      => _INTL("Ball"),
  "order"     => 35,
  "condition" => proc { |screen, party, party_idx| next !party[party_idx].egg? && !party[party_idx].mail },
  "effect"    => proc { |screen, party, party_idx|
    balls = $bag.pockets[3].map { |ball| GameData::Item.try_get(ball[0]) }
    if balls.empty?
      pbMessage(_INTL("You don't have any balls in your bag."))
      next
    end
    balls.sort_by! { |ball| ball.name }
    commands = balls.map { |ball| ball.name }
    pkmn = party[party_idx]
    current_ball_id = pkmn.poke_ball
    current_ball_name = GameData::Item.try_get(current_ball_id)&.name
    current_cmd = balls.index { |ball| ball.id == current_ball_id } || 0
    selected_cmd = screen.pbShowCommands(_INTL("Select a ball to swap.\nCurrent:{1}", current_ball_name), commands, current_cmd)
    next if selected_cmd < 0
    new_ball = balls[selected_cmd]
    if new_ball.id == current_ball_id
      pbMessage(_INTL("The ball you have selected is the same as the current ball."))
      next
    end
    $bag.remove(new_ball.id)
    pkmn.poke_ball = new_ball.id
    pbMessage(_INTL("The Pokemon's ball was changed to {1}.", new_ball.name))
    screen.pbRefreshSingle(party_idx)
  }
})
Credits
Halily
TAAAAAAA
  • Like
Reactions: NikDie
Author
halily
Views
964
First release
Last update

Ratings

5.00 star(s) 1 ratings
Back
Top