• 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.
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • Akari, Red, Kris, May - which Pokémon protagonist is your favorite? Let us know by voting in our semifinal favorite protagonist poll!
  • 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.

Script: Wonder Launcher [DBK Add-On] [v21.1]

Wonder Launcher for v21.1
Replicates Wonder Launcher battles from Generation 5 into Essentials.
[PokeCommunity.com] Wonder Launcher [DBK Add-On] [v21.1]
[PokeCommunity.com] Wonder Launcher [DBK Add-On] [v21.1]

Overview
This plugin builds upon the Deluxe Battle Kit to add the Wonder Launcher functionality to your trainer battles. The Wonder Launcher was a feature that was introduced in Pokemon Black & White. In these games, you had the ability to queue for special PvP battles online where players had the ability to use items from their inventory during a competitive match - a first in the series.
However, these were not ordinary items from your bag. Instead, each player was given a special set inventory of items that could be launched onto the battlefield. These included typical healing items such as Potions, Revives, and status cures, as well as X items that would boost a Pokemon's stats. Additionally, each player had to earn the right to use one of these items during battle by spending a number of points relative to the quality of the selected item; points which were earned at the start of each turn.

This plugin aims to replicate this mechanic which will allow you to participate in Wonder Launcher battles against NPC trainers in Essentials.


-DOWNLOAD LINK-

Installation
  • First, please install the latest version of the Deluxe Battle Kit. This plugin functions as an add-on to that kit.
  • Second, you will also need to install the latest version of the Improved Item AI plugin. This plugin will not work without it.
  • Next, download this plugin using the link provided and extract its contents to your root Essentials folder so that the Graphics, PBS and Plugins folders in the download merge with their equivalent folders in your project.
  • Start your game in debug mode and make sure you recompile by holding down the CTRL key while the game is booting up. If the console says "Game data was not compiled", then you didn't hold down the key long enough, or don't have the game window in focus.

Changelog (v1.0.5)
Spoiler:



Plugin Tutorial


Please refer to the add-on page for this plugin in the Deluxe Battle Kit Tutorial.

 
Last edited:
Will you make it compatible with Bag Screen w/int. Party? Every time I use item in a wonder launcher battle this happens.
[2024-06-28 23:06:43 +0800]
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `call' for false:FalseClass

Backtrace:
[Bag Screen w/int. Party] Script.rb:879:in `block (2 levels) in pbRefreshFilter'
[Bag Screen w/int. Party] Script.rb:878:in `times'
[Bag Screen w/int. Party] Script.rb:878:in `block in pbRefreshFilter'
[Bag Screen w/int. Party] Script.rb:876:in `each'
[Bag Screen w/int. Party] Script.rb:876:in `pbRefreshFilter'
[Bag Screen w/int. Party] Script.rb:564:in `pbStartScene'
[[DBK] Wonder Launcher] [008] Battle_Scene.rb:80:in `pbLauncherMenu'
[[DBK] Wonder Launcher] [006] Battle.rb:303:in `pbItemMenu'
[[DBK] Enhanced Battle UI] [005] Poke Ball UI.rb:178:in `pbItemMenu'
155:Battle_CommandPhase:232:in `block (2 levels) in pbCommandPhaseLoop'
 
Will you make it compatible with Bag Screen w/int. Party? Every time I use item in a wonder launcher battle this happens.
[2024-06-28 23:06:43 +0800]
[Pokémon Essentials version 21.1]
[v21.1 Hotfixes 1.0.9]

Exception: NoMethodError
Message: undefined method `call' for false:FalseClass

Backtrace:
[Bag Screen w/int. Party] Script.rb:879:in `block (2 levels) in pbRefreshFilter'
[Bag Screen w/int. Party] Script.rb:878:in `times'
[Bag Screen w/int. Party] Script.rb:878:in `block in pbRefreshFilter'
[Bag Screen w/int. Party] Script.rb:876:in `each'
[Bag Screen w/int. Party] Script.rb:876:in `pbRefreshFilter'
[Bag Screen w/int. Party] Script.rb:564:in `pbStartScene'
[[DBK] Wonder Launcher] [008] Battle_Scene.rb:80:in `pbLauncherMenu'
[[DBK] Wonder Launcher] [006] Battle.rb:303:in `pbItemMenu'
[[DBK] Enhanced Battle UI] [005] Poke Ball UI.rb:178:in `pbItemMenu'
155:Battle_CommandPhase:232:in `block (2 levels) in pbCommandPhaseLoop'
Oof, I always forget that plugin exists. That's going to be a pain to implement, I probably won't get to it for a bit.
 
Hey there, thanks for your help previously! I got everything to work :)
I have continued working on some stuff and have encountered the following two problems:
1) In your guide i have read about the "UsesAllBattleActions" and "firstAction" arguments and was wondering how I could disable that the wonder launcher uses any turns at all. Maybe you could give me some pointers?
2) In your plugin the wonder launcher bag has all items that have a cost of >0 (therefore defined in the items file). I was wondering where I should start if i want to change it so that each trainer can have their own items they can use.

Thanks in advance, your help is much appreciated!!
 
Hey there, thanks for your help previously! I got everything to work :)
I have continued working on some stuff and have encountered the following two problems:
1) In your guide i have read about the "UsesAllBattleActions" and "firstAction" arguments and was wondering how I could disable that the wonder launcher uses any turns at all. Maybe you could give me some pointers?
2) In your plugin the wonder launcher bag has all items that have a cost of >0 (therefore defined in the items file). I was wondering where I should start if i want to change it so that each trainer can have their own items they can use.

Thanks in advance, your help is much appreciated!!
This seems like its not so much "help with the plugin," and more like "how do turn this into something completely different?", which im unsure if that's a road I want to go down, because that seems like itll just lead to endless questions until im just making an entirely different project with you.

1) Not making the Wonder Launcher use up ANY turns at all (meaning, I assume, you can do multiple actions per turn - using items AND using moves on the same Pokemon, for example) would mean completely rewriting how items are used in battle altogether. There is nothing inherently special about how the Wonder Launcher uses items. The items function exactly like items normally used in battle function.

2) Again, this just kinda sounds like you want something that works like the complete opposite of this plugin. If you want each trainer to use their own set list of items (basically, the same as they do by default), then you just have to undo all of the plugin code that specifically changes this for Wonder Launcher battles.
 
Yeah I can totally understand that. I don't want to bother you with endless questions. You are correct in assuming that I am trying to repurpose your plugin to fit my ideas, it would be something entirely different.
1) I figured as much. I'll figure it out myself then.
2) I managed to implement this :)
Again, sorry to bother you but thanks for the help anyways!

PS: I think I found a bug in the Item AI, though I am sure the AI was not designed to handle this anyways: If the AI uses an item that targets an opposing pokemon (using the OnEnemy flag) it uses it on their own pokemon. I'll change that for my project but maybe you find it interesting that it works this way as well^^
 
Last edited:
Yeah I can totally understand that. I don't want to bother you with endless questions. You are correct in assuming that I am trying to repurpose your plugin to fit my ideas, it would be something entirely different.
1) I figured as much. I'll figure it out myself then.
2) I managed to implement this :)
Again, sorry to bother you but thanks for the help anyways!

PS: I think I found a bug in the Item AI, though I am sure the AI was not designed to handle this anyways: If the AI uses an item that targets an opposing pokemon (using the OnEnemy flag) it uses it on their own pokemon. I'll change that for my project but maybe you find it interesting that it works this way as well^^
Youll have to be more specific about what makes you think there's a bug. Because there is no OnEnemy flag for items. There's an OnFoe flag (which only Poke Balls use and arent relevant to Launcher Items), and an OnTarget flag which can target ANY battler, not specifically opponents. So it's perfectly possible for items with this flag to be used on the AI's own Pokemon.
 
Oh yeah, my bad. I misremembered. It is the onFoe flag and usually it does not matter, that is why I said "though I am sure the AI was not designed to handle this anyways".
 
I have figured everything out and have rewritten the battle code to allow the use of both moves and items, also implemented trainers having different wonder launcher items, which i can now define in their pbs file :)
Still have one question tho: In your command refactor class there is a method that renames the "bag" button to "launch" but it does not seem like the method is ever called. I have looked through all plugins and cannot seem to find where to change the button text. I have tried ctrl+f and "Launch","_INTL(" and "cmds". I really is not for the lack of trying, I am genuinely asking!
 
I have figured everything out and have rewritten the battle code to allow the use of both moves and items, also implemented trainers having different wonder launcher items, which i can now define in their pbs file :)
Still have one question tho: In your command refactor class there is a method that renames the "bag" button to "launch" but it does not seem like the method is ever called. I have looked through all plugins and cannot seem to find where to change the button text. I have tried ctrl+f and "Launch","_INTL(" and "cmds". I really is not for the lack of trying, I am genuinely asking!
That's only used by Essentials if you set USE_GRAPHICS to false. This will display the command window as text, like in Gen 1, rather than using button icons.
 
Where did you set the button text to "Launch" then? I have looked through all of your plugins scripts :/
Hmm? No where. Like I said, the text is only drawn if you specifically turned off the command menu graphics.

If you havent turned them off, then it just displays the command menu button icons. "Launch" is just one of those button graphics. You have to edit the UI graphic itself in an image editor if you want to change it.
 
Back
Top