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.
- 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
- Added support for Job Masters.
- All custom skills above level 4 are rolled back to level 4
- All augments above level 3 are rolled back to level 3
- Skills which are rolled back have their job points refunded to the
player.
- All skills and augments are unequipped from all players.
Miscellaneous Changes:
- Implemented the personal quest "The High Scepter's Heir" which is used
to unlock High Scepter and High Scepter job training.
- Adjusted automatic EXP and BO calculations.
Added support to breakdown equipment into BO, R, G and some random items
based on some parameters. Exposed the item selection algorithm as a new
script equipment_recycle.csx. Added a new settings script under the
uncategorized section called equipment_recycle.csx. This contains
settings related to disassembly of equipment.
Addiitonal Changes:
- Fixed an issue with the task scheduler where timers were not stored in
the task manager, which leads to them eventually getting garbage
collected.
- Updated the schedule script to print what type of task it is reporting
for.
- Added behavior for Custom-Made Service Ticket and Silver Ticket when
the player receives them as an item from a quest to put them in the
wallet.
- Player can now assign a partner pawn at the riftstone and the server
will remember which pawn it is.
- All rewards besides achivements and recipies are obtainable.
- Player gets credit once per day for:
- Delivering 2 Riftstone Shards to the pawn
- Performing 1 craft with the pawn as the craft master
- Adventuring with the pawn for 30 minutes.
- Reset occurs every day at 5:00am local server time.
- A new setting "PartnerPawnAdventureDurationInSeconds" has been added
to configure the time in seconds it takes before the server considers
enough time has passed to give the player credit.
- Added a new function PauseTimer to the timer manager.
- Added a new PartnerPawnManager class.