Adds serverside translation based on a player-set locale. See DispelGetLockSettingsHandler for example usage.
Accounts now have a locale field, which is set via a new /locale command.
A new server asset has been created, allowing for JSON files in the localization folder to be used to translate text sent by the server into the account's language of choice. See Files/Assets/localization/BitterblackSealing.en-US.json as an example of the format.
- Extracted season 3.2 updates for default config file from donutland.jp
- Made server more tolerant to json changes so admin can change json
without needing to update database per character.
- Updated json to use the UIID name directly instead of converting enemy
id to UUID.
- Added missing enemy ids
Allow a player to trade in x/y items and remember that x was traded next
time they log in.
- Added checkpoints to
- q20000017.json
- q20000017_1.json
- q20000017_2.json
Database Version 61 -> 62
- High: persisted instanced rewards are cloned as non-instanced.
- High: instanced reward UIDs are cached on quest definition objects.
- Medium: legacy reward-box materialization inserts instanced box rows without staged rows.
- Medium: missing staged data is treated as success and destroys the reward.
- Low/Medium: JSON crest level default disagrees with the schema.
Additionally:
- Removed support for wrongly spelled json keys in rewards
- Updated generic_quest_state_machine.md
- Cleaned up reward syntax while making it backwards compat.
- Quests can now define rewards which have crests, color, etc. as part of
the item reward.
- Quests can define items with random crests rolled when claimed.
Database version 60 -> 61
- Added support for first time ever, in period and helping rewards.
- New quest rewards will no longer be tied to the quest file
implementation after being rewarded.
- Quests now support partial reward claims.
- Added a new daily reset task for extreme missions.
- Fixed an issue with the next time being calculated on the same day as
the reset for newly added tasks.
Database version 59 -> 60
* Fix bug where appraising certain items in BBM while you had a copy of that item in your regular character's storage chest would throw an error. Fix bugs where SQLite would occasionally have a DB lock conflict due to poor connection management.
* Be more aggressive when clearing out invalid priority quests.
* Fix bug where the Beauty Shop would sometimes complain about PRICE_NO_MATCH when trying to pay with Silver Tickets.
* Fix bugs where pawn search wouldn't display craft levels, and didn't support filtering by craft level.
* Migrate 58 > 59. Store character_id in the connections table so we can use it for player tracking. Adjust player tracking to be driven by the DB.
* Fix bugs where bazaar processes could sometimes delete items if the storage was full.
* Add feature where you can sell special items (like PP crystals) to consume them, instead of having to spam use them.
* Fix bug where deleting pawns would badly mangle the equipment entries of other pawns owned by the same character.
* Add support for LightQuestRepeatsPerDay, limiting the number of times a board quest can be offered to a single player per day.
* Research for EquipStatId.
* Maybe fix bug where base game augments were secretly applying even in BBM? Maybe fix bug where certain alt-pallet skills wouldn't work in multiplayer due to missing context information.
* Update database migration version.
* Automatically promote localhost players to admin when running in debug mode. Adjust /finishquesttype to clear progress when finishing quests.
* Fix bug where hired pawns wearing job emblems weren't benefiting from the stats on them. Hired pawns now reflect the hiring character's job emblems entirely.
- Added support to handle randomization of quest rewards on repeat
clears.
- Added support to configure reduction of point rewards on repeat
clears.
- Once the world quest stask fires, full rewards will be available until
first clear for that period again.
* Adds packet structures, handlers, and server support for Player Mail, Blacklists, Group Chats and Message Sets.
Implements rudimentary GM features via chat command.
Adds support for IP Bans and muted players.
Simplifies how login stamps are handled.
Cleans up and modernizes some old packet handlers.
* Rebase. Fix CommandRoute and AccountRoute. Cleanup and response to PR comments. Rearrange some of the schedule_next stuff in the DB creation schema for clarity.
Implemented the world quest rotation as it was in the original game.
Added a setting which allows this version or the reset every instance
version to be used. Added a setting which toggles filtering world quests
by party leader area rank or not.
* Improve /godmode to also heal to full.
Add the moon phase name to /time.
Address edge bug in /fashion.
Fix bugs in /il and /sl chat commands.
Fix bug involving leftover invite records when joining an EntryBoard.
Fix bug when selling the materials gained from recycling equipment.
Fix BBM mangling inventory sort data.
Fix null reference edge case in InstanceGatheringItemManager::EmptySpots.
Fix key doors not properly sharing their state with party members.
Fix missing profile information when examining potential pawn hires.
Fix issue where certain pawn data handlers didn't properly return all the sub-notices they should.
When embodying BBM items that can stack (in unusual circumstances), attempt to merge stacks when possible.
Identify Seabell as the Extreme Mission Group 3.
Move the base stats from CharacterManager to CharacterCommon so they're a bit more convenient to access for CData conversions.
Add Megado Craft Room to safe stages.
Fix missing furniture crafting recipes that would normally be unlocked by achievements. Fix mis-attributed node for hunt board quests.
Expose the training room monsters as a new asset.
Fix missing Num for slayer stone crafting recipes.
Fix illegal items being handed out as part of S3 area supply rewards.
Cache the last LobbyLobbyDataMsg and gather it alongside contexts when you move into a hub to prevent players who were doing emotes from being invisible.
Don't allow writing the transient PawnState.Party to the DB; always write PawnState.None instead.
Make sure hub memory is wiped when changing game modes, to prevent ghost characters from standing around.
Be more consistent about only providing the clan short namein certain spots?
* Packet research: C2SConnectionPingReq, S2C_GET_CHEAT_INFO_REQ, C2S_GET_CHEAT_INFO_RES, CDataCycleContentsNews.
* Review comments.
* Expose BBM GG reset cost as setting at request.
- Implemented the main story quest "The Royal Family Sacrament"
- Implemented the main story quest "The Approaching Demon Army"
- Implemented the main story quest "Portent of Despair"
- Implemented the main story quest "Diversionary Tactics"
- Implemented the main story quest "The Secret Entrance"
- Implemented the main story quest "A Desperate Infiltration"
- Implemented the main story quest "The Battle of Lookout Castle"
- Fixed an issue with HIBO orb unlocks not applied to player on login
- Fixed an issue where some HighOrb nodes were labeled as blood orbs
- Fixed migration key issue
- Added support for the 3.0 HiBO tree.
- Enabled Epitaph Road (Rathnite)
- Updated q60300020.json
- Moved unlock from MSQ to personal quest
- Reorganized scripts for job orb tree
- Delete old ones if copy+paste
Decayed quest cancellation notice on area reset.
Clean up EnemyId/EnemyUIId/ClientItemInfos implementation; use ItemId, EnemyId, and EnemyUIId when possible instead of uints
Light quest DB stuff, adjustments to handle variant ids, removing decayed quests when returning to town, rotation task and RPC for child servers.
Fix some tasks announcing to the non-head servers on the wrong route.
Migration 43 -> 44; add support for new quest_id + variant_index scheme for decoupling quest and schedule id.
Cleanup inconsistent packet id naming; add some new quest cancellation packets.
Light quest generation, mixin for light quest rewards, and asset.
Add DeliveryItemsLight and KillTargetEnemies block support to QuestBlockExtension. Add explicit support for DistributionStart/End in the quest asset and quest system.
Remove existing board quests.
- Added support for job emblems
- Created new personal quests to unlock emblems.
- Added support for emblems using the menus at Renton.
- Created new handlers and packets for the new menus.
- Add new scripting module for "Skill Augmentation"
- Locked EM4 skills behind completion of EM4
- Implemented tree layouts for all jobs
- Implemented new REQ, RES and handlers for Skill Augmentation
- Implemented the quest Skill Augmentation Guidance of a Renewed White Dragon
- Implemented augmentation trials for all jobs
- Updated adventure guide logic to handle when to present quests better.
- Adjusted how personal quests for vocation are distributed to remove
the need to change areas or log out to get them to show.
Thanks for help from multiple players to help us collect the skill tree
data.
Co-authored-by: 𝔢𝔪𝔪𝔞 𝔢𝔳𝔢𝔯𝔤𝔞𝔯𝔡
Co-authored-by: Cold Blood
Co-authored-by: Genzyuro
Co-authored-by: あゆふぁ
Co-authored-by: 鬼頭オパーリン
Co-authored-by: GaethanT
Co-authored-by: Sapphiratelaemara
Co-authored-by: King Flipsta