Jump to content


Photo

Solafein death variable search - besides SOLA


  • Please log in to reply
22 replies to this topic

#21 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 03 August 2015 - 01:39 PM

Nope, no worries - it is on topic, as it is dealing with the various incarnations of Solaufein, and dealing with them!

 

The simplest fix for detecting what we want to add to is MOD_IS_INSTALLED. It does expect the mod folder and requested component to remain stable, which *usually* doesn't change over time, but for most mods and modders this is a great way to go. For Crossmod Banter Pack, we are using it to detect materials that have no unique materials to detect, extending existing canonical NPCs without adding something unique and unchangeable

 

ACTION_IF MOD_IS_INSTALLED ~YOSHIMOROMANCE/YOSHIMOROMANCE.TP2~ ~0~ AND MOD_IS_INSTALLED ~HAERDALISROMANCE/HAERDALISROMANCE.TP2~ ~0~

 

 

Unfortunately, if multiple mods are expected to be included/detected/screened out, that means multiple OR and ELSE statements. So we retain old skool "unique items" or "unique .cres" but mostly "do both the dialogue files we add content to both exist", and rely on the banter engine to not call those banters as valid, as it expects the InParty and CD_S_NV to both be true in oder to fire the banter.

 

So... the only condition under which this might be a problem for another mod is if the added (useless) banters interfere with weighted states in that file. I took a look, and we have no problems. If someone installs a future joinable NPC with "sola" or "solaufein" using the SOLA.dlg we are fine because we do what Roxanne does: check for a banter file and create it if it doesn't exist, and add all our content to that one - if it exists, we toss ours on unweighted. Suprisingly, the only mod that might may need to keep an eye out for install orders is... Roxanne's! :shifty: Crossmod is usually a last-after-all-npcs, but Sandrah NPC is a "last of the last of all mods added onto a Mega/BWP install".  I don't have a BWP installed right now that even remotely covers the contents in your mod, Roxanne, and my bet is there will still be no issue, but just to check, you might want to peek at the file. Check to see what the weighting is - if it is just random banters you are adding, nothing matters at all, but if you are expecting a quest related dialog being fired off the Baner file instead of the Joined file, then that might be something to look at.


At least you know which mod might be doing something in that file. Worst case scenario, you just weight your materials adding to the banter file to put them at the top of the stack, and make sure thy are fully conditioned, and you are all good.

Thank you for confirming that I did the right thing. So far I have not found any problem with my banters to work nor with blocking off any one elses scripted or random banters this way. "just weight your materials adding to the banter file to put them at the top of the stack, and make sure they are fully conditioned, and you are all good.", (unless there is a mistake in the conditions...).

I needed to take this approach for my own NPCs right from the beginning as their own files are constantly appended by the mods I integrate with. Otherwise Sandrah's own b file which has about 700 state triggers including many chained dialogues would be unmanageable.


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*

 


#22 cmorgan

cmorgan
  • Staff
  • 2301 posts

Posted 03 August 2015 - 02:47 PM

That sounds right - not old skool "Best Practice", where you try not to take the top of the stack in favor of vanilla, but you are doing what amounts to a mod (Sandrah) of a mod (whatever npc mod interacted with) of a mod (BGT) of a mod (Mega/BiG/BWP) of a game, so you have to get creative :)



#23 Roxanne

Roxanne

    Modder

  • Member
  • 3564 posts

Posted 03 August 2015 - 09:36 PM

That sounds right - not old skool "Best Practice", where you try not to take the top of the stack in favor of vanilla, but you are doing what amounts to a mod (Sandrah) of a mod (whatever npc mod interacted with) of a mod (BGT) of a mod (Mega/BiG/BWP) of a game, so you have to get creative :)

The top of the stack is only a problem if it blocks the random stuff below. All my banters are triggered and one time only, so the game engine will always pass them by and trigger the "lower" stuff except for the one situation that is in my trigger. What has established the *old school* approach were just early mod attempts that did not use weight and triggers correctly and thus blocked other banters to ever happen (same like people carelessly adding their characters and triggers to area.yyybcs or baldur.bcs and stopping everything that comes after)


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*