• 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.
Pokemon Adventures (Not the Manga)

Resource Pokemon Adventures (Not the Manga) 1.1

BluMasc

Novice
Member
Joined
Jan 7, 2022
Posts
13
BluMasc submitted a new resource:

Pokemon Adventures (Not the Manga) - A Screen and Function for sending Pokemon Adventuring

I am starting to learn some ruby and essentials and made this script as a proof of concept.

This script adds a menu where you can send up to 6 pokemon on an adventure. They will collect items and battle pokémon.

Sometimes (if there is space) they can even befriend the pokemon.

You can even send eggs on adventures to hatch them.

The script updates every time the player takes a step.

View attachment 8423

It is supposed to be called from a menu (the pokegear for example)...

Read more about this resource...
 

ImZero

Just a Number
Member
Joined
Nov 4, 2020
Posts
52
I absolutely love the idea of this! Only thing is that I have no idea what calls the plugin to even run...
 
Last edited:

BluMasc

Novice
Member
Joined
Jan 7, 2022
Posts
13
BluMasc updated Pokemon Adventures (Not the Manga) with a new update entry:

Almost Release Time

UPDATE 0.9.9
The Script can now be called with pbStartAdventureMenu
You can now press shift in the menu to collect all items at once instead of one at a time
If the player has a :POKEMONBOXLINK item the send to box button opens up the box menu with the adventure party
You can now change in the config if you want to have global or local encounters and if you want badge based level scaling
Additionaly you can change if friends found on an adventure are brilliant
Also cleaned up the config. Now...

Read the rest of this update entry...
 

BluMasc

Novice
Member
Joined
Jan 7, 2022
Posts
13
I absolutely love the idea of this! Only thing is that I have no idea what calls the plugin to even run...
You can now call it with pbStartAdventureMenu if you use the new version.

Alternatively you can start it with:

Start Script:
Expand Collapse Copy
pbFadeOutIn(99999) {
        scene = Adventure_Scene.new
        screen = Adventure_Screen.new(scene,$Trainer.party)
        screen.pbStartScreen
     }

Glad you like the idea
 

ImZero

Just a Number
Member
Joined
Nov 4, 2020
Posts
52
You can now call it with pbStartAdventureMenu if you use the new version.

Alternatively you can start it with:

Start Script:
Expand Collapse Copy
pbFadeOutIn(99999) {
        scene = Adventure_Scene.new
        screen = Adventure_Screen.new(scene,$Trainer.party)
        screen.pbStartScreen
     }

Glad you like the idea
Awesome, tysm for this!
 

Fobby

local weirdo
Member
Joined
Oct 21, 2020
Posts
61
This concept seems really amazing,
but the download link doesn't work for me?
 

SomebodyRandom

Trainer
Member
Joined
Feb 13, 2022
Posts
79
Idk what I did wrong. Is it because I tried initiating it from an npc? If so, is there a way I can get it to work from an npc?
1645747801439.png
 
Idk what I did wrong. Is it because I tried initiating it from an npc? If so, is there a way I can get it to work from an npc?
There's no reason a script call wouldn't work in an event if it worked elsewhere in the game, they all use the same code.

The error message says that ScrollingSprite wasn't defined- it looks like the UI for this uses a class from Luka's Scripting Utilities, and BluMasc just forgot to mention that on the page.
 

SomebodyRandom

Trainer
Member
Joined
Feb 13, 2022
Posts
79
After walking around with pokemon doing an adventure, this happened. It doesnt seem to happen when generating or getting pokemon, but only whenever it generates items.
1645837253025.png
 

BluMasc

Novice
Member
Joined
Jan 7, 2022
Posts
13
After walking around with pokemon doing an adventure, this happened. It doesnt seem to happen when generating or getting pokemon, but only whenever it generates items.View attachment 9129
Sorry for not answering sooner. I don't realy know what i am using, that makes this work for me but not for others, but if you open the "002_Adventure.rb" script and change ".random" in lines 49,53,57 and 61 to ".sample" it should fix your problem. I will post an updated version later.
 

King_MB

Rookie
Member
Joined
Mar 31, 2022
Posts
3
Hello, this is absolutly a great job, you've done here.

But also I would like to show you some changes I've made some changes to your script:
000_Config.rb:
Expand Collapse Copy
#-------------------------------------------------------------------------------
# Adventure: code for sending pokemon adventuring
#-------------------------------------------------------------------------------
module PokeventureConfig
  Updatesteps = 33 # How many steps should be taken before the Adventure progresses
  CustomMusic = "Mystery Dungeon Guild" # Custom music to play in the menue. Must be in the BGM folder
  #Item Collection
  CollectRandomItem = true #Collect Items from the Table below
  CollectItemsFromBattles = true # Collect Items from defeated Pokemon
  Items = {
    # :common => [:POKETOY, :POKEBALL, :FRESHWATER, :REPEL, :HEARTSCALE],
    :common => [
                :POKETOY,:POKEBALL,:FRESHWATER,:REPEL,:HEARTSCALE,:TINYMUSHROOM,:PEARL,:STARDUST,
                :FIREGEM,:WATERGEM,:ELECTRICGEM,:GRASSGEM,:ICEGEM,:FIGHTINGGEM,:POISONGEM,
                :GROUNDGEM,:FLYINGGEM,:PSYCHICGEM,:BUGGEM,:ROCKGEM,:GHOSTGEM,:DRAGONGEM,:DARKGEM,
                :STEELGEM,:NORMALGEM,:GALARICACUFF,:GALARICAWREATH
               ],
    # :uncommon => [:THUNDERSTONE, :WATERSTONE, :LEAFSTONE, :MOONSTONE, :FIRESTONE,
    #              :SUNSTONE, :SHINYSTONE, :DUSKSTONE, :DAWNSTONE,
    #              :EVERSTONE, :OVALSTONE],
    :uncommon => [
                  :NUGGET,:EVIOLITE,:DESTINYKNOT,:REDCARD,:AIRBALLOON,:AMULETCOIN,:HEATROCK,
                  :DAMPROCK,:SMOOTHROCK,:ICYROCK,:SODAPOP#,
                  #:DREAMBALL,:BEASTBALL
                 ],
    # :rare => [:LEMONADE, :ENERGYROOT, :PEARL, :BIGPEARL, :SUPERREPEL, :NUGGET], 
    :rare => [
              :BIGMUSHROOM,:BIGPEARL,:STARPIECE,:LEMONADE,:THUNDERSTONE,:WATERSTONE,:LEAFSTONE,
              :MOONSTONE,:FIRESTONE,:SUNSTONE,:SHINYSTONE,:DUSKSTONE,:DAWNSTONE,:EVERSTONE,
              :OVALSTONE,:PPUP,:ICESTONE
             ],
    :superrare => [
                   :HELIXFOSSIL,:DOMEFOSSIL,:ROOTFOSSIL,:CLAWFOSSIL,:SKULLFOSSIL,:MOOMOOMILK,
                   :ARMORFOSSIL,:COVERFOSSIL,:PLUMEFOSSIL,:BIGNUGGET,:RAREBONE,:HPUP,:PROTEIN,
                   :IRON,:CALCIUM,:ZINC,:CARBOS,:JAWFOSSIL,:SAILFOSSIL,:BOTTLECAP,:ABILITYCAPSULE
                  ],
    # :ultrarare => [:MASTERBALL,:PEARLSTRING],
    :ultrarare => [
                   :BALMMUSHROOM,:PEARLSTRING,:COMETSHARD,:PPMAX#,
                   #:JOYSCENT,:EXCITESCENT,:VIVIDSCENT
                  ],
    :secretrare => [
                    :MASTERBALL,:SACREDASH,:LONELYMINT,:ADAMANTMINT,:NAUGHTYMINT,:BRAVEMINT,
                    :BOLDMINT,:IMPISHMINT,:LAXMINT,:RELAXEDMINT,:MODESTMINT,:MILDMINT,
                    :RASHMINT,:QUIETMINT,:CALMMINT,:GENTLEMINT,:CAREFULMINT,:SASSYMINT,
                    :TIMIDMINT,:HASTYMINT,:JOLLYMINT,:NAIVEMINT,:SERIOUSMINT#,
                    #:TIMEFLUTE,:GOLDBOTTLECAP,:MAXHONEY,:MAXMUSHROOMS,:ABILITYPATCH
                   ]
  }
  ChanceToGetEnemyItem = 5 # as a 1 in x chance
  # Friends
  FindFriends = true # If there is Space should there be a chance for wild pokèmon to join you.
  ChanceToFindEgg = true # Small chance to find a rare egg
  ChanceToFindFriend = 1 # as a 1 in x chance
  AreFoundFriendsBrilliant = true #have higher ivs and a higher shiny chance
  # Exp
  GainExp = true # should the pokemon gain exp through adventuring
  # Wild Pokemon
  GlobalPkmn = true # should this script use the global encounter list everywhere instead of the specific map encounters.
  PkmnList = [
              :BULBASAUR,:CHARMANDER,:SQUIRTLE,:MEOWTH,:PICHU,:PIKACHU,:RAICHU,:RATTATA,:SANDSHREW,
              :VULPIX,:DIGLETT,:GROWLITHE,:GEODUDE,:PONYTA,:SLOWPOKE,:FARFETCHD,:GRIMER,:EXEGGUTOR,
              :MAROWAK,:WEEZING,:MRMIME,:EEVEE,:ARTICUNO,:ZAPDOS,:MOLTRES,:CHIKORITA,:CYNDAQUIL,
              :TOTODILE,:TREECKO,:TORCHIC,:MUDKIP,:ZIGZAGOON,:RALTS,:CASTFORM,:TURTWIG,:CHIMCHAR,
              :PIPLUP,:RIOLU,:ROTOM,:SNIVY,:TEPIG,:OSHAWOTT,:DARUMAKA,:YAMASK,:CHESPIN,:FENNEKIN,
              :FROAKIE,:GRENINJA,:HONEDGE,:ROWLET,:LITTEN,:POPPLIO,:SANDYGAST,:TYPENULL,:MIMIKYU,
              :MELTAN,:GROOKEY,:SCORBUNNY,:SOBBLE,:CORSOLA,:STUNFISK,:DEERLING,:FLOETTE,:ORICORIO,
              :LYCANROC,:CRAMORANT,:SINISTEA,:EISCUE,:KUBFU,:ONIX,
              :MEOWTH_1,:MEOWTH_2,:PICHU_2,:PIKACHU_4,:PIKACHU_5,:PIKACHU_6,:PIKACHU_7,:PIKACHU_8,
              :PIKACHU_9,:PIKACHU_10,:PIKACHU_11,:PIKACHU_12,:PIKACHU_13,:PIKACHU_14,:PIKACHU_15,
              :PIKACHU_16,:RAICHU_1,:RATTATA_1,:SANDSHREW_1,:VULPIX_1,:DIGLETT_1,:GEODUDE_1,:PONYTA_1,
              :SLOWPOKE_1,:FARFETCHD_1,:GRIMER_1,:EXEGGUTOR_1,:MAROWAK_1,:WEEZING_1,:MRMIME_1,
              :ARTICUNO_1,:ZAPDOS_1,:MOLTRES_1,:ZIGZAGOON_1,:ROTOM_1,:ROTOM_2,:ROTOM_3,:ROTOM_4,
              :ROTOM_5,:YAMASK_1,:GRENINJA_1,:GRENINJA_2,:CORSOLA_1,:STUNFISK_1,:DEERLING_1,
              :DEERLING_2,:DEERLING_3,:FLOETTE_5,:ORICORIO_1,:ORICORIO_2,:ORICORIO_3,:LYCANROC_1,
              :LYCANROC_2,:SINISTEA_1#,
             # :GROWLITHE_1,:EEVEE_1,:CASTFORM_1,:CASTFORM_2,:CASTFORM_3,:ONIX_1
             ]
  EggList= [
            :Pichu,:CLEFFA,:IGGLYBUFF,:TOGEPI,:TYROGUE,:SMOOCHUM,:ELEKID,:MAGBY,:BUDEW,
            :CHINGLING,:BONSLY,:MIMEJR,:HAPPINY,:MUCHLAX,:RIOLU,:MANTYKE,:TOXEL,:PHIONE,
            :MANAPHY,:KUBFU
           ]
  GlobalLeveling = true # makes the level of the encounters balanced around the number of badges instead of the location (always on if globalPkmn is on)
  #level per badge [min,max] can add more if you have more badges in your game
  #PkmnLevel = [
  # [2,15],        #0 Badges
  # [11,25],    #1 Badge
  # [21,35],    #2 Badges...
  # [31,40],
  # [41,50],
  # [51,60],
  # [61,70],
  # [71,80],
  # [81,90]        #8Badges
  #]
  PkmnLevel = [
    [1,18],        #0 Badges
    [11,28],    #1 Badge
    [21,38],    #2 Badges...
    [31,48],
    [41,58],
    [51,68],
    [61,78],
    [71,88],
    [81,98]        #8Badges
  ]
As you can see, I've added "Super-Rare" and "Secret-Rare"-Items (more to this in the next script), also the possibility for a chance to collect an egg


002_Adventure.rb:
Expand Collapse Copy
    def pbAdventuringEvent
        # chances = rand(100)
        chances = rand(500)
        case chances
        # NEW -> Secret Rare - 0.2 % Chance (Masterball, Mints)
        when 336
            if  PokeventureConfig::CollectRandomItem
                items.append(PokeventureConfig::Items[:secretrare].sample)
            end
        # Ultra Rare - 0.6 % Chance
        # when 99    # 0.99 % Chance
        when 334, 423, 477
            if  PokeventureConfig::CollectRandomItem
                items.append(PokeventureConfig::Items[:ultrarare].sample)
            end
        # NEW -> Super Rare - 1.6 % Chance
        when 55, 65, 90, 94, 115, 196, 433, 463
            if  PokeventureConfig::CollectRandomItem
                items.append(PokeventureConfig::Items[:superrare].sample)
            end
        # Rare - 3.99 % Chance
        # when 98,97,96,95,94    # 4.95 % Chance
        when 37, 38, 45, 52, 56, 127, 163, 172, 212, 266, 279, 301, 305, 352, 394, 408, 429, 444, 476, 480
            if  PokeventureConfig::CollectRandomItem
                items.append(PokeventureConfig::Items[:rare].sample)
            end
        # Uncommon - 9.78 % Chance
        # when 93,92,91,90,89,88,87,86,85,84    # 9.9 % Chance
        when 5, 27, 54, 57, 63, 69, 79, 88, 118, 135, 155, 156, 167, 170, 188, 190, 191, 198, 229, 233, 245,
             262, 267, 270, 276, 283, 284, 286, 297, 299, 308, 311, 328, 350, 362, 367, 374, 375, 377, 381,
             390, 391, 392, 401, 416, 420, 441, 466, 492
            if  PokeventureConfig::CollectRandomItem
                items.append(PokeventureConfig::Items[:uncommon].sample)
            end
        # Common - 24.15 % Chance
        # when 83,82,81,80,79,78,77,76,75,74,73,72,71,70,69        # 14,85 % Chance
        when 1, 13, 14, 19, 20, 21, 22, 28, 33, 40, 67, 76, 80, 82, 87, 96, 98, 102, 105, 106, 113, 119, 120,
             121, 125, 128, 137, 138, 141, 142, 146, 151, 157, 158, 159, 164, 171, 176, 177, 178, 179, 184,
             185, 195, 197, 200, 204, 209, 210, 214, 215, 220, 221, 225, 226, 231, 234, 236, 238, 242, 243,
             244, 255, 257, 260, 261, 263, 264, 268, 289, 291, 293, 300, 312, 316, 320, 321, 322, 323, 342,
             349, 351, 355, 356, 363, 365, 378, 382, 395, 397, 398, 400, 402, 404, 405, 406, 410, 413, 415,
             424, 425, 427, 428, 431, 434, 436, 439, 445, 451, 452, 453, 454, 461, 462, 464, 470, 475, 485,
             490, 494, 498
            if PokeventureConfig::CollectRandomItem
                items.append(PokeventureConfig::Items[:common].sample)
            end
        # Find an Egg with a baby-Pokémon in it... - 0.2 % Chance
        when 0
            if PokeventureConfig::ChanceToFindEgg
                
            end
        # Battles instead of Item-Chance - New 59.48 % Chance - Old 69.31 % Chance
        else
            battle
        end
        itemcollect       
    end
Here I implemented the 2 new rarities. Also I gave the randomness more randomness with declaring specific random chance-values.
While your Random-Chances would have be: 0.99%(UR)->4.95%(R)->9.9%(U)->14.85%(C)->69.31%(B)
My changes would give these maybe better Random-Chances: <0.2%(SeR)->0.6%(UR)->1.6%(SuR)->3.99%(R)->9.78%(U)->24.51%(C)-><0.2%(for Egg if I find a way to implement this)->59.48(B)
I think these changes my be much more balanced.
with a test-Run on the tutorial-Map my adventurer encountered these 36 Pokémon: (maybe it could have been more Pokémon, that would have come to me, if I had more space for them...)
1x Rotm_2(f), 1x Pikachu_6, 1x Moltres, 2x Floette_5 (1x f), 1x Slowpoke, 1x Raichu_1, 2 Moltres_1 (1x f), 1x Pikachu_16 (1x f), 1x Charmander, 1x Piplup (f), 1x Rowlet, 1x Onix_1 (Crystall-Onix implemented by me), 1x Corsola, 1x Raichu, 1x Litten, 1x Geodude, 1x Articuno, 1x Rotom, 1x Pikachu_5 (f), 1x Deerling_3 (f), 1x Meowth
and they brought these 19 Items with them:
2x Bug Gems, 2x Shiny Stones, Pokéball, 2x Nuggets, 2x Light Balls, Tiny Mushroom, 2 Fire Gems, Pearl, Smooth Rock, Stardust, Masterball, Rock Gem, Dream Ball, Beast Ball
Maybe you can implement some of my changes in your script, I'm sure, some other may like these changes.
(Sorre if my english isn't the best... I'm from Germany)
 

BluMasc

Novice
Member
Joined
Jan 7, 2022
Posts
13
Glad you like my script.

It was generally balanced around the project I am working on at the moment, so that's why it could seem off in other games.

I realy like the idea of more rarity levels, but I am unsure if every game needs so many. (mine for example doesn't realy) Maybe I'll look into a way to make the number of rarity levels also changeable in the config or something.

I find the idea of the eggs a bit dubious... Are the pokemon you send adventuring raiding nests of other pokemon?
Ignoring the ethical reprocussions, I like the concept. I would implement it in a way, where you can also make the egg encounter list local.

Und vielen Dank für deine Unterstützung. Wenn du noch mehr Ideen hast, kannst du mir gerne auch privat schreiben.
 

King_MB

Rookie
Member
Joined
Mar 31, 2022
Posts
3
No I wasn't meaning raiding nests, thats why I set it with a so low chance... It is meant at a realy, realy rare find. Like an egg falling from it's nest, what in real life can happen, why not in Pokémon-games.

-->Deu
Es war wirklich nicht als Nest-Räuberei gedacht, auch wenn das im wirklichem Leben unter Tieren nichts ungewöhliches wäre, sonden, eben aufgrund seiner geringen Chance von weniger als 0,2 Prozent, eben als sehr seltener Encounter. Leider kommte es nämlich im wirklichen Leben eben auch vor, das aus unterschiedlichen Gründen, eben auch unter anderem wegen Nesträubern, schon mal ein Ei aus einem Nest fällt... Oder, wenn wir jetzt mal vom Kuckuck z. B. ausgehen, der legt gerne seine eigenen Eier in fremde Nester... Ich glaube ich brauche das hier nicht weiter ausführen.
Was das umsetzen, des ganzen angeht... Ich starte gerade mal hier mit dem Programmieren, und bin schon froh, das ich meine Änderungen, ohne Fehler, auch wenn nicht beim ersten mal, implementieren konnte.
Sollte ich noch Ideen haben, werde ich sie gerne per PN an dich senden. Viel Glück noch mit deinem Script sowie mit aktuellen und zukünftigen Projekten.
 

BluMasc

Novice
Member
Joined
Jan 7, 2022
Posts
13
BluMasc updated Pokemon Adventures (Not the Manga) with a new update entry:

Streamlined Randomness & Eggs

  • Rarities for the items are now not confined by categroies. Instead every item has a weight attached to it now
  • Pokémon lists have the same weight factor
  • Your Pokémon can now find eggs on their adventure (configurable)
  • removed small bugs
CAUTION: The config changed a bit, if you wan't to update this script, you have to replace the existing config and edit it again.

Read the rest of this update entry...
 

BluMasc

Novice
Member
Joined
Jan 7, 2022
Posts
13
Can i use it with Voltseon's Pause Menu? I don't know how to do that
Sure, you have to add this to the end of 005_VoltseonMenu_Entries.rb :
Entry for Pokemon Adventures by BluMasc:
Expand Collapse Copy
#-------------------------------------------------------------------------------
# Entry for Pokemon Adventures by BluMasc
#-------------------------------------------------------------------------------
class MenuEntryAdventures < MenuEntry
  def initialize
    @icon = "menuAdventure"
    @name = "Adventure"
  end

  def selected(menu); pbStartAdventureMenu; end

  def selectable?; return defined?(pbStartAdventureMenu); end
end

Then add "MenuEntryAdventures" to MENU_ENTRIES in 001_VoltseonMenu_Config.rb

that should work.

Edit: You should also put an image called menuAdventure.png in the Voltseons Pause Menu graphics folder. I use the attatched one.
 

Attachments

  • menuAdventure.png
    menuAdventure.png
    8.4 KB · Views: 109
Last edited:
Back
Top