Jump to content

Compatibility vs. mod design?


Recommended Posts

This is not a simple question, or maybe it's a simple question but with no simple answer (and I hope it won't start catfights of any sort).


In principle, I am all for compatibility of mods: Do not use INTERJECT, EXTEND_TOP in dialogue states, and never, never REPLACE. Patch, if possible, instead of overwriting.


But now I am coding my Ajantis BGII mod, and I have the following problem:


Ajantis is paladin, like Keldorn. He would react the same as Keldorn, or Mazzy, or Valygar at some point in the game, one would assume.


If the PC wants not to free the kidnapped lady Elgea, Keldorn or Mazzy will do it instead. If the PC doesn't want to free Mazzy, Keldorn or Valygar will do it. If the PC tries to send the drow slaves to the spiders, Keldorn or Mazzy will send them into freedom.


So, obviously, Ajantis should do the same, if all of the other NPCs are incapable or not in the party. Well, should he? Because to realise this, I have to use INTERJECT, which changes the dialogue path, and could, just could, cripple another mod that depends on the original dialogue flow.


Of course Ajantis would only do this if none of the other BioWare NPCs with this reaction would be present, and it's only for evil PC reactions, so a PC with a paladin in the party probably would never do otherwise anyway, but... but... I just saw an incompatibility thread of a mod that currently don't seem to be maintained on another forum and I though that I do not want my mod to become another mod's breaker.


So, help?

Link to comment

I think I'd use INTERJECT here, but only if an original Bioware NPC already splices the dialogue path in two(Keldorn and illithium quest, for example).


But two technical notes:




Every, or nearly every, NPC mod which has ToB uses it: either in Fate Spirit summoning dialogue, or in Volo's biography dialogue.




So far, I'm using it like fifty times in IWD NPC. And it's totally compatible with everything, because it's my own dialogue and a special dump state. So, REPLACE REPLACINI lupus est, or however it's translated. :band:

Link to comment

To use EXTEND_TOP at the fate spirit in ToB is somewhat accepted, yeah. But in normal NPC's dialoge xyz, it could ruin other mod's ADD_TRANS_ACTION or _TRIGGER.


And you can replace your own stuff upon installation of course. I was talking about original game's content, I thought that's obvious.


For the use of INTERJECT it would be only the above mentioned situations, and yes, at least two BioWare NPCs already do that.


I left out the other ones where Keldorn or other interject into the PC's decision already but aren't so crucial for character developpment: Nalia, Wellyn, Sir Sarles (well, Ajantis will say something about the fakes Illithium, but since Sir Sarles notices himself, coding didn't need an INTERJECT).

Link to comment

Unless you consider the way IA decides compatibility acceptable, blocking an interjection isn't the end of the world. Valen has exactly 33 non-CT INTERJECTS, and (to my knowledge) this never caused any compatibility problem to speak of - and taking Valen forces you to kill the freaking Silver Dragon.

Link to comment

I may not like having an NPC make a decision for me, and I certainly want to promote as much compatibility as possible (especially as I would consider that not every NPC would override the party leader. They would voice objection, and warn that they will leave, but not question a battle order that does not result in death. Military orders are predisposed to that sort of thing. Bioware got this one wrong, in my book. The Kivan/Viconia and Edwin/Dynaheir fights make much more sense).




I think INTERJECT is appropriate matching of BioWare content. And unlike the Sirine's Call stuff, which works perfectly well with the BG1 NPC content, leaving other folk's stuff in place risks having a comment that makes no sense, since you are changing dialogue paths and final content - that's why I haven't gone back and made BG1NPC REPLACE materials and INTERJECT materials more "compatible" code. I am investigating what was done because the tech was not understood/not available, but most of our stuff *has* to stay coded that way, because it does completely change dialogue flow (Coran's stuff especially).


For what it is worth, i think that most of these situations woud be better served by a more 'realistic' approach.


I_C_T into the dialogue in question, which indicates what the NPC reaction is, and warns of conflict.

ADD_TRANS_ACTION or ALTER_TRANS a variable onto the "unwanted" pathways.

Set up the NPC response as appropriate - either an immediate BCS call that sets the NPC free of the party, possibly even hostile and attacking them, or going off to gather renforcements and attacking them later on -


or incremeting an "evil decision" counter,


or pretty much anything else that means aplayer gets o make the decision they want - and suffers the consequences of their action.


This isn't PnP, where Ajantis can do an opposed roll against PC's dexterity and grab the ring, or stuff like that.

Link to comment
This isn't PnP, where Ajantis can do an opposed roll against PC's dexterity and grab the ring, or stuff like that.
You'll never forgive me that... :band:


Yes, I see your point. It's just that I am also into the thought "match BioWare", and seeing how Keldorn, Mazzy and Valygar change the player's decision on so many occasions... I will think about it some more.

Link to comment

This isn't PnP, where Ajantis can do an opposed roll against PC's dexterity and grab the ring, or stuff like that.

You'll never forgive me that... :band:


Jastey, not only do I "forgive you" (not that it is needed) but I play with Ajantis inparty on at least a third of my runs!!! Not that my point of view has any special significance, anyways, as I tend to be very conservative in both mods installed and play type. Male LG Paladins and Fighters (sometimes F/M). Romanicng Dynaheir, usually. And I never kick Ajantis out - I have a little side conversation with him in my head, and growl alot ;)


Somewhere in there, I know I said "use the INTERJECT" - it would be really jarring to have a player who romances Ajantis through BG1 NPC suddently have him change behavior. As a reader, most folks want consistency of character above all other considerations. If there is a change in behavior, it needs to make sense.


After that, I was just talking in general terms about the idea and relating it to an existing Ajantis moment, not specifically picking on your choices. I promise not to mention it again, even in converstaions about this stuff - there are *tons* of other folk's work to use for this kind of example. Valen, Saerileth, the regular BioWare splitting of dialougue into paths, even the Edwin vs the group of Red Wizards stuff in BG1 NPC with all those EXTERNs out of the regular state, sometimes patching back into the original dialogue state stream, sometimes not. You have to choose how Ajantis would act - the rest of this are opinions, none of which really matter to characterization. :D

Link to comment

These are all situations where an evil PC would have to be an idiot to expect a paladin to keep quiet over it. So in this case, using INTERJECT in states where Keldorn would use INTERJECT, if he were a mod NPC and not BioWare, makes perfect sense. And don't forget, at 40-something, Keldorn is far more wise in the ways of the world than 22 year old Ajantis. He doesn't get ruffled by much.


cmorgan, I do agree with you, that BioWare failed to take adherance to orders into account. As modders, however, it's probably better to be consistent with BioWare's way of handling paladinic behavior. If this were a more historically accurate game, it would be different, but it is what it is.

Link to comment

Yes, I agree with berelinde. Just remember: Ajantis is the paladin and he needs to fit to ADD-paladins rules. Writing my Keldorn romance I studied Complete Paladins Book just for this purpose. And I doubt that evil PC would play romance with Ajantis :band:. BTW I think people who would install your mod will not do act like evi. Because they play paladin's mod

Link to comment
BTW I think people who would install your mod will not do act like evi. Because they play paladin's mod


You obviously have never met Corvis, who enjoys slaughtering peasants and then using Aerie's flirt pack to get her to giggle appreciatively.


(I believe he's slaughtering in-game peasants, but I guess I should ask him to be more specific...)

Link to comment

Fine, but you can't have it both ways. First you asserted that people don't play evil with a paladin in the party, and I assure you that they do.


If you want to say "why we need to care", then fine, but that's a different story. I do tend to agree that there is an upper limit about just how much a game designer can reasonably police the player's choices with the NPC--so as long as you don't have Ajantis absolutely breaking the game every time the player sneezes in the wrong direction, it probably doesn't matter which way you do it.

Link to comment

Pretty much. I_C_T does a COPY_TRANS back into the original state, so other mod content shows. INTERJECT takes the dialogue off into another direction entirely, and has the potential to take away a player's roleplaying choices.


INTERJECT doesn't always have to be a dealbreaker, though. When you want to add PC response options to a state that doesn't have them already, you need to INTERJECT, because the original transition, probably GOTO or EXIT happens before an EXTEND_BOTTOM would take effect. It is possible, however, to return to the original dialogue using COPY_TRANS. I had to do this in Homeward Bound, for the "view dismissed NPC epilogues" component. I'm adding 17 potential PC responses to a state that doesn't have any. Without COPY_TRANS, I'd be completely hosing the end of the game for other modders, because my dialogue would sidetrack the dialogue. However, once the solar has said her bit, and the PC has given a choice, all the branches COPY_TRANS back into the original state, so nothing is actually lost. If any other mods added interjections to this state, they'd still play.

Link to comment

I think as long as it shouldn't totally cripple a mod's content, and it fits the character, you should be able to do the occasional changing of actions, as the BioWare crew do.


Mods must give some leeway to one another (such as having to kill/not kill NPCs in quests) and I could certainly see a paladin attacking a formerly friendly party selling people into slavery, even at the obvious cost of his/her own life.



Still, the mod friendly method of interjecting into the original dialogue and having consequences occur after the normal dialogue concludes (other NPC reactions and all) fits character and gets around the problem of possible mod breakage, so where possible, it may be the best option.

Link to comment


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

  • Create New...