• 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.
  • Reminder: AI-generated content is not allowed on the forums per the Rules and Regulations. Please contact us if you have any questions!
BW Mystery Gift And Card Album

Resource BW Mystery Gift And Card Album PR 2.6.0

leo_ranger

Keeper of Secrets
Member
Joined
Nov 16, 2022
Posts
14
leo_ranger submitted a new resource:

BW Mystery Gift And Card Album - Reimagining of KleinStudio's BW Mystery Gift script using Richard PT's scripts as a base

This plugin is a complete reimagining of KleinStudio's BW Mystery Gift system, rebuilt from the ground up using Richard PT's script framework as its foundation. It modernizes and streamlines the original functionality, offering a modular, stable, and visually dynamic Mystery Gift experience. Key improvements include:

MG%20Menu.png
[IMG width="50%"...

Read more about this resource...
 
leo_ranger updated BW Mystery Gift And Card Album with a new update entry:

Bug and QOL Update

Fixed issues

Gift card
  • Corrected batten loading and navigation of gift cards.
    Fixed Pokemon icon sprites on wonder cards albums loading the full image and not the first sprite.
  • Fixed alignment of items and Pokemon icons on Wonder card albums.

Back code

  • No longer need to adjust NPCs for wonder card gift tracking, this now occurs automatically.
  • Fixed a small issue that caused items loaded after the plugin to not work...

Read the rest of this update entry...
 
I'm getting this error every time I want to download one Mystery Gift:

Ruby:
Expand Collapse Copy
[Pokémon Essentials version 20.1]
[v20.1 Hotfixes 1.0.7]

Exception: NoMethodError
Message: undefined method `lerp' for MysteryGiftCustom:Module

Backtrace:
[BW Mystery Gift And Card Album] 004_Download_Filters_and_Animation.rb:283:in `block (2 levels) in pbDownloadMysteryGift_Internet'
[BW Mystery Gift And Card Album] 004_Download_Filters_and_Animation.rb:282:in `loop'
[BW Mystery Gift And Card Album] 004_Download_Filters_and_Animation.rb:282:in `block in pbDownloadMysteryGift_Internet'
[BW Mystery Gift And Card Album] 004_Download_Filters_and_Animation.rb:157:in `loop'
[BW Mystery Gift And Card Album] 004_Download_Filters_and_Animation.rb:157:in `pbDownloadMysteryGift_Internet'
[BW Mystery Gift And Card Album] 003_Main_Menu.rb:178:in `block in <main>'
[BW Mystery Gift And Card Album] 003_Main_Menu.rb:159:in `block in pbStartScreen'
[BW Mystery Gift And Card Album] 003_Main_Menu.rb:157:in `loop'
[BW Mystery Gift And Card Album] 003_Main_Menu.rb:157:in `pbStartScreen'
[Voltseon's Pause Menu] 005_VoltseonMenu_Entries.rb:417:in `block in selected'

The Mystery Gifts work, I think, since the game reads the new one I made. This error happens with both the one I made and the ones you provided, so I'm not sure how to fix it.

Update: I managed to fix it, turns out Essentials 20.1 didn't have "Lerp" as a method from the get go. Sorry for false alarming. Beyond that, the script works perfectly in 20.1 btw.
 
Last edited:
I've enabled Mystery Gifts on my game's save prior to adding this resource, but the "Mystery Gift" option is still listed on the main menu. Is there something that I should be doing or that I should change in order for it to not appear there?
 
I've enabled Mystery Gifts on my game's save prior to adding this resource, but the "Mystery Gift" option is still listed on the main menu. Is there something that I should be doing or that I should change in order for it to not appear there?
So the current build is designed for multi-save so it goes to the main menu but default right now while i still work on it.
you're welcome to change where it is located or accessed from however trying to load it form the load screen at this time will likely cause a crash.
If your comfortable in changing it yourself at this time the files that control these are:

  • 001_Main Menu Handler (adds it to your pause menu)
    MenuHandlers.add(:pause_menu, :Mystery_Gift, { "name" => proc { "Mystery Gift" },
    "order" => 55,
    "condition" => proc { $player.mystery_gift_unlocked },
    "effect" => proc { |menu|
    pbPlayDecisionSE
    pbFadeOutIn do
    scene = PokemonMGift_Scene.new
    screen = PokemonMGiftScreen.new(scene)
    screen.pbStartScreen
    menu.pbRefresh
    end
    next false
    }
    })


  • 002_pbCallMysteryGiftDEBUG (Disables the loading screen option by storing the the trigger then switching it to dalse till you load the game)

  • #===============================================================================
    # Temporarily Disable Mystery Gift Load Screen Command
    #===============================================================================
    # Hides the Mystery Gift option in the load screen without permanently
    # modifying the save data.
    #===============================================================================

    # Wait until the class exists
    if Object.const_defined?(:PokemonLoadScreen)
    class PokemonLoadScreen
    alias_method :orig_pbStartLoadScreen, :pbStartLoadScreen

    def pbStartLoadScreen
    orig_value = nil
    if @save_data[:player]
    orig_value = @save_data[:player].mystery_gift_unlocked
    @save_data[:player].instance_variable_set(:@mystery_gift_unlocked, false)
    end

    orig_pbStartLoadScreen

    if @save_data[:player] && !orig_value.nil?
    @save_data[:player].instance_variable_set(:@mystery_gift_unlocked, orig_value)
    end
    end
    end
    else
    # If class doesn’t exist yet, defer the patch until after Essentials loads
    PluginManager.register({:name => "DisableMysteryGift", :version => "1.0"}) do
    Object.send(:remove_const, :DisableMysteryGift) rescue nil
    # Retry after game classes are loaded
    Graphics.transition(0)
    Graphics.update
    if Object.const_defined?(:PokemonLoadScreen)
    class PokemonLoadScreen
    alias_method :orig_pbStartLoadScreen, :pbStartLoadScreen

    def pbStartLoadScreen
    orig_value = nil
    if @save_data[:player]
    orig_value = @save_data[:player].mystery_gift_unlocked
    @save_data[:player].instance_variable_set(:@mystery_gift_unlocked, false)
    end

    orig_pbStartLoadScreen

    if @save_data[:player] && !orig_value.nil?
    @save_data[:player].instance_variable_set(:@mystery_gift_unlocked, orig_value)
    end
    end
    end
    end
    end
    end

 
Sorry, I should've clarified more in my original post. I'm also using a multi-save plugin, but I'm still able to access the default Mystery Gift screen on the main menu, no crash or anything, if I understand your reply correctly.

You're saying that it should be "disabled" for now, or at least block the player from accessing it here, so that way they have to access it in game, correct?
 
Back
Top