Skip to content

Add link event trigger node. - #449

Merged
Hoikas merged 3 commits into
H-uru:masterfrom
Hoikas:link_event_trigger
Jul 16, 2026
Merged

Add link event trigger node.#449
Hoikas merged 3 commits into
H-uru:masterfrom
Hoikas:link_event_trigger

Conversation

@Hoikas

@Hoikas Hoikas commented Dec 13, 2025

Copy link
Copy Markdown
Member

This is a higher level use case of the xLinkEventTrigger.py file introduced in H-uru/Plasma#1821. RIght now, this is just an example. I still have some iteration to do here, and I would like to add some more high level logic nodes to improve the workflow where Python has to get involved.

Python File nodes are tricky because the attributes are inputs to the script but function logically as outputs. For example, responders appear as an input to a Python file node, but Python file nodes can trigger responders. The inverse is also true. In the case of xLinkEventTrigger.py, we see the same thing - normally an activator is an input/trigger for a Python file node, but, in this case, the Python script is triggering the activator so that the responder or other things connected under "satisfies" can proceed.

@Hoikas
Hoikas force-pushed the link_event_trigger branch 3 times, most recently from 0dc2b48 to c69c4e4 Compare December 14, 2025 23:01
@Hoikas
Hoikas force-pushed the link_event_trigger branch from c69c4e4 to 89d0fa5 Compare June 18, 2026 02:26
@Hoikas
Hoikas force-pushed the link_event_trigger branch 4 times, most recently from 843c32c to 8fa9f55 Compare July 4, 2026 17:08
@Hoikas
Hoikas force-pushed the link_event_trigger branch 3 times, most recently from 5e38c20 to 8e57cbb Compare July 15, 2026 21:26
Hoikas added 3 commits July 15, 2026 16:33
These are annoying to create by hand, so put the details behind a
friendly method.
This node is a high level wrapper over the xLinkEventTrigger Python
script I wrote to fire off a Responder on link-in or link-out. It uses
plActivatorActivatorConditionalObject to be able to trigger anything
attached to a logicmod.
While it was great that I finally found a use for
`plActivatorActivatorConditionalObject`, the problem with it is that it
doesn't forward any of the event data records from the triggering
notification. That means if you want to have a tree that acts on a
specific player, that information would be lost. So, I'm going to limit
this to just triggering responders for now. Maybe someday, we'll modify
all engine versions that are pertinent to forward the event records
correctly.
@Hoikas
Hoikas force-pushed the link_event_trigger branch from 8e57cbb to 117203d Compare July 15, 2026 22:09
@Hoikas

Hoikas commented Jul 15, 2026

Copy link
Copy Markdown
Member Author

This is now ready for feedback. I will only leave this PR up for feedback for ~24 more hours.

image

This node is a high level wrapper around xLinkEventTrigger.py and allows firing off an arbitrary responder or basic responder. I removed the whole activator activator thunk thing because I learned that activator activators do NOT forward event data, so information about which avatar did the trigger is lost. That means you cannot play animations on specific avatars.

Additionally, I have decided to remove the other high level logic nodes from this PR because they do not relate to this particular node, and none of them use the thunk method I was tinkering with.

@Hoikas
Hoikas marked this pull request as ready for review July 15, 2026 22:10
@Hoikas Hoikas mentioned this pull request Jul 15, 2026
@Hoikas Hoikas added this to the v0.18 milestone Jul 15, 2026
@Hoikas
Hoikas merged commit 2a1c480 into H-uru:master Jul 16, 2026
3 checks passed
@Hoikas
Hoikas deleted the link_event_trigger branch July 16, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants