Implement Ballista License mini-quest - #11472
Lydya-nick77 wants to merge 1 commit into
Conversation
4b1b6fb to
06c531e
Compare
|
In terms of what's hitting the codebase, this is neither a migration or a re-implementation; this is just the first implementation. Please adjust commits and PR info accordingly. |
06c531e to
da59e93
Compare
|
I renamed them |
| local function getProgress(player) | ||
| return quest:getVar(player, 'Prog' .. player:getNation()) | ||
| end | ||
|
|
||
| local function setProgress(player, value) | ||
| quest:setVar(player, 'Prog' .. player:getNation(), value) | ||
| end | ||
|
|
||
| -- Whether a foreign leader has received the player yet, tracked per nation visited. | ||
| local function wasReceivedBy(player, npcNation) | ||
| return quest:getVar(player, 'Prog' .. player:getNation() .. npcNation) == 1 | ||
| end |
There was a problem hiding this comment.
Please replace these .. concats with string.format(...) (and in the rest of the file)
There was a problem hiding this comment.
I replaced them
| local function unlicensed(player) | ||
| return not player:hasKeyItem(xi.ki.BALLISTA_LICENSE) | ||
| end | ||
|
|
||
| local function isLicensed(player) | ||
| return player:hasKeyItem(xi.ki.BALLISTA_LICENSE) | ||
| end |
There was a problem hiding this comment.
While I don't mind them, there are some other reviewers who don't like these single-line functions that don't offer much/any additional insight, if you're comparing player:hasKeyItem(xi.ki.BALLISTA_LICENSE) to isLicensed(player), etc.
Please inline them
| end | ||
|
|
||
| local function letterAddressedTo(player, npcNation) | ||
| return director[player:getNation()].letters[npcNation] |
There was a problem hiding this comment.
But for example, this is a little more complex, so it's more justified wrapping it up in a helper function, etc.
da59e93 to
4b1c425
Compare
4b1c425 to
bdaf4d4
Compare
I affirm:
What does this pull request do?
New implementation of the Ballista License mini-quest as a hidden quest using the Interaction Framework, superseding #11466.
Thanks to @zach2good for providing his version of the file. I only had to do a few adjustments.
The quest supports all three home nations, both foreign-letter delivery orders, nation-leader approval, license issuance, and Ballista Earring acquisition and return.
The earring return and letter hand-over messages use zone-local text IDs verified against the installed retail client DATs.
Based on the following captures and also testing / validation / trial and error with sruon's site.
Ballista - Obtain license for Windurst citizen
https://youtu.be/t1njm2qnnWI
https://drive.google.com/open?id=1HpVZ6cQ7tDh7zYI-1nYRiKgTPj9KMCbO
Ballista - Obtain license for Bastok citizen
https://youtu.be/uOYIZNdd85w
https://1drv.ms/u/c/87e665e10555c452/EcIyKONktfdDnoPjhLRRCf8BiGY3TBvdLH80obCIFmQBNA?e=YqS7ZK
Ballista - Obtain license for Sandorian citizen
https://youtu.be/YnE36IgYdXw
https://1drv.ms/u/c/87e665e10555c452/EaUvnz-_JvlGmj2nEy8quHYB0CBIZAZuOPCC_9R8ys0x3A?e=PURU3O
Steps to test these changes