Changelog

A summary of all changes, large and small, to Hubba.

## 2020/02/17 - Bug fixes

* Changed quotes for Francine
* Slightly increased bullion sell values
* Fixed HP soft cap increases being displayed wrong in !info <class name>
* Made underscores work for some cases of !buyrole and !sellrole
* Added encounter submission sheet to !links

## 2019/12/31 - More encounter updates

* Added !story
* Encounters will no longer stay open after a mission has ended
* Added !settings
* !profile now displays your settings
* Encounters can now be toggled on/off/sorta, in case you want to see mission results but don't want him bothering you with pesky soldiers all the time
* Users can now set the pronouns of their summoner if they desire to. It will default to they/them if unset
* Being active on the server now increases your encounter rate for a short time. Being active in an RP channel now greatly increases your encounter rate for a short time
* Added !keys to hold key items
* Implemented the Shiny Charm. It's currently nearly impossible to obtain, but the requirements will likely change in a future update.
* Actually fixed the bug with units not giving out bond rewards properly
* Fixed !buyrole and !sellrole
* Fixed units without presences from having "undefined" presences when !info'd. It now displays "unknown" instead

## 2019/12/18 - Encounter updates

* Encounters no longer occur at fixed times during a mission, but rather occur randomly. The total number of encounters per mission should average out to the same as before
* Temporarily disabled mushrooms
* The wording on the combat encounter now makes sense, and the energy display is correct
* Encounters now ask you to verify that you're active before showing you the prompt

## 2019/12/17 - Bug fixes and quality of life updates

* Fixed issue where reaching max bond with a unit would yield no rewards
* Reset fealty and set bond to 99.9% for units that missed rewards
* Starting a mission using the team number instead of the team name is now functional and no longer uses someone else's team
* !disband is no longer case-sensitive
* Fixed visual bug where divider bars in embeds were too long
* !mats and !items are now mutually exclusive
* Nonsense commands containing certain problem characters no longer throw errors
* Nicknames can no longer have quotation marks, apostrophes, or backticks
* !profile and !info <user name> embeds are now colored based on the user's first color role
* Reclassing costs for classes with Natural + Other weapons no longer glitch out when those two types coincide (ie: trying to reclass to Vampire on a Dark day)
* Fixed graphical glitch involving syntax highlighting for weapon names with apostrophes
* Added !growths <unit name>
* Added presence types to !info <character name>
* Added caps to !info <class name>

## 2019/09/28 - Even more bug fixes

* Added Dire Heal ability to healing and revival items
* Fixed issue where Natural weapons wouldn't give a 1.2x multiplier on prospecting missions
* Fixed !rename insisting that all nicknames were too long
* Added a fancy new animated sprite for Christmas Hubba (all credit to Deme, thanks!)

## 2019/09/23 - More bug fixes

* Re-enabled prospecting missions (oops)
* Fixed Vulneraries, Concoctions, and Elixirs not being usable

## 2019/09/22 - Bug fixes

* Fixed an issue where you would get a prompt to confirm a trade/selling/retirement even when not dissolving a team with a buff
* Hopefully fixed an issue where items gained from logging in wouldn't stack

## 2019/09/22 - Bonus units & new items

### Missions

* Added a rotating panel of 8 weekly bonus units, which changes every Sunday. Event units cannot be on the panel. No unit can be on the panel twice until all units have been on the panel once (approximately). No unit can be on the panel two weeks in a row. No panel can contain more than one unit created by a single user
* Every mission containing at least one weekly bonus unit with at least 15% Bond will receive a special item drop (including some new items) and a 1.1x item drop rate multiplier
* Added mission-specific bonus units. The bonus units for a particular mission can be viewed with !mission <mission id>
* Every mission containing at least one mission bonus unit with at least 15% Bond will receive a 1.2x item drop rate multiplier
* Weekly bonuses and mission bonuses stack additively. For example, if you get both, your drop rate multiplier will be 1.3x

* Added !bonus to view weekly bonus units
* Fixed rounding issue in mission success rates
* Increased the average number of common mats dropped from missions slightly

### Items

* Added item use good and item use bad quotes
* Each unit now has a hidden category of liked items and a hidden category of disliked items, which confer a small Bond boost or penalty when used. Some items are universally liked
* Added 7 new item types (~70 items total). One is currently obtainable but not useable, and another is useable but not obtainable yet
* Added new item types to !gift

### Crafting

* Added another crafting limit boost (25 items = 3 slots)
* Condensed the crafting display
* Added !craft boosters to view additional info now left out of the main display
* Changed Graduation Seal and Eternal Seal recipes
* Added recipes for some of the new items to !craft
* !quests now longer glitches out if you manage to craft everything

### !info updates

* Your display team can now be viewed by others using !info <username>
* Fixed power display on !profile and !info <username>
* Added mastery stat bonuses to !info <classname>

### Miscellaneous

* Underscores in team names now display as spaces
* Changed a few skills, most notably nerfing Sharing is Caring
* Moved the daily reset time back by one hour
* Changed Natural weapons to be rank B
* Fixed Sula's image (I think)
* "Me" is now synonymous with "avatar". For example: !reclass me
* Added !quotes <character name> to check the quote completeness of a character
* Young Hubba now uses the :gift: emoji as a sprite

## 2019/09/09 - Quote additions

* Added more interact quotes for Morrow
* Added promotion and release quotes
* Changed the Avatar sprite (thanks Eclo!)
* Made !buy an alias for !buyrole

## 2019/09/07 - Small stuff

* Messed around with !unitdata trying to shorten the amount of stuff at the bottom. Some things (like merge level) now only display if they're relevant
* Your display team will now be colored blue in !teams
* Doing !unequip all will no longer disarm heroes on missions, just everyone else
* !classes will no longer bug out if you use it on a unit with no experience in anything
* Gave everyone a Steel Axe, Steel Dagger, and Ruin. New players now start with these weapons
* !reclass now shows the cost and stat change preview of reclassing regardless of whether or not you're able to reclass that unit for whatever reason
* The amount of bond lost from trading now depends on the support rank between those two players (but you still can't get it to zero bond lost, sorry)
* Updated a couple item descriptions and sell values
* Seeds of Trust can no longer be used if you're at max bond already
* Updated quotes on a few units
* !supports now only displays the top 10 supports unless used in bot channel or DMs
* !supports now takes a user argument (ex: !supports Aerin)
* Cookies are now tradeable
* The unit that you use to login will now gain a small amount of bond
* Changed gift and login rewards to be a bit more substantial

## 2019/08/28 - Emoji fix

* Added emojis for all remaining units except Young Hubba. Using a Robin sprite as a placeholder for the Avatar.

## 2019/08/19 - Bug fixes

* Fixed Trav's Juin's level cap
* Fixed Shin's Heilagmanoth's HP cap
* Fixed Aerin's Lorenzo's HP cap
* Fixed issue where HP cap couldn't be boosted above +10
* Fixed !mats
* Added !classes

## 2019/08/06 - Missions revamp

* Fixed issue where increasing a unit's HP cap over +10 would cause an incorrect class mastery message
* Make it so that Hubba can get exp and support exp normally again
* Added a cooldown to reclassing (7 days). (Sorry) This will be needed for future updates
* Added the teams system, which consists of the following commands: !newteam, !teams, !editteam, !displayteam, !swapteams, and !removeteam
* Added little emoji displays for each unit (a huge thanks to Deme!). Some units don't have an emoji yet. This is a known issue
* Made !trade, !sell, and !retire dissolve teams
* Ended all currently ongoing missions (sorry) as a necessary part of the update
* Completely rewrote and tidied !missions and a lot of the core bot timing infrastructure. Missions can now be started using teams instead of specifying unit names. Mission durations are now fixed at 6 hours. Units have energy levels which correspond to their power levels. Damage is dealt to this energy reserve and ignores a unit's specific stats
* Changed mission drop tables, including adding new drops. Almost all drop rate changes were small, and they were mostly buffs
* Units now display their depart and return quotes
* Reformatted class mastery notifications
* Changed the power requirements for training missions and added a new tier of training missions (t1) designed for 3 star units
* Players should receive encounters even if they're offline now. I hope to add a toggle for this soon, but for right now I felt this was the most fair option. If it annoys enough people, I can change it back though...
* Added 3 new units: Gabriel, Lian, and Terpsichore
* Gave out free stuff. Added free stuff to newly-registered accounts
* Wrote up a snarky announcement from Hubba. I hope Dea's proud

## 2019/07/04 - Minor Update

* Added !mats
* Fixed bug where corrupted units would be set to 3\*

## 2019/07/03 - Bond Revamp

* Changed amount of bond given by various items. Training items in particular were nerfed
* Max bond units now can be traded
* Trading a unit now decreases its personal bond with you by 20% instead of resetting it to 0. It's still reset to 0 for the recipient if they've never owned the unit before
* Max bond units can now lose bond normally, ie: through dying on a mission
* Units now "swear fealty" to the first person to max their bond. Reaching 100% bond with a unit that is sworn to someone else or that has already sworn to you will not yield any bond rewards
* Fixed minor graphical glitch that caused Class Mastery to display as blank when a unit had 0 mastery in a class

## 2019/06/19 - Bug fix

* Re-enabled nightly backups
* Fixed bug in which avatars would not properly max out class mastery

## 2019/06/01 - Small Update

* Added !remindme
* Disabled backing up the sqlite database due to space constraints
* Installed package to keep Hubba alive always

## 2019/05/12 - Weekly Update

* Added Boastful banner with Bedivere, Ordway, Solfrid, and Kalin
* !nickname and !merge now properly give usage messages
* You can no longer have a corrupted unit morph into its own base class or mutate one of its skills into another one of its skills
* When a corrupted unit mutates a skill, it's now guaranteed to not be in a locked slot so that it's visible
* Eternal seals can no longer be used on your avatar
* Class mastery items can longer be used at max mastery
* !buyrole and !sellrole now deal with spaces better
* !unwrap and !use are now fully synonymous
* You can now end a summoning session with a variety of words starting with '!'
* If you don't give !unequip a slot number for a unit, it defaults to unequiping everything on that unit
* !info <class name> now shows cooldown info for mastery skills
* Fixed improper cooldown on Witch's Brew
* Natural weapons and Staves now display as 'Variable' type instead of glitching out
* Decided to be nice to people who can't spell. !weapons colour now works
* Prevented Hubba from throwing errors by trying to send messages to himself
* Fixed bug in which newly registered players would not receive starting fragments or money
* Fixed bug in which missions could not find units in your barracks if they were named a certain way

## 2019/05/05 - Weekly Update

* Added Team A3 banner with Zain, Himaya, Evelyn, and Kiera
* Added a confession quote, battle quote, and some stat things to Young Hubba to fix a glitch in which his confession would give erroneous rewards (thanks Eclo)

## 2019/04/28 - Bug Fixes

* Fixed an issue in which Antia was using Francine's personal mods. Manually corrected all Antia units that were pulled (thanks Eclo)
* Mission drops now function properly (thanks Netha)
* Reclassing costs for classes that use Light/Dark/Anima now use the proper weapon mats (thanks Eclo)

## 2019/04/28 - Weekly Update

* Added reclassing system, including !caps, !retire, !dojo, and !reclass
* Gave everyone (and anyone who registers from now on) a random, already-available, non-event, non-testament class at level 70 in their dojo
* Removed 1 fragment reward for mastering a class
* Wrote a lengthy wiki page on reclassing. Read it!
* Added "new classes" banner with Alexandra, Leodin, Francine, and Antia
* Permanently increased the corruption rate, then increased it even more specifically for the new classes banner
* Added !crafting as an alias for !craft
* Avatar units now get a small amount of class mastery from completed missions
* Manually fixed a player's avatar's nature (for real this time)
* HP hard caps are now +20 from soft caps, not +10
* Fixed a bug where receiving max bond rewards could overwrite receiving mission rewards
* Changed "Flier" to "Flying"
* Changed instances of "RE2: Team K" to "RE2: Team K2"
* Fixed durability and gold worth on staves. Tired Aerin should not be allowed to push updates
* Updated wording on a few masteries
* Gave Testament a mastery
* Added over a hundred new skills. Total skill count: 326
* Training items can no longer be used on max-level units
* Fixed a bug where certain commands would not print a usage message if called without any arguments
* Changed wording and/or capitalization on several pre-existing skills
* Added a Blacksmith class
* Gave Blasksmith a mastery

## 2019/04/14 - Weekly Update

* Added a ton of new weapons and modified some existing ones. Total weapon count (excluding natural and event weapons): 9 \* 6 \* 3 = 162
* Hubba will now refuse to shut down if someone is in the middle of summoning (or otherwise busy)
* !equip will now default to slot 1 if no slot argument is given (thanks Eclo)
* Leveling up now slightly increases bond
* Made "!weapons color" work. This is a rough draft that I will likely refine in the future
* Added !buyrole and !sellrole
* Added a Team C banner with Claire, Marrok, Milth, and Vivianna
* Gave everyone a random 4\* weapon
* New players now start with a random 4\* weapon

## 2019/04/08 - Weekly Update

* Updated unit input spreadsheet
* Added Sniper banner with Felice, Juniesse, Raphael, and Drake. I'm trying a new thing where the new units aren't locked to 5 star, and they're not locked to only one banner (although the only way to pull a 5 star of them is through the sniper banner). Essentially, I've added them to the 3-4 pool two weeks early
* Added Liara, Reiner, Everett, and Solomon to 3-4 pool as well
* Removed duplicate Celebration Tickets from users with two copies
* Updated information given out to new players by !register
* Added starting supplies for new players: one of each rare weapon material, 50 fragments, 500 gold, 5 seeds of trust, 7 random stat boosters, 1 random growth booster, 1 Celebration Ticket, 1 Holographic Trading Card, 1 Naughty Present, 1 Speedtaker Skill Scroll, 1 Determinator Skill Scroll, 1 Defeatist Skill Scroll, and 1 Underdog Luck Skill Scroll. These roughly correspond the free rewards Dea gave out. If you missed the reward from Dea and still don't have a particular item after this update, contact me and we'll work something out. As a reminder, attempting to multi-account for the sole purpose of trading items/units/currency to yourself will get your account locked
* Added anti-multiaccounting measures
* Applied new starting supplies retroactively to about 10 accounts that joined in 2019. Again, if you didn't get materials and you think you should, contact me.
* Re-enabled Naughty Presents
* Fixed bug where you could start a new summoning session while attempting to leave a summoning session
* Clarified the description on wild crafting materials
* Deleted trainee seals and replaced them with graduation seals
* You can no longer accidentally trade something to a locked account
* Stat boosters no longer work if the unit has already capped the stat (thanks Eclo)
* Avatars now display a merge level of N/A
* Fixed a pretty serious glitch in which no commands could target additional copies of units with an underscore in the name (ie: Xiao\_Ming\_3). Commands like !rename Xiao\_Ming\_3 would instead target Xiao\_Ming\_1 silently.
* Added !retreat as an alias for !abort
* Added !unequip all and !unequip everyone to remove all weapons from all units (thanks Eclo)
* Added the ability to use a single space or underscore in nicknaming units
* Trading away a unit now automatically unequips its weapons
* Ended the 7-day login special event
* Renamed Victor Charge to Fell Charge to match the weapons with the same effect
* Processed quote edits
* Added !sports as an alias for !supports (thanks QR)
* Fixed bug in which missions wouldn't use capped stats if the unit's stat was higher than the cap (thanks Shin and Nerf)
* Added or finished masteries for all classes
* Finished adding multiple skills that Dea had only half-added. Total skill count: 216

## 2019/03/31 - Weekly Update

* !info Avatar now functions properly
* Overclassed units now actually get a weapon rank up and should be able to equip weapons normally
* Fixed bug where levelup colors wouldn't display properly when the stat growth rate was over 100 (actually fixed this time)
* Made Mysterious/Natural materials work as wilds for crafting
* Manually fixed natures on a couple units where the owner requested it. If you've got an avatar with the wrong nature, please contact me
* Updates quotes on a few units where the owner requested it
* Opened a new quote edit sheet and locked the old one
* Fixed some emoji issues in !summon and !quests
* Changed the (s) in !progress to only show the plural if needed
* Added !info Stranger (thanks Dea)
* Reformatted the stat boost message from promotion to be consistent with the levelup messages
* Made crafting display show required time and number of slots
* Classes that give a HP boost upon mastery now give 2 points of soft HP cap increase, not 1 (ex: mastering Natural Brawler now gives +4 HP cap, versus +2 before)
* Retroactively bumped the soft HP caps for units affected by the previous bullet point
* Meera, Marvin, and Kellar are now pullable on all banners
* Added Team N banner with Liara, Reiner, Everett, and Solomon

## 2019/03/28 - Baseball event

* !unwrap now functions properly
* New players now start with a Holographic Trading Card in their inventory. Reminder that multi-accounting is a really good way to get your account(s) locked.

## 2019/03/26 - Bug Fixes

* Fixed crafting glitch where timing out would permanently set you to busy (thanks Deme)
* Trading yourself an item used to either duplicate the item or completely delete it. Now, you can't trade yourself items
* Removed event units from !quests
* Added flavor easter egg related to baseball event (thanks Dea)
* Closed voting

## 2019/03/24 - Weekly Update

* The minimum growth rate for a stat is now 5%, regardless of the unit's mods/nature/class. It was previously 0%
* Altered Gift Wrapped and Batter growths and bases for balance reasons
* Added masteries for Batter and Pitcher
* Added a few event items
* Added an !unwrap command for event items, but it's not enabled yet
* Revamped the !vote command and re-enabled it for baseball voting
* Elta, Raul, and Jacob are now pullable on all banners

## 2019/03/18 - Bug Fixes

* Maybe (???) fixed a bug where one unit would display as having leveled up twice instead of once after a mission completes (thanks Netha, Eclo, and Trav)
* Manually corrected a few units with messed up EXP
* !progress shouldn't not show item crafting progress anymore, but it's not completely fixed. If it gives you a weird number, please tell me (thanks Netha and Eclo)
* Fixed an issue where a summoning session would be cut short even if you had enough fragments to continue (thanks Trav)
* Made it so that newly registered Testaments and Celebration Ticket units have properly displayed boons and banes

## 2019/03/17 - Weekly Update

* Fixed a bug where you could have two summoning sessions going simultaneously (thanks Storm)
* Fixed a bug where you could cheese your way around the crafting slot limit
* Fixed an issue where having two of the same item complete at the same time wouldn't give you one of the items
* Made it so that uncrafted items in the !quests list are now semi-ordered
* Removed expired Causality Crackers, and gave affected users +100 gold (the sell price of the item)
* Torsten and Aislen are now pullable from all banners

## 2019/03/10 - Weekly Update

* Alistair, Rosalyn, and Garibaldi are now pullable from all banners (yes, I know it's a bit early. Oh well)
* Flame Axe, Flame Lance, and Flame Sword are now pullable from all banners
* Restored "brofile" as an alias for profile (thanks Blue)
* Fixed graphical glitch where guaranteed stat ups wouldn't show as green on levelup (thanks Netha)
* Fixed graphical glitch where capped stats wouldn't have proper spacing on levelup (thanks QRioss)
* Added "bye" and "gtfo" as methods of stopping a summoning session (thanks QRioss)
* Fixed issue where using class understanding booster items would not increase bond (thanks Eclo)
* Removed the skill "BOLD FIGHTER" due to balancing concerns
* For !help, Hubba no longer sends you the snarky message if you run the command in private
* The database is now automatically backed up upon each new day
* Added training quests
* Added crafting quests
* Crafting now takes time
* Added a third tier of forging materials
* Changed the recipe for the Overclass Seal (this will allow me to make Cap Boosters a more common item in the future without worrying about giving away easy Overclass Seals)
* Add more crafting recipes
* Added a conf message for exiting a summoning session that warns you about fragment loss and/or chain bonus loss (thanks Artemi)
* Made user accounts freeze-able, and froze a few users who DM-ed me about wanting to leave REH. To unfreeze your account, please DM me.
* Add new day quotes (thanks Eclo)
* !info now shows bases and growths for classes
* Hubba no longer believes it's 2018
* Chain bonus, pity bonus, and total 5\* rate are now displayed when summoning
* !mission <id> now works in non bot channels and DMs, but !missions still does not
* Crafting and quests only work in bot channels and DMs
* Added !unnotify to remove your RE Heroes role (thanks Vhon)
* !profile now shows whether or not you've logged in (thanks Shin)

## 2019/03/03 - Weekly Update

* Changed a lot of bot infrastructure. I think I worked out most of the bugs, but there may be some broken things in random places.
* !unitdata now displays a unit's merge level and nature. Due to technical limitations, some units may display as "unknown" nature. This is intentional.
* !banners now shows each focus' presence type
* !barracks now displays your total number and max number of heroes
* Made pity rate display more intuitive. Instead of displaying your increased chance of getting a 5\*, it now displays your increased chance of getting a 5\* **unit** (divided by 2 from the previous display). The actual pity mechanic remains unchanged.
* Made leveling up more colorful (but only if you're not on mobile)
* Moved !commands to !help and expanded the list
* Added !help <command name> to get more info about a command, including its aliases
* Added one-letter aliases for many commands
* !quest and !quests are no longer aliases for !missions
* !me is now a shortcut for !unitdata avatar
* Moved a player's login streak count to !profile
* Removed !login as a command
* !betatest was moved to !register
* You can no longer view other players' fragments and gold count without their consent using !info
* Disabled Annabot from playing (will likely add this back later)
* Fixed typo "Garabaldi" in K banner blurb
* Ended login bonuses for the pegasus parade banner
* Added a new login bonus for the next 7 logins