Commit graph

155 commits

Author SHA1 Message Date
Nirrudn
dad78cc2bb
Merge branch 'sebastian-heinz:develop' into feat/serverside-translation 2026-07-10 18:44:01 -04:00
Nirrudn
f25a9d1fa4 Feedback Changes round 2
NotFound switched to ConcurrentDictionary and utilizes AddOrUpdate to accept hotloaded changes.

Removed attempted error correction for string formatting, switched to a try/catch block to log format errors and display the localized "NotFound" error string instead.
2026-07-10 17:14:01 -04:00
hankhotspur
49953fff77 Prince Nedo MSQ bugfix 2026-07-10 15:26:41 +01:00
Nirrudn
efb82faa9e Feedback Changes
Locale command updated to pull from the loaded assets instead of needing manually adjusted. Its output is also localized.

Switched to using an enum for translation keys instead of string keys.

Adding error logging during asset loading if the asset is missing any keys from the enum. Error messages for missing keys will also be logged during gameplay as they happen.

Localization assets now additionally require a meta "NotFound" key in addition to the locale key before they are loaded. This is used to print a localized error string when no suitable string can be found due to missing keys.

BitterblackMazeRewards file converted to the new enum setup.

Removed Bitterblack JSON files that were used for testing and created one en-US file instead.
2026-07-09 20:32:59 -04:00
hankhotspur
4638a7379b Caution spot updates 2026-07-08 17:02:24 +01:00
Nirrudn
1525f022ee Feature: Serverside Localization
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.
2026-07-07 11:26:47 -04:00
hankhotspur
fe0afad06d Job training changes 2026-07-06 23:23:35 +01:00
hankhotspur
391c5912e6 Update q60000001.csx 2026-07-01 22:05:51 +01:00
hankhotspur
0282959df8 Check 237 and quest updates
- Renames IsSubstoryStateBit21 to DoExtremeSynthesis
- Adds IsSearchClan and TouchClanBoard to .csx command list
- Adds the personal quests: Gathering in the Clan Tavern (Continued) and Banging the Gates of the Clan Hall
- Updates event execution flow for several quests
- Adds banner announces for two S3 trials
- Updates Isaac's quests with proper quest checks directly from the dumps
- Updates wallet rewards for several personal quests
- Breya Coast Request: Troubled Shores 1 order conditions removed, but no longer shows up before completing Crafting Token of the Heart (info straight from the dumps)
- Rathnite Foothills Trial: Captives in the Hills: updated enemy spawns, improved quest logic  (circle marker now vanishes if you go to the wrong spot, general announces added, a checkpoint was added)
- Updates several Hidell Plains world quest banner images, rewards for some also updated, all from the dumps
- A Malice in the Dark: enemies now only spawn at night, announces now show in the proper order
- The Perilous Labyrinth: quest marker now shows up properly
2026-06-23 19:18:18 +01:00
hankhotspur
d2560be22d Check 238 2026-06-20 19:19:38 +01:00
hankhotspur
25009e2c29 Command updates 2026-06-20 01:01:48 +01:00
hankhotspur
bebde3b9e4 Update q60200033.csx 2026-06-19 02:10:42 +01:00
hankhotspur
9fdead0d7d Update files 2026-06-15 18:29:40 +01:00
hankhotspur
d5b5217420 Update ar01_pyre_saurian_colony.csx
Fix
2026-06-15 03:54:40 +01:00
hankhotspur
a0d37b98a3 S3 remaining trials/caution spots
Adds the following quests to the disabled folder:

Megadosys Plateau Trial: Material Procurement
Megadosys Plateau: Rescue Request
Megadosys Plateau: Liberation Army Support
Megadosys Plateau: Pursue and Defeat Enemies
Megadosys Plateau: Prevent Enemy Attack

Adds caution spots for Megadosys Plateau and the remaining spot for Urteca Mountains. Firefall spot was split into two files and Nilviris was split into three.
2026-06-14 23:21:17 +01:00
hankhotspur
234d505eed More quests and caution spots
- Adds EventExecCont to .csx command list, adds quest blocks AddEventExecContBlock and AddEventAfterJumpContinueBlock.
- Adds the following quests to the disabled folder:
Megadosys Plateau Trial: Shadow of Heresy
The Ruler Overwhelmed by Power
Urteca Mountains Trial: A Trickle in the Darkness
Magick Called to the Deepest Depths
- Adds the world quest Flames of Darkness.
- Adds several Urteca caution spots.
- Adds several flags to QuestFlags.cs, fixes a typo with one entry, fixes some quest entries checking the wrong flag, deletes a duplicate entry (Q70020001Unk0 is the same as Julia0)
2026-06-14 19:34:35 +01:00
hankhotspur
cfd0532c06 Job trial requirement update
Job trials for Seeker, Element Archer, Alchemist, Sorcerer and Warrior now require Arisen's Abilities
2026-06-13 06:00:40 +01:00
hankhotspur
d66a9cafc7 Changes to quests and spots 2026-06-12 20:07:04 +01:00
hankhotspur
4776bdc86d Quest locks for caution spots 2026-06-07 19:42:05 +01:00
Paul Campbell
3a824a506f offical pawn updates
- Add support to manually assign crafting levels
- Add support for static level
2026-06-06 14:18:24 -04:00
Paul Campbell
55305aea45 fix: Remove official pawn
Removed official pawn added by accident.
2026-05-31 11:14:20 -04:00
Paul Campbell
c2d314193d feat: Add option for unlock reqs to official pawn
- Added the virtual function IsUnlocked to IOfficialPawnScript
- By default, if no implementation is supplied, it returns true
- Updated README.md on how to use this new feature
2026-05-31 10:16:00 -04:00
hankhotspur
e7e5853829 Merge branch 'develop' of https://github.com/hankhotspur/Arrowgene.DragonsDogmaOnline into develop 2026-05-31 14:48:17 +01:00
hankhotspur
5f8a8e2ccc Command references
Updates quest_command_reference with the new commands, SetDiePlayerReturnPos and ResetDiePlayerReturnPos, also cleans up whitespaces in q50400008
2026-05-31 14:47:57 +01:00
Henry J. Oliver
c141e806c6
Merge branch 'sebastian-heinz:develop' into develop 2026-05-31 14:29:25 +01:00
Paul Campbell
937b2e04ce feat: Official Pawns
- Added support for server admin to define offical pawns.
- Added support for dynamically defined official pawns which change
  based on the hiring player level.
- Added a new settings file official_pawns.csx
- Added new official pawns
  - Annuate, Puala, Rumi and WhiteKnight
2026-05-31 08:31:27 -04:00
Henry J. Oliver
43188afb2f
Merge branch 'sebastian-heinz:develop' into develop 2026-05-31 00:33:42 +01:00
Paul Campbell
de33a7a523 fix: Update deps
- Updated deps to stable implementation with no security issues.
- Updated code to address backwards breaking changes due to deps update.
- Fixed an issue introduced with WebServer 1.1.8 which has different
  semantics for "/", causing the "Welcome - Index Page!" to be returned
  for everything.
2026-05-30 15:44:57 -04:00
hankhotspur
eca21fcece More command renames
- Renames check command 220 to  MonsterGatheringSpotState, check command 223 to QuestOmEndAnimation and check command 224 to QuestOmEndAnimationNoMarker
- The Prince's Whereabouts MSQ now uses QuestOmEndAnimation for the lever. Cannons on Rathnite Foothills also now show markers.
- Created a new folder for disabled .csx quests. Added four quests to this folder (Restored Medal of the Royal Family I-IV)
2026-05-26 18:03:44 +01:00
hankhotspur
af0581d282 Command ChainNotLess
Defines check command 250 as ChainNotLess (chain number in a Chain Dungeon >= param1).
2026-05-24 15:52:27 +01:00
Paul Campbell
6f63b18d42 fix: Fix compile issue with updateom.csx
The enum was renamed but the script was not updated.
2026-05-09 11:08:49 -04:00
Paul Campbell
08918b1c00 code review: Fix issues detected
- Fixed an issue where DB state was only peristeted if the leader
  delivered an item.
- Fixed an issue where the DB state was only updated for the leader in
  shared quests.
- Fixed an issue with /giveitem which happens when you ask for too many
  items.
2026-05-09 09:31:24 -04:00
Paul Campbell
49845889d8 feat: Improve quest rewards
- 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
2026-05-03 22:02:46 -04:00
hankhotspur
cf8f447c06 Feryana PQs 2026-05-04 02:47:38 +01:00
Ryan Yappert
c8a28972aa
Fix: General Bugfixes, April 2026 (#1031)
* 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.
2026-04-30 21:28:52 -07:00
hankhotspur
2d3f8b78ad Merge branch 'develop' of https://github.com/hankhotspur/Arrowgene.DragonsDogmaOnline into develop 2026-04-25 21:39:15 +01:00
hankhotspur
0af32df537 Kingal Canyon WQs 2026-04-25 21:38:46 +01:00
Paul Campbell
572ddcae05 feat: Scriptable tasks
- Added the ability to define server scheduler tasks in csx files.
- Redefined all existing tasks as scripts.
2026-04-25 09:21:49 -04:00
hankhotspur
0a83fd3ccb Merge branch 'develop' of https://github.com/hankhotspur/Arrowgene.DragonsDogmaOnline into develop 2026-04-24 23:55:35 +01:00
hankhotspur
0cfb7a171c EM6 unlock npc fix 2026-04-24 23:55:10 +01:00
Paul Campbell
1ec73ead05 fix: Remove local path from q50400008.csx
Co-authored-by: @Kythe
2026-04-24 00:16:14 -04:00
Paul Campbell
0bd7bcd404 feat: Add Sub Story Quest Handlers
Added handlers and required packets for:
- QuestAddPackageQuestPointHandler
- QuestGetPackageQuestInfoDetailHandler
- QuestGetPackageQuestInfoHandler

Added new quests
- q10300102.csx
- q60300030.csx

Added a new settings file substory.csx to describe the mission
requirements.

Database 56 -> 57

Co-authored-by: @hankhotspur
2026-04-21 23:02:46 -04:00
Paul Campbell
905e2adfd0 feat: Support chain dungeons
- Fix null pointer exception when weekly chest is opened.
- Play around with enabling 0 timeout in the dungeon.
- Add support for random layout in the dungeon.
2026-04-20 07:06:30 -04:00
Ryan Yappert
0e865d30cf
Feature: Communication Features (#983)
* 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.
2026-04-18 01:27:57 -07:00
hankhotspur
8749501b59 ID fix 2026-04-16 14:46:44 +01:00
hankhotspur
3e59d9655b Checkpoint 2026-04-16 01:58:03 +01:00
hankhotspur
9aaad889d8 EM unlocks 2026-04-16 01:55:44 +01:00
hankhotspur
fca2dd0e5a Personal quests 2026-04-15 14:39:24 +01:00
hankhotspur
d8686742a9 Feryana spot guide quests 2026-04-14 23:26:16 +01:00
hankhotspur
8b06f8bbdb Personal quests 2026-04-14 20:33:45 +01:00