Jump to content

IsValidForPartyDialogue


Guest LaRock

Recommended Posts

Guest LaRock

What does IsValidForPartyDialogue("someone") replace? If I put it as a banter condition (beside the one that will ensure that the banter doesn't repeat), is that enough, or do I still have to use See() and other conditions?

Link to comment

It's supposed to mean what it says, that the creature running the script is available for party dialogue, i.e. not dead, stunned, silenced, petrified, etc., but it's faulty. It's better to use !StateCheck(DV,CD_STATE_NOTVALID) and then put the following in the tp2

 

/* STATE.IDS patching - borrowed from CamDawg */

/* adds custom IsValidForPartyDialogue state */

APPEND ~STATE.IDS~ ~0x80101FEF CD_STATE_NOTVALID~

UNLESS ~CD_STATE_NOTVALID~

Link to comment

I would recommend adding "InMyArea()" to these checks for inner party banters, as two NPCs trying to communicate while in different areas might brake the game.

InParty("npc") is also very helpful for joinable NPCs.

 

For Interjections, I use the triple

~InMyArea("npc") InParty("npc") !StateCheck("npc",CD_STATE_NOTVALID)~

 

with "npc" being the death variable of the NPC that should start talking.

Link to comment
It doesn't seem like the best time for a talk when one of the guys supposed to participate is trying to hide. :suspect:
Yes, berelinde stated that recently and I agree fully (actually, I never thought of it before). I had more the "Kelsey and Imoen don't have any love talks in my ToB" bug reports with Imoen wearing the cloak of invisibility (or a similar item) in my mind.
Link to comment

I tend to use See() for banters, because I don't want my guys chatting up invisible characters, and InMyArea() for interjections. I don't care if the NPC is on the other side of the map for an interjection, because often, the quests depend on the interjections firing. But yeah, if Imoen's wearing an invisibility cloak, Gavin should leave her the hells alone. There's nothing he can have to say to her that can't wait until she takes it off.

Link to comment
Aww. Then should we warn players against this, or make banters work from across the map? :suspect:
It depends on what you have in mind. I think berelinde's approach is a good one, and a hint in the readme doesn't hurt, either.

Up to now, I always used the "InMyArea()", also for dialogues, but I am thinking to change my mind, because of what berelinde said. (That's what you get from always playing a fighter who romances a paladin / a cleric. Who cares about hiding in shadows anyway :blush: )

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...