[lua] Add ENM Timer NPCs and some additional ENM KIs#10027
Merged
Conversation
eebbda8 to
085c354
Compare
Xaver-DaRed
reviewed
May 14, 2026
| option <= 100 | ||
| then | ||
| -- verified via capture, all NPCs share a single Intro CS. Once done at one NPC, the rest do not trigger it. | ||
| player:setCharVar('[ENM]TimerNpcIntroCS', 1) |
Contributor
There was a problem hiding this comment.
If this is going to be a forever variable, it may be better to use an entry of the "char unlocks" forever variables
Contributor
Author
There was a problem hiding this comment.
I see the email reply went to top level - not as a reply to comment: #10027 (comment)
Anyways, updated to use char unlocks - unique events. I really like this system.
Also, did some more testing on Ghebi and fixed a discrepancy I noticed when i went back re-watched my capture - Ghebi 1 2026 5 12 12 27. When a player has the ENM KI (Astal Covenant) Ghebi says nothing about it. This additional logic allowed for cleaning up the interaction nicely
Contributor
Author
|
Yeah, it's a forever thing. You only get the intro CS up until you accept
it once from one of the NPCs. Kinda like a quest start dialogue but with
no underlying quest.
I'll take a look at char_unlocks tonight after work but seems like a good
idea.
With vars like this (NPC gives a one time intro) I'd almost rather set them
on every char, then remove post interaction - however these NPCs are so
optional that most people I mentioned them to thought they were custom/QoL.
…On Thu, May 14, 2026, 8:36 AM Xaver ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In scripts/globals/enm.lua
<#10027 (comment)>
:
> + if enmAvailableVanaTime > VanadielTime() then
+ player:updateEvent(0, enmAvailableVanaTime)
+ else
+ player:updateEvent(0)
+ end
+end
+
+xi.enm.timerNpcOnEventFinish = function(player, csid, option)
+ local npc = player:getEventTarget()
+ -- Handle intro CS
+ if
+ csid == cutscenes[npc:getName()].introduction and option >= 0 and
+ option <= 100
+ then
+ -- verified via capture, all NPCs share a single Intro CS. Once done at one NPC, the rest do not trigger it.
+ player:setCharVar('[ENM]TimerNpcIntroCS', 1)
If this is going to be a forever variable, it may be better to use an
entry of the "char unlocks" forever variables
—
Reply to this email directly, view it on GitHub
<#10027 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AZH2FMXWJXFOSX4ONI5X35342XRWRAVCNFSM6AAAAACY3SWDMGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHM2DEOJRGI2DCMZQGI>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
9937fd4 to
7c3b218
Compare
7c3b218 to
8607dc0
Compare
Xaver-DaRed
approved these changes
May 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I affirm:
What does this pull request do?
enm.luaBreaking Change for Live Servers
VanadielTime()when working with cooldowns - fixing display errors.[ENM]MiasmaFilter[ENM]ZephyrFanKnown TODOs:
The following interactions are uncaptured at this time
2. Event Decompile and Testing with !CS show that the hidden quest selection and ENM information can be generated at the same time - however it is unknown if retail actually does this.
4. Char Requirements:
5. Rank 3 Jeuno Fame.
6. Never started or completed Tenshodo Membership.
7. Completed CoP up to gaining a PsoXja Pass.
8. Has not completed all of COP - Ideally stopping right after Diabolos
9. This will allow verification of filtering based on access.
10. For now, this impl allows an active Tenshodo Membership to block ENM access.
12. While investigating decompiled events - I cam across a CS we are missing which appears to happen during Darkness Named.
13. It seems trading the wrong chips (maybe the goblin sold chips) will cause the trade to be rejected.
14. Can be captured by the same char that captures case 1
Capture References:
Steps to test these changes
!poscommands are on each NPC)!poscommands are on each NPC)