- 1,511
- Posts
- 10
- Years
- Seen today
A mod that improves upon the Ribbon system, as well as including Marks & Titles.Improved Mementos for v21.1
What's a "Memento"?
A "Memento" is just the term I chose to refer to both Ribbons and Marks collectively. This isn't an official term, but I'm using it here so I don't have to continuously type out "Ribbons and Marks" as separate entities. So throughout this thread and plugin itself, whenever the word "memento" is used, note that this is just a catch-all term used to refer to both Ribbons and Marks. With that out of the way...
Overview
This plugin modifies how mementos work in Essentials to bring it up to speed with the current generation of games. Specifically, this adds all of the missing Ribbons that have been introduced in Gens 6+ that aren't included in Essentials by default, as well as including all of the Marks that were introduced starting in Gen 8. In addition, all eligible mementos have now been given data for "titles", which can be given to your Pokemon so that it will be displayed when sent out into battle. There are even options to have these titles colorized when displayed, as well as battle animations to showcase the Pokemon's memento when sent out.
The Ribbons page in the Summary screen has also been overhauled to accommodate these changes. When viewing this page, you will now see all of the data related to each memento, including the specific title that it confers. The selection screen has been completely changed to provide more thorough information, as well better controls while navigating, filtering options, and less lag. Each memento now also have "ranks", which allows you to collapse them in displays if you wish, like how the Contest Memory and Battle Memory Ribbons work in the modern games.
Note: Unlike the previous iteration of this plugin for v20.1, this plugin no longer relies upon Essentials Deluxe to run. Instead, this plugin now requires my Modular UI Scenes to easily implement the Mementos page in the Summary.
Plugin Features
- Adds all of the missing Ribbons from Gens 6+ that aren't included in Essentials by default. Custom sprites for these Ribbons are included.
- Adds all of the sprites for Ribbons that have been removed from the series at one point or another. For example, the Marine, Land, and Sky Ribbons that were removed after Gen 4, but still have unique sprites related to them.
- Adds all Marks from Gens 8+, as well as custom sprites for each one.
- Replicated all of the mechanics related to Mark generation on wild Pokemon. All wild Pokemon you encounter will now have a chance of spawning with a Mark related to the time of day, active weather on the current map, a random personality trait, and more.
- Includes the Mark Charm key item introduced in SwSh that boosts the likelihood of Pokemon spawning with marks.
- Adds titles associated with each memento that may be conferred to a Pokemon.
- Titles will now be displayed in battle if a Pokemon has one set.
- Includes the ability to set titles on opposing trainer's Pokemon in their PBS data.
- Includes an intro animation showcasing the Pokemon's memento, as well as the ability to colorize the Pokemon's title so that it pops more in messages.
- Overhauled the Ribbons page in the Summary to support the various additions made in this plugin. You may now set a Pokemon's title from this page.
- While viewing mementos in the Summary, you now have options to collapse lower ranked mementos into higher ranked ones, so that only the highest obtained rank of each memento will be displayed. You also have the option of filtering mementos so that only ones of a certain category will be viewable.
- Coded the memento display much more efficiently, removing all of the lag that the Essentials default page has when scrolling through ribbons.
- Updated the Ribbons debug menu so that you may now set titles from here as well.
- Included a new "scale" attribute for Pokemon objects. This allows you to adjust the size value of a Pokemon. This value is needed for obtaining the Mini or Jumbo Marks.
- Included a new "birthday" attribute for the player. This allows you to set the birthdate of the player. This value is needed for obtaining the Destiny Mark.
-DOWNLOAD LINK-
Installation
Spoiler:
- First, download and install the latest version of my Modular UI Scenes plugin, if you don't already have it. This is required for overhauling the Ribbons page in the Summary.
- Next, you must also install the Deluxe Battle Kit plugin, if you don't already have it. This is required for displaying mementos in battle and for giving trainer's Pokemon mementos in the trainer editor.
- Finally, download this plugin using the link provided and extract its contents to your root Essentials folder so that both the
Graphics
,PBS
andPlugins
folders in the download merge with their equivalent folders in your project.
Changelog (v1.0.3)
Spoiler:
- 1.0.3
- Made various additions in preparation for the Raid Battles add-on plugin.
- 1.0.2
- This plugin now also requires the Deluxe Battle Kit to be installed to integrate battle displays.
- You can now edit the size and memento of an NPC trainer's Pokemon while using the debug editor tool.
- You can now use
PrefixTitle
instead ofTitle
inribbons.txt
PBS. Doing so will have the title associated with this memento appear *before* the Pokemon's name, instead of after. - You may now have mementos with titles that aren't fixed, and instead pull their title from a saved variable.
- Added new icons to indicate Pokemon sizes.
- Implemented the new Partner Ribbon introduced in the Indigo Disk DLC, as well as a sprite for this new ribbon.
- Renamed some files for more consistency across plugins which utilize Modular UI Scenes.
- 1.0.1
- Reconfigured how the graphics for the plugin are stored so that they aren't accidentally deleted for completed projects.
Plugin Tutorials
Spoiler:Finding Pokemon with Marks
Spoiler:Wild Pokemon
In the main series, marks are different from ribbons in that they are typically only obtained by randomly finding wild Pokemon that have them. This mechanic has been replicated here, with all of the marks that can be randomly generated on wild Pokemon coded to be generated in much the same way. However, this plugin comes with a setting that allows you to adjust the odds of this occurring. TheBASE_MARK_GENERATION_RATIO
setting controls how likely this is to occur. By default, this is set to 50, which just translates into a 1/50 generic chance to generate a mark. This ratio is then scaled depending on the intended rarity of each mark. For example, the Rare Mark is meant to have a 1/1000 chance of appearing. So this is accomplished by just multiplyingBASE_MARK_GENERATION_RATIO
by 20 to get 1000. So if you edit this setting to a lower number to make marks more likely, it'll scale with each mark. This makes it so that marks that are intended to be rarer than others will still be comparatively rarer, even if the overall odds of mark generation is more likely.
Another way to influence the odds of obtaining a mark is by having the Mark Charm in your inventory, which is a key item that is added by this plugin. If so, it will significantly boost the odds of wild Pokemon spawning with a mark when encountered. Anyway, here are all of the marks that may be randomly obtained on a wild Pokemon, and how they may be generated based on this setting.
- Rarity Marks
These consist of two marks:Rare Mark, Uncommon Mark
The Uncommon Mark is rolled for using the base ratio, while the Rare Mark multiplies this number by 20 to get its odds, which would be a 1/1000 chance by default. Both of these marks have a chance of generating on any wild Pokemon you encounter.
- Time Marks
These consist of the following marks:Lunch-Time Mark, Sleepy-Time Mark, Dusk Mark, Dawn Mark
All of these marks use the same roll to determine if one of them is set, which is determined by using the base ratio. The specific mark that is chosen however depends on the time of day.
- Weather Marks
These consist of the following marks:Cloudy Mark, Rainy Mark, Stormy Mark, Snowy Mark, Blizzard Mark, Dry Mark, Sandstorm Mark, Misty Mark
All of these marks use the same roll to determine if one of them is set, which is determined by using the base ratio. The specific mark that is chosen however depends on the current weather of the specific map you're on, and will not generate at all if no weather is currently active. This ISN'T affected by in-battle weather. Note that since Cloudy weather doesn't exist in Essentials by default, there is no natural way of obtaining that mark unless you add the:Cloudy
weather to your game.
- Personality Marks
These consist of the following marks:Rowdy Mark, Absent-Minded Mark, Jittery Mark, Excited Mark, Charismatic Mark, Calmness Mark, Intense Mark, Zoned-Out Mark, Joyful Mark, Angry Mark, Smiley Mark, Teary Mark, Peeved Mark, Intellectual Mark, Ferocious Mark, Crafty Mark, Scowling Mark, Kindly Mark, Flustered Mark, Pumped-Up Mark, Zero Energy Mark, Prideful Mark, Unsure Mark, Humble Mark, Thorny Mark, Vigor Mark, Slump Mark
All of these marks use the same roll to determine if one of them is set, which is determined by multiplying the base ratio by 2. The specific mark that is chosen is completely random. These can be generated on any wild Pokemon you encounter.
- Size Marks
These consist of two marks:Mini Mark, Jumbo Mark
These marks aren't generated on Pokemon in the main series, and are instead only obtained by visiting an NPC who determines the size of your Pokemon for you. I decided to just include an option to have these marks generate naturally Pokemon, instead. If theGUARANTEED_SIZE_MARKS
plugin Setting is set to true, then any Pokemon generated which meets the correct size criteria for one of these marks will naturally generate with that mark. This means that any Pokemon that randomly generates with a size value of 0 will always have the Mini Mark, while any Pokemon that randomly generates with a size value of 255 will always have the Jumbo Mark. If this setting is set to false, neither of these marks will ever generate naturally on a Pokemon.
Note that this will also be true of non-wild Pokemon, such as gifted Pokemon.
- Encounter Marks
These consist of three marks:Fishing Mark, Destiny Mark, Curry Mark
These marks are each rolled for independently, but use the same odds when rolling for them, which is determined by dividing the base ratio by 2. However, the Fishing Mark will only generate if the specific Pokemon is a fishing encounter, and the Destiny Mark will only generate if the current date matches the player's birthday (adventure start time is used instead if no birthday was set).
In SwSh, the Curry Mark is only obtained on wild Pokemon lured while you cook curry while camping. However, since the curry cooking feature is obviously absent in Essentials, I simply made it so that this mark has a chance of appearing on any wild Pokemon lured by the use of Sweet Scent or Honey.
- Other Marks
These consist of three marks:Alpha Mark, Mightiest Mark, Titan Mark
These marks are never found naturally on wild Pokemon. These are meant to be found on various types of wild "boss" encounters, such as Alphas in PLA, and Titans in SV. If you want these marks (or any other memento) to be guaranteed to appear on a wild Pokemon, you'll have to manually give them to a static encounter prior to the player initiating battle. This can be done by simply usingPokemon#giveMemento(:MARK)
where ":MARK" is the ID of whichever mark you intend to give to that Pokemon, andPokemon#
is the specific Pokemon object you've defined. Note that this can be done multiple times to give the Pokemon multiple marks.
Party Pokemon
Starting in Gen 9, there are now a few marks that are obtainable on your existing party Pokemon which aren't generated when first encountered in the wild. There are only a few marks which work in this way, and I've outlined the methods of obtaining them below. Note that having the Mark Charm in your inventory also boosts the likelihood of any of these marks generating on your Pokemon.
- Partner Mark
To obtain this mark, you simply have to just walk with Pokemon in your party who have a high happiness level (200+). If so, every 10,000 steps, the game will roll for each eligible Pokemon in your party to determine if they should receive this mark. This uses the base ratio multiplied by 2 to determine its chances.
- Itemfinder Mark
This mark is meant to be obtained in Scarlet & Violet by having your Pokemon find items in the overworld while using the "Let's Go" feature. However, for whatever reason (probably an oversight), this mechanic was never actually programmed into the game. Regardless, I've replicated this method in this plugin so that it may be obtainable. However, since the "Let's Go" feature is obviously absent in Essentials, I simply made it so that whenever you pick up an item in the overworld (whether invisible or in an item ball), the lead Pokemon in your party has a slight chance at obtaining this mark. The odds of this happening are determined by multiplying the base ratio by 2.
- Gourmand Mark
This mark is obtained in Scarlet & Violet whenever you make a sandwich, or purchase sandwich ingredients. However, since sandwich making is a feature that is obviously absent in Essentials, I simply made it so that whenever you pick Berries from a Berry Tree, or purchase Berries from a shop, each Pokemon in your party have a chance at obtaining this mark. The odds of this happening are determined by dividing the base ratio by 2.
Note that if theAUTO_SET_TITLES
plugin Setting is set to true, any Pokemon that obtains a Mark in any of the ways listed in this section will automatically have that mark attached to itself so that its title is granted to the Pokemon. This will only occur if the Pokemon doesn't already have a title set on it, however. For example, if any of your Pokemon obtain the Partner Mark while walking, and it doesn't already have a title, it will auto-equip itself with that title. If you don't want this to happen, and only want titles to be manually set in all cases, then set this plugin setting to false.
Setting a Memento & Title
Spoiler:Player's Pokemon
To set a title on your Pokemon, you first need the Pokemon to have an eligible memento that has a title. Not every memento HAS to have a title. For example, the contest ribbons from Hoenn and Sinnoh don't have any official titles attached to them (since they are no longer available in the newer gens which added titles), so I didn't give these ribbons any associated titles here, either. A memento without a title cannot be set on any Pokemon.
If the Pokemon does have a memento with a title however, you are freely able to set that title on the Pokemon. This can be done in one of several ways.
- Summary
The normal way that players will accomplish this is through the Ribbons page in a Pokemon's Summary. Here, the right side of the screen will display whichever memento the Pokemon currently has attached, and the specific title that this memento confers to the Pokemon. If none are currently attached, no data will be displayed here. Pressing theUSE
button will bring up a new window which displays all of the Pokemon's currently obtained mementos. You may navigate this menu to highlight individual mementos. Pressing theUSE
button on one of these will bring up a menu, with one of the options being "Confer title". Selecting this will attach this memento, and grant its title to the Pokemon. You can freely remove or attach titles in this way as you please.
- Script
A second way that a title may be set is by deliberately setting a specific one on a Pokemon through a script. This can be done in an event, in the same way you would set other attributes, such as the Pokemon's Nature or gender. To do this, you just have to use the codePokemon#memento
and set it equal to the ID of the specific memento which has the title you wish that Pokemon to have. For example, the Champion Ribbon confers the title "XXX the Champion", so if you want the Pokemon to have this title, you would just look up what the ID for this ribbon is (:CHAMPION), and set the script to look likePokemon#memento = :CHAMPION
. Note thatPokemon#
refers to the specific Pokemon object you've defined. If you use this script to set a memento on a Pokemon who doesn't have that memento in its collection, that memento will automatically be added to its collection.
- Plugin Setting
When theAUTO_SET_TITLES
plugin Setting is true, any memento the Pokemon receives will automatically be attached to the Pokemon, and thus be granted with its associated title. This only occurs if the Pokemon doesn't already have a title, however.
- Debug
The final way in which you may set a title is simply through the Debug commands. The "Set Ribbons" command has been replaced with "Mementos...". When opened, this will bring up a submenu where you can Set Ribbons/Marks like normally, or a second option which will allow you to set a Memento/Title. You may use this second option to select a title from all of the Pokemon's eligible mementos.
Enemy Pokemon
Opposing trainers may also have titles set on their Pokemon. This is done by editing the PBS data for that individual trainer intrainers.txt
. To do so, you simply have to add theMemento
property below the corresponding Pokemon, and set it equal to the ID of the specific memento that grants the title you wish the Pokemon to have. This functions pretty much identically to how it does with player's Pokemon in option 2 above. So, for example,Memento = CHAMPION
would set the "XXX the Champion" title. Remember not to set a colon in front of the ID when entering this in the PBS file.
Title Visuals
Spoiler:Title Display
A Pokemon's title is normally only displayed in two places: in battle, when the Pokemon is first sent out on to the battlefield, or in the Summary, when initially setting the title. If you ever have a need to display the Pokemon's full title anywhere else, such as during dialogue or something, you can do so by calling the scriptPokemon#name_title
, wherePokemon#
is the specific Pokemon object you've defined. This is used and functions identically to how the normalPokemon#name
would work to display the Pokemon's name, except this will call its name and title. If you use this script on a Pokemon without a title, it will just display the Pokemon's regular name as if you just called its name normally. This code can be used identically with Battler objects as well.
If you ever want to get the name of a specific memento's title, independently of any specific Pokemon, you can also do this as well. For example, in the Summary which displays the title that will be conferred to the Pokemon, the title of that memento will be displayed on its own, without the Pokemon name attached. To call this in a script, you can do so by usingRibbon#title
, whereRibbon#
is the specific Ribbon object you've defined. Note, however, that this will display the first word in lowercase, as it would be if it was attached to a Pokemon name. So if this specific memento was the Champion Ribbon, the name that would return would be "the Champion", with "the" in lowercase. If you wish to have this capitalized, you can instead use the scriptRibbon#title_upcase
, which would return "The Champion" instead.
Title Coloration
When a Pokemon has a title, this title will be displayed whenever it is sent out into battle. However, because titles can sometimes be really wordy, this might be a strain on people's eyes to follow along with during quick-paced battle text. So a solution I've included is the ability to colorize Pokemon titles, so that its easier to read and follow along with in battle. Plus, it makes the Pokemon feel extra special when its full name and title are given so much visual attention. You have some control over how to customize this, however. In the plugin Settings, you can setTITLE_COLORATION
to a number to customize which color titles will be displayed with. This can be set to any of the following:
- 0 = None (normal text color)
- 1 = Red text
- 2 = Blue text
- 3 = Green text
By default, this setting is set to "1", which will display titles with red text.
Title Animation
Whenever a Pokemon with a title is sent out into battle, a simple animation will briefly play that displays its attached memento when it comes out of its ball. This doesn't occur in the main series, but I've included it here because I feel it helps make the title mechanic feel a bit more impactful, as well as giving you a chance to appreciate those cool memento sprites a bit more outside of just viewing them in the Summary. The idea for this mechanic was inspired by ORAS, where a special entry animation would display on Pokemon who obtained the Contest Star Ribbon.
Memento Ranks
Spoiler:What are Ranks?
A memento's rank is used to determine how many times that particular memento has been upgraded. For example, the Cool Ribbon has a rank of 1, but if the Pokemon then also obtains the Cool Ribbon Super, it will have a rank of 2 since it's an upgraded version of the Cool Ribbon. This would continue with the Cool Ribbon Hyper, which would have a rank of 3, and finally the Cool Ribbon Master, which would have a rank of 4.
These ranks are not fixed however, and will fluctuate depending on the number of related ribbons obtained. For example, if the Pokemon obtains the Cool Ribbon, but then somehow obtains the Cool Ribbon Master while skipping obtaining the Cool Ribbon Super and Cool Ribbon Hyper, then the rank that will display on its Cool Ribbon Master will only be 2, since only two ribbons in the series have been obtained. If the Pokemon then obtains the two ribbons it skipped afterwards, then the Cool Ribbon Master's rank will increase to 4.
Viewing Ranks
The current rank of any particular memento is viewable in the Ribbons page in the Summary. This is displayed by a number of stars shown in a row. The number of stars indicates the rank number of the memento, so a single star means a rank of 1, two stars mean a rank of 2, etc. If the memento's rank happens to be higher than 4, then this will instead display a single star icon with a number in front of it, indicating the total number of stars, and thus the rank of this memento. Every memento will have at least 1 star, since rank 1 is the lowest rank a memento can have.
Memory Ribbons
There are two ribbons in particular that utilize the rank mechanic to its extreme, and these are the Contest Memory Ribbon, and the Battle Memory Ribbon.
In the modern games, these ribbons replace all Gen 3 + 4 ribbons that were obtained from contests or the battle tower, respectively. For example, if the Pokemon has obtained any number of contest ribbons, then they will automatically be given the Contest Memory Ribbon when transferred into Gen 7+, and all of its previously obtained contest ribbons will simply be collapsed into this single ribbon. A number is displayed while viewing this ribbon, indicating how many of those previous contest ribbons have been obtained. This number effectively determines the "value" or "rank" of this single ribbon. So if the number is 40, this effectively means that this single ribbon has the same value as obtaining 40 individual ribbons (not including itself). If either of these ribbons reach their maximum rank (41 in the case of the Contest Memory Ribbon, and 9 in the case of the Battle Memory Ribbon), then these ribbons will automatically be replaced by golden versions, which indicate that they've reached the highest rank achievable.
All of the above mechanics for these ribbons have been replicated by this plugin, except its been expanded upon to be utilized by more than just these two ribbons. You can now have any ribbons you want be "collapsed" into a higher ranked ribbon of your choosing.
Collapsed View
By default, when viewing a Pokemon's memento's in the Summary, you will see a collapsed view which only shows the highest rank mementos obtained. So if the Pokemon has both a Cool Ribbon and a Cool Ribbon Super, for example, only the Cool Ribbon Super will be viewable. You can always use a sorting option through a menu selection to show all individual mementos if you please, but by default, you will always see a collapsed list. If you wish to change this so that a collapsed view is not the default view, then you can simply setCOLLAPSE_RANKED_MEMENTOS
to false in the plugin Settings.
If you select a memento while in a collapsed view to confer its title to the Pokemon, you will be able to select any title to confer from any of this memento's obtained ranks. So for example, if you have the Skillful Battler Ribbon and the Expert Battler Ribbon, only the latter will appear in a collapsed view. However, when choosing to confer its title, you will be able to select from either "the Master" or "the Veteran", since each ribbon in this set confers a different title.
Improved Summary Features
Spoiler:Display
The Ribbons page in the Summary has been completely overhauled by this plugin. Now, when viewing this page, you will no longer see a list of the ribbons obtained by the Pokemon. Instead, you will see the associated data for whichever memento the Pokemon currently has attached. This will show you the type of memento it is (ribbon or mark), its current rank, name, and title it confers to the Pokemon. An icon prompt for theUSE
button will also now appear in the bottom right corner to indicate that the Pokemon can change this current memento for another one.
This new page supports both the default Essentials style, and the BW Summary Screen plugin style, and will automatically convert to whichever version is relevant. If you have a custom Summary UI and want to adjust the coordinates for where memento information is displayed, you can do so be setting the X and Y coordinates in theSUMMARY_MEMENTO_COORDS
array in the plugin Settings. Note however that these coordinates control where the entire display is set, not any individual components. So if you want to rearrange specific things in the UI, you'll have to manually edit the code in the plugin itself to your liking.
Controls
When theUSE
button is pressed, a new window appears which will display a list of this Pokemon's obtained mementos. This window's cursor will always default to hovering over the current memento the Pokemon has attached, if its available in this current view. While highlighting the Pokemon's currently attached memento, a green checkmark icon will be displayed to the left of the memento's name. While not highlighting this memento, a green cursor will surround it, indicating that this is the memento currently attached.
You can navigate the menu with the arrow keys, the same as you normally would in the default Essentials page. However, the controls here have been tweaked or improved, as well having some additional functionality not present in base Essentials. Here is a list of all of the controls while viewing this window, and what they do:.
UP/DOWN/LEFT/RIGHT
: Moves the cursor in a given direction. You may now hold these buttons down to continuously move the cursor in these directions, instead of having to press them repeatedly each time. Pressing a direction while the cursor is already at its furthest point in a given direction will now loop to the start of the next line, instead of coming to a full stop.JUMPUP
: Scrolls upwards entire pages at a time.JUMPDOWN
: Scrolls downwards entire pages at a time.ACTION
: Automatically returns your cursor to whichever memento is currently attached to the Pokemon. If no memento is attached, or that particular memento does not appear in the current list, then this button does nothing.BACK
: Closes the window, or closes the command menu if open.USE
: Opens a command menu that allows you to select from various options.
- Move: Allows you to reorganize the order of your mementos. Only usable when the full list of the Pokemon's mementos are being displayed.
- Confer title: Allows you to attach this selected memento and confer its title to the Pokemon, if any.
- Remove title: Allows you to remove whatever memento and title the Pokemon currently has. Only usable if the Pokemon has a memento attached.
- Sort mementos: Allows you to change the display of your current mementos so that only certain ones will be viewable. The options available here depends on the types of mementos the Pokemon has available.
Designing Custom Mementos
Spoiler:PBS Data
If you want to create your own custom Ribbon or Mark, you can do so in much the same way as you could before in theribbons.txt
PBS file. Nothing has been changed here, however, several new fields have been added to support the new features of this plugin. Here's an example of some of these new fields:
- Title
This determines the title that should be associated with this memento. You can set this to anything you want it to be, and it will be displayed after the Pokemon's name when it has been granted this title. If you want to set the trainer's name in the memento's title (like the Partner Ribbon), then you can simply enter/Owner/
in this memento's title. You could also set/Variable_#/
in the title as well, where#
is the number of a specific game variable you want to call. If that variable is a string, then this memento's title will display whatever string is saved to that variable. You may use this to set a dynamic title on a memento. Note that not every memento requires a title. You're totally free to make a memento which doesn't grant any title at all. For an example of this, check out all of the Hoenn and Sinnoh contest ribbons.
- PrefixTitle
This functions identically to "Title" above, except that the title will appear in front of the Pokemon's name, instead of after. By default, the only memento that functions in this way is the Partner Ribbon.
- PreviousRanks
This determines all of the previous ranks of a particular memento, which is used to determine how to display mementos in a collapsed view. For example, the:HOENNCOOLMASTER
ribbon lists the:HOENNCOOL
,:HOENNCOOLSUPER
, and:HOENNCOOLHYPER
ribbons as its previous ranks, which means when in a collapsed view, only the Cool Ribbon Master memento will be displayed, with the other three hidden from view. This also determines the number of stars that should appear in the Summary when displaying this memento's Rank. You can list as many entries here as you like. For an extreme example of this, check out the Contest Memory Ribbon, which considers all Gen 3 + 4 contest ribbons as its previous ranks. This means that when collapsed, only the Contest Memory Ribbon will display, with the rest of the contest ribbons being hidden.
- IsMark
This determines if this specific memento should be considered a Mark or Ribbon. If you want this memento to be considered a mark, set this equal to true. If you want this to be considered a ribbon, then just omit including this field entirely, as it will automatically default to false.
- Flags
This isn't a new field, but it just previously went unused before. This field is now used for categorization purposes, to be used by certain features of this plugin. You can now set any of the following entries as flags:
- ContestRibbon - Given to any Ribbon meant to be won via contests.
- LeagueRibbon - Given to any Ribbon meant to be won via defeating a Pokemon League.
- FrontierRibbon - Given to any Ribbon meant to be won via clearing various challenges at some sort of battle facility.
- MemorialRibbon - Given to any Ribbon meant to indicate some sort of milestone, or anything that doesn't fit elsewhere (Effort Ribbon, Best Friends Ribbon, etc.)
- GiftRibbon - Given to any Ribbon meant to commemorate a special occasion or accomplishment (Birthday Ribbon, Regional Champion Ribbon, etc.)
- RarityMark - Given to any Mark meant to designate rarity (Rare Mark, Uncommon Mark).
- EncounterMark - Given to any Mark meant to reflect specific encounter conditions (Fishing Mark, Destiny Mark, etc.)
- TimeMark - Given to any Mark meant to be obtained based on the time of day (Lunch-Time Mark, Dawn Mark, etc.)
- WeatherMark - Given to any Mark meant to be obtained based on the weather of the current map (Rainy Mark, Dry Mark, etc.)
- PersonalityMark - Given to any Mark meant to be randomly assigned to a Pokemon to signify its personality (Rowdy Mark, Smiley Mark, etc.)
- SizeMark - Given to any Mark meant to reflect the Pokemon's size value (Mini Mark, Jumbo Mark).
- PartyMark - Given to any Mark meant to indicate that it is obtainable on party Pokemon, instead of wild ones (Partner Mark, Itemfinder Mark, etc.)
- BossMark - Given to any Mark meant to be assigned to boss-status Pokemon (Alpha Mark, Titan Mark, etc.)
Some of these flags aren't used for anything, and are simply there to be potentially used if you require them for some reason. Some are only used for the sake of being able to sort which mementos you can see in the Summary, such as the "ContestRibbon" flag allowing you to view only ribbons you've won through contests. Others are actually used for gameplay purposes, such as the "PersonalityMark" flag used to determine which marks to randomly assign to wild Pokemon.
Graphics
The sprites for all mementos is now located inPlugins/Improved Mementos/Graphics
, and is simply named "mementos". This graphic contains every sprite for both Ribbons and Marks. Each individual sprites takes up a 78x78 square in this image, so any custom sprites you wish to include should be of the same size, and added to this image appropriately. Make sure that once you've added your sprite, that theIconPosition
in this new memento's PBS data is accurately set. This number should just count up, picking up where the last one left off.
Setting Player's Birthday
Spoiler:This plugin includes a feature to set and save the birthday of the player, like in the modern Pokemon games. This is primarily only used for generating the Destiny Mark on wild Pokemon if it happens to be the player's birthday, but you may utilize this feature for other purposes if desired.
The player's birthdate will default to whatever the player's adventure start time is if no birthdate is set. You may use the scriptpbSetPlayerBirthday
to run an event in which the player is asked what the month and day their birthday is. Once they make a selection, this date will be saved to be used however you wish. If you want to manually set the player's birthdate silently, you may do so with$player.setBirthdate(day, month, year)
, where you input the appropriate numbers for each argument. Note that you can omit the year if you wish, the only important elements are the month and day. While playing in debug mode, you can quickly access a tool to set the player's birthday under the "Player options..." section in the debug menu.
If you ever want to get this data to be used for something (perhaps a display in the Trainer Card for example), you can call it with$player.birthdate
. You can add.day
,.mon
, or even.year
after this script if you only want to specifically get the day, month, or year of this date. If you want to quickly check if the current day is the player's birthday, you can use the script$player.is_anniversary?
, which will return true if it is, and false if it isn't. However, this script can be used to check for other specific dates that aren't necessarily the player's birthday. You can do this by adding a time object as an argument. For example:
This script would return true if the current day is Christmas Day (Dec. 25th), and the year is any year greater than 2023. You can use this to check for other annual events related to the player beyond just their birthday in this way.Code:$player.is_anniversary?(Time.new(2023, 12, 25))
Setting a Pokemon's Size
Spoiler:This plugin adds a new attribute to Pokemon objects called "scale", which sets the size value of a Pokemon between 0-255. This value is what's used to determine whether a Pokemon is eligible for the Mini or Jumbo Marks. However, you may use this attribute for other things if you wish.
By default, this value is randomly assigned whenever a Pokemon is generated. However, you may edit this on a specific Pokemon if you wish by settingPokemon#scale
equal to a number between 0-255, wherePokemon#
is the specific Pokemon object you're editing. While playing in debug mode, you can quickly edit the size of a Pokemon by going to the debug options for that Pokemon, and selecting "Set size" under the "Cosmetic info..." section.
You may also edit this value on NPC trainer's Pokemon as well. To do so, simply setSize = X
for that Pokemon intrainers.txt
, where X is the numeric value between 0-255 that you desire.
Last edited: