- 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
- 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.
- 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.
- 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.
- Added support for short lived quest timers. Works in csx and json.
- Updated quest reference documentation with details from research.
- Added new packet S2C_QUEST_TIMER_NTC.
- Updated the quest "Extend Garden", q60300000.csx to use the new timer
command since it has a sequence which waits 3 minutes.
If writing csx quests, there is a helper type AddDelayBlock.
If writing json quests need to use:
- result command: StartTimer(timerNo, waitTimeInSeconds)
- check command : IsEndTimer(timerNo), IsNotEndTimer(timerNo)
Added the ability to detect if a world quest was completed for the area.
Updated the quests to use the proper behavior.
- q60000014.csx
- q00000012.json
- q00000023.json
- 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
- Implemented the main story quest "The Land of Despair".
- Implemented the main story quest "In Search of Hope".
- Implemented the main story quest "Meirova The Veteran General".
- Implemented the main story quest "The Princes Whereabouts".
- Implemented the main story quest "Survivors Village".
- Implemented the main story quest "The Opposition".
- Implemented the main story quest "Prince Nedo".
- Fix issue with party invite in BBM
- Fix issue with BBM entrance not persisting
- Renamed the file q790000001.csx to q79000001.csx
- Updated q60000014.csx to add back missing EXM functions to Seneka,
Isaac and Doris.
- Added dungeon unlock:
- q00000010.json: Dreed Castle
- q00000016.json: Gardnox Fortress
- q00000020.json: Mergoda Security District
- q00020180.json: Path to Morrow
- q00020190.json: Shadolean Great Temple
- Added door unlock:
- q00020170.json: Dana Gates
- q00020180.json: Morfaul West Gate
- q00020190.json: Glyndwr Gates
- Added Area Information:
- q00020040.json: Bloodbane Island
- q00020170.json: Farana Plains
- q00020180.json: Morrow Forest and Elan Water Grove
- q00020190.json: Kingal Canyon
- Added support for the adventure guide.
- Add support for quests to unlock different content and menus.
- Implemented a world manage quest to track job tutorials.
- Implemented the following personal quests which unlock systems:
- The Arisen's Abilities
- Reliable Source of Information
- Crafted Token of the Heart
- Gathering in the Clan Tavern
- Lestania's Best Dressed
- Road to Mastery
- The Temple's Tradespeople
- Living with the Partner Pawn
- Shining Within a Loyal Heart
- Extend Garden
- Custom-Made Workshop 1: Searcher's Return
- Custom-Made Workshop 2: Limit Break
- Custom-Made Workshop 3: Ultimate Arms Synthesis
- Arms With the Power of the Dragon 1
- Arms With the Power of the Dragon 2
- Implemented the following job quests:
- Fighter Tactics Trial: A Stubborn Shield
- Fighter Tactics Trial: Break Attack
- Seeking the Master Fighter
- Priest Tactics Trial: Purification
- Priest Tactics Trial: Break Attack
- Seeking the Master Priest
- Seeker Tactics Trial: A Whirlwind
- Seeking the Master Seeker
- Shield Sage Tactics Trial: A Magick Shield
- Shield Sage Tactics Trial: Break Attack
- Seeking the Master Shield Sage
- Hunter Tactics Trial: An Ambushing Bow
- Hunter Tactics Trial: Break Attack
- Seeking the Master Hunter
- Sorcer Tactics Trial: A Magick Attack
- Seeking the Master Sorcerer
- Element Archer Tactics Trial: A Magick Bow
- Seeking the Master Element Archer
- Warrior Tactics Trial: A Strong Sword
- Seeking the Master Warrior
- Alchemist Tactics Trial: Alchemy
- Seeking the Master Alchemist
- Spirit Lancer Tactics Trial: A Spirit Lance
- Seeking the Master Spirit Lancer
- Rewrote or updated the following main story quests:
- Rewrote "Resolutions and Omens" as a quest script
- Updated "The Slumbering God" to use newer JSON block types
- Rewrote "Soldiers of the Rift" as a quest script
- Rewrote "The Crimson Crystal" as a quest script
- Updated "The Dull Grey Ark" to have proper enemies for the boss fight
- Updated "Envoy of Reconciliation" to have proper enemy nameplates in
the cellar
- Updated additional existing main story quests to distribute contents released
- Split IsBo an IsHo enemy parameter from the BO amount field to match
behavior of old playback videos where an enemy has a normal health bar
but still rewards BO/HO
- Added a generic mechanism to handle quest work items
- Added the message "The entire party has returned to a safe area." when
the instance gets reset while the player is in a party
- Added better unlock support to json
- Partial implemention of the EXM "Recurrence of Darkness" (q50204000) using the
scripted quest system.
- Moved all scripts to a seperate Arrowgene.Ddon.Scripts project to
support out of project comde completion in csx scripts.
- Updated the README.md in the scripting project with details on how to
enable csx autocompletion in Visual Studio Code.
- Enabled scripted quests to have some dyanmic state for the instance of
the quest.
- Continued to build out QuestBlockUtil and QuestResultCommnandUtil to
make it more convient to write scripted quests.
- Updated the script callback function to pass a new object
QuestCallbackParam and updated the function to support passing
anonymous functions as an argument.
- Moved index calculations for JSON quests to the asset deserializer.
- Adjusted some "discovered quests" to not show the marker on the map
until after the quest is engaged.
- Renamed the script_dll directory to script_assemblies which is used
for csx debug support.
- Updated the README.md for the scripts directory.
- Added an implementation of the EXM "Crucible of Demons".
- Added + icons to Gritten Fort time enemies.
- Add party in stage checks to prevent desync in "Phindym War
Chronicles".
- Added new InstancedRandomEnemy class and libddon helper function to
use it in scripts.
Created a document which tracks the different endgame contents which are
implemented using the quest system. Intended to track which EXMs, Clan
Quests and War Missions still need to be implemented.
- Added the ability to define quests using C# script.
- Implemented the 2018 Christmas quests using C# script.
- Implemented the 2017 Halloween quests using C# script.
- Implemented the 2018 Halloween quests using C# script.
- Added the ability to load external scripts from the "libs" directory
in scripts loaded by the GameServer project.
- Added new documentation for scripts.
- Updated existing 'holiday_personal_quests.md' to include directions
for enabling the event quests.
- Added support for Wild Hunt.
- Added sample quest q15040003 which is a hunt for S-Rank monster in
volden mines.
- Documented what the different image IDs are.
- Added a new config file EventDrops.json which allows the server admin
to inject item drops server wide to some set of enemies.
- Added an instance item manager for event items.
- Implemented season quests for Halloween.
- Implemented lantern NTCs
- Added quest pseudo block NewDeliverItems which puts a marker above
NPCs who have items delivered to them which are spawned by flags.