Author Topic: An idea for creating a kind of "NPC in Party" event trigger  (Read 270 times)

Offline steve_mcdee

  • Dungeon Craft Tester
  • Hero Member
  • ***
  • Posts: 1953
An idea for creating a kind of "NPC in Party" event trigger
« on: April 14, 2017, 05:10:39 AM »
I am very keen to get a functional version of an event trigger that allows me to see whether a particular NPC is in the party.

One possible way to do this that occurs to me and which I think should be relatively simply in principle is this:

1. Hack the "Party can see invisible" event trigger so that, instead of "detect invisibility", it determines whether the party has some other special ability -- I want to pick something which the party is very unlikely (or ideally totally unable) to have. I don't know if it is possible to make the trigger point at monster abilities rather than spell effects, but it strikes me that something like "slain by blessed bolts" would be perfect (since I won't have any blessed bolts in my game). Otherwise I would pick something like "stone of good luck" (I won't have any stones of good luck in my game either).

2. Hack the NPC in question so that they permanently have the particular special ability that has become the event trigger. No PC will ever get the ability in question, so

3. If necessary, hack the special ability so that having the special ability does not actually have any effect a character who has it. This step would not be necessary if I was able to make the event trigger on something like "party member is slain by blessed bolts", because that will have no practical effect anyway, since no enemies will be equipped with blessed bolts. I am not sure what effect "stone of good luck" actually has...

I think I can achieve step 2 easily enough using the NPC/Monster editor created by the bugfix1.zip version of script.glb. I may need some assistance with step 1 (and step 3 if it is necessary).

Does anyone see any reason why this approach would not work?

Edited to add: One thing that occurs to me is that the "special abilities" like "carrying stone of good luck" or "slain by blessed bolts" might continue to subsist even if the NPC is unconscious or dead ... not sure about that. But I need events to trigger only if the NPC is in the party and conscious.

My testing, with giving the NPC "sees invisible" and leaving the event trigger unchanged, is that the event is still triggered whenever the NPC is in the party, even if they are dead. That is somewhat surprising, but suggests that the same thing would happened with the "slain by blessed bolts" or "stone of good luck" ability; I somehow need for the effect to go away when the NPC is not conscious.
« Last Edit: April 14, 2017, 05:57:02 AM by steve_mcdee »

Offline steve_mcdee

  • Dungeon Craft Tester
  • Hero Member
  • ***
  • Posts: 1953
Re: An idea for creating a kind of "NPC in Party" event trigger
« Reply #1 on: April 15, 2017, 07:56:39 AM »
Just a bit of an update on this.

I managed to change the "Party Can See Invisible" event trigger to check whether the party has the "Slew Blessed Bolts" vulnerability. It was as simple as changing byte 199292 from 24 to 82. This vulnerability doesn't show up against the NPC in CAMP>MAGIC>DISPLAY but means that the . The only minor "bug" with this is that events are triggered when the NPC is in the party, even if they are unconscious or dead. I am keen to fix that if anyone has any bright ideas, but if not, I think I can live with the minor quirk that the NPC will keep talking when she's dead.

The good news is that the "Party Cannot See Invisible" trigger is unaffected by this change. So it is still easy enough to cause an event to trigger if the party "can see invisible" -- I just need to include a chain event with the "cannot see invisible" trigger and make the normal chain occur if that event doesn't happen.

It appears that the "Party is Detecting Traps" trigger (byte 199150) can be modified in the same way -- for example, changing it to mean "Party has stone of good luck". So, by modifying both the "Can See Invisible" and "Detecting Traps", and giving NPCs the relevant special abilities, I should be able to trigger events according to whether either of two different NPCs are in the party.

Offline ProphetSword

  • Mod Designer
  • Administrator
  • Hero Member
  • *****
  • Posts: 2903
  • FRUA Lives!
    • Lands of Adventure
Re: An idea for creating a kind of "NPC in Party" event trigger
« Reply #2 on: April 15, 2017, 08:19:28 AM »
Two questions here:

It was as simple as changing byte 199292 from 24 to 82. This vulnerability doesn't show up against the NPC in CAMP>MAGIC>DISPLAY but means that the .


1) This sentence is incomplete.  Not sure what you were trying to say here.  Is there are thought missing?


2) How does this differ from detecting that the NPC IS IN PARTY?



LANDS OF ADVENTURE: An Old-School Style CRPG

More Information Here: http://landsadventure.blogspot.com/

Offline steve_mcdee

  • Dungeon Craft Tester
  • Hero Member
  • ***
  • Posts: 1953
Re: An idea for creating a kind of "NPC in Party" event trigger
« Reply #3 on: April 15, 2017, 09:35:23 AM »
It was as simple as changing byte 199292 from 24 to 82. This vulnerability doesn't show up against the NPC in CAMP>MAGIC>DISPLAY but means that the .
1) This sentence is incomplete.  Not sure what you were trying to say here.  Is there are thought missing?
There is indeed, but nothing especially profound. The sentence should have finished: "means that the presence of the NPC can be detected for the purpose of triggering events".

2) How does this differ from detecting that the NPC IS IN PARTY?
I'm not quite sure what you mean by this question. Do you mean: "We already have an NPC IS IN PARTY trigger available for FRUA, why try to achieve the same thing in a different way?" Or do you mean: "How does this differ from the OAUA NPC IS IN PARTY event trigger?"?

As far as I know, the NPC IS IN PARTY event trigger comes with OAUA, but there is no easy way to implement that trigger in FRUA without applying the whole OAUA worldhack. If I am wrong about this, and there is a standalone hack that would allow me successfully to introduce a properly-functioning NPC IS IN PARTY event trigger, allowing the designer to select which NPC to check for, then I would really love to know.

My belief that there is no existing NPC IS IN PARTY trigger available for FRUA is what led me to seek an alternative that might work satisfactorily. Differences between the OAUA version of the NPC IS IN PARTY event trigger and my workaround described here are, I believe, as follows:
1. The OAUA event trigger allows you to select any NPC from a list -- as per the NPC SAYS event. My workaround is limited to a couple of NPCs who have to be given special abilities of a kind the party will not otherwise have, so it is neither as flexible nor as "designer-friendly".
2. The OAUA event trigger I believe only triggers when the NPC is conscious -- again, this emulates the NPC SAYS event, except with the important bonus that it allows events to be chained depending on whether the event that was triggered by NPC IS IN PARTY event happened or not.

Offline ProphetSword

  • Mod Designer
  • Administrator
  • Hero Member
  • *****
  • Posts: 2903
  • FRUA Lives!
    • Lands of Adventure
Re: An idea for creating a kind of "NPC in Party" event trigger
« Reply #4 on: April 15, 2017, 12:01:59 PM »
Sorry.  I actually meant:  How does it differ from using an NPC SAYS event?
LANDS OF ADVENTURE: An Old-School Style CRPG

More Information Here: http://landsadventure.blogspot.com/

Offline Nol Drek

  • Dungeon Craft Tester
  • Hero Member
  • ***
  • Posts: 2187
    • Nol Drek's Web Site
Re: An idea for creating a kind of "NPC in Party" event trigger
« Reply #5 on: April 15, 2017, 01:44:02 PM »
Sorry.  I actually meant:  How does it differ from using an NPC SAYS event?

Quote from: steve_mcdee
But I need events to trigger only if the NPC is in the party and conscious.
"Into the Drachensgrab Mountains!"

http://www.noldrek.com

Offline ProphetSword

  • Mod Designer
  • Administrator
  • Hero Member
  • *****
  • Posts: 2903
  • FRUA Lives!
    • Lands of Adventure
Re: An idea for creating a kind of "NPC in Party" event trigger
« Reply #6 on: April 15, 2017, 03:00:29 PM »
Sorry, I'm a little dense today.  :P


I get it now.  You're not trying to do a text event if an NPC is in the party, you're trying to do other kinds of events if the NPC is in the party.  Do I have that right?
LANDS OF ADVENTURE: An Old-School Style CRPG

More Information Here: http://landsadventure.blogspot.com/

Offline steve_mcdee

  • Dungeon Craft Tester
  • Hero Member
  • ***
  • Posts: 1953
Re: An idea for creating a kind of "NPC in Party" event trigger
« Reply #7 on: April 15, 2017, 03:39:41 PM »
Sorry, I'm a little dense today.  :P


I get it now.  You're not trying to do a text event if an NPC is in the party, you're trying to do other kinds of events if the NPC is in the party.  Do I have that right?
No worries. Yes, exactly: trying to activate other kinds of events. It would actually be unnecesssry if NPC Says events were treated as not having happened every time they weren't displayed to the player.

Offline ProphetSword

  • Mod Designer
  • Administrator
  • Hero Member
  • *****
  • Posts: 2903
  • FRUA Lives!
    • Lands of Adventure
Re: An idea for creating a kind of "NPC in Party" event trigger
« Reply #8 on: April 15, 2017, 05:09:41 PM »
Could you use the triggers for SPECIFIED RACE and make the NPC a race not available to the party?  Like MONSTER?

Or perhaps eliminate one race (like maybe Half-Elf...or Gnome...) from player selection if it's world appropriate, and make the NPC the only thing that could be that race?  (You could probably even use some trickery to make it appear as something else...like a race called NPC).

Just brainstorming.

Of course, this probably won't eliminate the issue of it still firing when the NPC is unconscious or dead.  Just might be an easier path.
« Last Edit: April 15, 2017, 05:13:29 PM by ProphetSword »
LANDS OF ADVENTURE: An Old-School Style CRPG

More Information Here: http://landsadventure.blogspot.com/

Offline steve_mcdee

  • Dungeon Craft Tester
  • Hero Member
  • ***
  • Posts: 1953
Re: An idea for creating a kind of "NPC in Party" event trigger
« Reply #9 on: April 15, 2017, 05:29:56 PM »
Those would be other ways to do it, sure. This NPC is a human, so I wouldn't want the player to see "monster" when they view the NPC. I could change the name of the "monster" race to "human" but then any friendly monsters would appear to be human when viewed in combat.

I'm fairly satisfied with my solution: it's not very difficult hacking, and it doesn't really sacrifice any functionality since "not see invisible" and "not detecting traps" are still available. In a sense, the fact that the event triggers when the NPC is present but not conscious is not a problem I've introduced but a bug with FRUA itself: after all, "sees invisible" events really shouldn't trigger when the only character who can see invisible can't see at all.

Ideally, I'd like to hack "specified race/class is in party" to check the active character's race/class/sex/alignment rather than that of any character in the party ... my next research project maybe.
« Last Edit: April 15, 2017, 05:33:34 PM by steve_mcdee »

 

anything