[x] that I've tested my code since the last commit in the PR, and will test after any later commits
The goal of this PR was to fix the first time visiting events of classic Dynamis areas including Dreamland zones.
In the process there were a lot of things I stumbled upon and needed adjustments.
This fixes:
being able to enter base zones with only VIAL_OF_SHROUDED_SAND
The requirements have been rewritten to be incremental and based on the PRISMATIC_HOURGLASS since it is impossible to legitimately obtain any of the subsequent key items without obtaining the hourglass first and the hourglass trade is locked behind the Vial of Shrouded Sand. Consequently it is impossible to legitimately obtain a HYDRA_CORPS_INSIGNIA without winning all the other areas. It is therefore perfectly reasonable to only check for the follow-up items. This applies to Dreamland also.
use of incorrect legacy menus
The csid's for the menus were all wrong and called one of two legacy menus which did not work with the parameteres that were passed. Dialogues referred to legacy mechanics and put wrong output in wrong places and options plain would not work. I suppose everybody reading here knows what this refers to exactly, but just in case I made a short video on stock Topaz canary branch (Canaria server).
bad usage of area bit
The player was getting the current areas bit set only by calling the menu even if he chose to cancel it. The bit was changed to be applied only after choosing to enter Dynamis.
wrong default dialogues and incorrect usage of Hieroglyphics in Dreamland areas and incorrect usage of default dialogues of Trail Markings in classic areas
The deault dialogue willalwaysprint on every click except for the winning cs and the very first visit of Dynamis Tavnazia. This required some extra logic.
obtaining RHAPSODY_IN_AZURE while on cooldown would not allow to enter Dynamis despite having the key item
An additional check for the key item allows to by-pass this behavior
This adds:
all the first-visit cutscenes for all classic and all dreamland areas
logic had to be re-written because these cutscenes are playedafterselecting "Ready!" from the menu event with the sole exception of Dynamis Tavnazia where the player simply fallsunconscious when clicking the Hieroglyphics there upon first visit.
Additional changes:
• renamed csSand to csVial as it could be mistaken for having a relation to San d'Oria
• renamed csDyna to csMenu to make it as descriptive as possible
• outsourced the re-enter timeout into a local function because it gets used twice and clutters the legibiliity of later logics
(Tavnazia first visit needs this individually)
[x] Tested extensivly locally working, probing all marks during every step
(with only vial ki, with hourglass ki, first-cs, winning-cs, access of subsequent zones, functionality of subjob in dreamland)
(Made sure this time that I didn't accidentally watch Dyna [D] captures ;D)
I affirm:
The goal of this PR was to fix the first time visiting events of classic Dynamis areas including Dreamland zones. In the process there were a lot of things I stumbled upon and needed adjustments.
This fixes:
This adds:
Additional changes: • renamed
csSand
tocsVial
as it could be mistaken for having a relation to San d'Oria • renamedcsDyna
tocsMenu
to make it as descriptive as possible • outsourced the re-enter timeout into a local function because it gets used twice and clutters the legibiliity of later logics (Tavnazia first visit needs this individually)