Jump to content


cmorgan's Content

There have been 38 items by cmorgan (Search limited from 23-May 23)


By content type

See this member's


Sort by                Order  

#580593 Quick question about editing .tra files

Posted by cmorgan on 26 August 2015 - 10:23 AM in Mega Mod Help

You need to pay attention to encoding (ascii for regular non-EE games), and avoid using MS Word/markup; the best way to avoid having things mess up .tra files is to edit them with a code editor like Notepad++, JEdit, Crimson, etcetera.



#580003 Looping Dialogue Problem in Watcher's Keep in ToB

Posted by cmorgan on 30 July 2015 - 05:27 AM in Mega Mod Help

Heh.

 

This at first glance looks like the vanilla .dlg - I will go recheck. But for some reason  

 

IF ~Global("HistoryTalk","GLOBAL",0)~ THEN REPLY #62788 /* ~Fair enough.  But how did you get here in the first place?~ */ DO ~SetGlobal("HistoryTalk","GLOBAL",1)
~ GOTO 5

 

is either not setting the global, or not registering the global in the next pass through the state. Modders put several blocks between a global set inside a dialog and referencing that global in the same dialog for that reason - and usually avoid the problem by either using EXTERN to another file or just not referencing the global inside the same dialog.

 

I... don't know offhand what would cause a global like this not to eventually set and register...

 

...unless the .bat is picking up the original file and not the interjected-into file in override.




#579390 Imoen Bladesinger

Posted by cmorgan on 15 July 2015 - 07:44 PM in BGT Archive

TU is Turambar's prefix, according to the Community Modder Prefix list al BWL. So most likely it is from his/her tweaks and fixes mod, possibly for NTotSC. I think that is an SHS mod, but I am not sure. It might be in the misc mods section.



#578663 Aran Whitehand Missing Options

Posted by cmorgan on 28 June 2015 - 06:55 PM in Mega Mod Help

Sure thing - an easy fix, on the surface of it. I can do a quick INCLUDE and throw those out to a .tpa. It will be done in about 12 hours from this post and integrated on GitHub.

 

Except... I don't understand why anyone would install the main component, then stop the installation, then install a second component - won't the REQUIRE_PREDICATE calls, and weidu's "temporary uninstall rollback" come into play, thus messing heavily with things? I know we specifically set up marker files in BG1NPC to *stop* cherry-picking individual components, or worse, placing them out of order (a pid component put before a dialog component).

 

Does someone have a cut-down script or a way I can test the behavior of AranW installed this way?

 

Or in this case I could skip the whole component thing and use READLN with only one master component. But I want to understand what the tool is doing separating components, and why, please.




#578486 Aran Whitehand Missing Options

Posted by cmorgan on 26 June 2015 - 08:57 AM in Mega Mod Help

Cooool - I'd better go see if there is more to be done to be compatible with this.




#578476 Aran Whitehand Missing Options

Posted by cmorgan on 26 June 2015 - 05:51 AM in Mega Mod Help

Author available - Jarno, dabus, ALIEN, or anyone who knows the architecture of the tool used to guide the installation, please contact me :)

 

The two weidu.logs I have seen on this seem to show the installer forcing several components successfully, then trying to install everything a second time. It also seems to be choking on REQUIRE_COMPONENT ~setup-aranw.tp2~ ~0~ @30017

 

Straight installation (manual) shows no errors, but it is done through setup-mymod.exe rather than command line calls; if this requires a trivial change in the order or a setup of a component to deal with BWP, I'm game. There is already a "default" installation that lets players skip all the choices. Not sure why someone would want to skip the choices, but hey, it is their game.




#578483 Aran Whitehand Missing Options

Posted by cmorgan on 26 June 2015 - 08:20 AM in Mega Mod Help

@The Imp, glad to see you, man!

 

re:

@cmorgan: Can you extend the English version of the setup.tra file from this:

- sure thing. I can do that after each round of changes, if it helps - or do you need the version number to be static for the tool?

 

 

Regardless, I will make the change now to update.

 

re: beta status, well that is a tough one!

 

On the one hand, as a modder, I can always use the bug reports to fix the mod up - and big installs cast a wider net looking for "unintended consequences".  I am the culprit for the darned mod being in "unreleased but fully working beta", when what I should have done about a year ago was realize it was ready for a v1 release.

 

But if the mega-install tool  were my own project, I would say something like "test your own damned mod, cmorgan; we have a hard enough time dealing with the garbage the NON-beta mods throw at us randomly, let alone ones that are regularly adding content! I need to eat/play/sleep SOMETIME!!"

 

@Bill Bisco - oh, I understand - so an uninterrupted flow needs the answers to the questions to be provided and inserted. No worries. Sequence for components:

 

(not sure about language choice options, but there is only english - currently, it should just install without asking a language option)

ASKED | RESPONSE

Display Readme | N   // no point in displaying a readme if you are doing an unattended install

Install | i                     // put the mod in place; it will find SoA, ToB, Bg2EE, and run HANDLE_CHARSET for bg2ee utf8 conversion

Set talk timer | 1        // regular talk times, skips all sorts of customization questions

Install audio | 2         // only soundset and music available at this time

Music choices | 1      // guitar soundset

Aran config | 1          // default soldier, skips all sorts of customization questions

Install portrait | N       // default .cre has portrait in place already, so this component is optional

 

GitHub has the latest changes, and the order of components is static. As a BG2:EE install, there are no known dependencies; as a BG2:SoA or BG2:ToB install, it assumes the G3 BG2 Fixpack is installed (but looks for the things the mod directly accesses and sets them up if it needs them).

 

The only thing that may be trouble on huge installs is the creation of the inn where you can pick up Aran. That is set up with code that dynamically searches for AR0700's "Abandon06" info point and changes it into a travel region. It has been tested against Dorn (bg2:ee new entrance at the top ) and Kivan (spawned as if he were entering from the same basic point) with both working fine. If a mod that comes after Aran completely removes or renames "Abandon06" or old-skool overwrites/replaces AR0700, then folks will have no access to recruit him and they just wasted a bunch of time installing a relatively huge dialog-centered mod. It won't cause problems for the install, but it will add thousands of unused, unaccessible dialog states and transitions to the game.

 

Note: for full troubleshooting, I have tucked a ton of information into the .DEBUG file for the mod, including what the user answered, and what it means for the install. This includes architecture, weidu vars, the chosen timings, etc., etc. if that is useful to anyone looking for identification of trouble spots.

 

Aaaand someone please let me know what "EET" is? I have been away from modding for a year, which translates to about 3 full tech cycles these days... :)




#578686 Aran Whitehand Missing Options

Posted by cmorgan on 29 June 2015 - 09:54 AM in Mega Mod Help

HAH! FOUND IT!

 

Thank the gods for CamDawg and the G3_Debugging_Suite...

I can leverage APPEND, PATCH_PRINT, and INNER_ACTION to create a custom .log file that is untouched by changes to other components, but is still removed when the mod is uninstalled. Tested a structure for BG2EE and it works swimmingly. (that means very well).

 

Now all I have to do is remember why/how to get constructs like this to use .tra references...

 

or not. The debugging can be in English and not .tra'd. Probably better for me that way anyways.

 

Someone HAS to have done this before... I will need to go look at SCS, igi's iiItem, and the like - and probably Miloch's stuff again.




#578732 Aran Whitehand Missing Options

Posted by cmorgan on 30 June 2015 - 11:15 AM in Mega Mod Help

OK, step one is done - see the beta release notes here:

 

http://gibberlings3....=27387&p=236489

 

Custom debugging logs integrated and tested against everything I could do to it minus the command line installs, updating to allow EET to use the files (untested on EET) and everything set up.

 

I will try for some of that "divided by component number user input" sorting for you tomorrow. Right now, I can help out by saying that the mod should just need three lines if running without varied choice; the debug-by-components breakdown is

 

aranw_0_debugger.log // main component

aranw_1234_debugger.log // 1 of 4 FORCED_SUBCOMPONENTs for sounds

aranw_56789_debugger.log // 1 of 5 FORCED_SUBCOMPONENTs for .cre, hidden from the user/installer by ACTION_READLN and ACTION_MATCH to player choice

aranw_opt10_debugger.log // optional portraits component, only needs to be installed if players want to choose instead of sticking with the default set.




#578679 Aran Whitehand Missing Options

Posted by cmorgan on 29 June 2015 - 07:24 AM in Mega Mod Help

AH!!!

 

I understand -

 

No worries. I have farmed the entire project's set of macros to /lib/ and set it up in the ALWAYS section, test installed (and rechecked by going through and changing the subcomponents).

 

ALWAYS
    INCLUDE ~aranw/lib/regexp.tph~ /* extra regexp vars */
    INCLUDE ~aranw/lib/aranw_macros.tph~ /* define all macros */
    /* .ids patching to make sure everything is in place */
    INCLUDE ~aranw/lib/ids_patching.tph~ /* checks for expected .ids resources */
    ACTION_IF GAME_IS ~bg2ee~ BEGIN    
    /* HANDLE_CHARSETS */
    /* BG2:EE tra conversion courtesy of weidu and iconv */
        ACTION_DEFINE_ARRAY c-aranreload BEGIN setup c-aranw END
        LAF HANDLE_CHARSETS
            INT_VAR
            infer_charset = 1
            STR_VAR
                tra_path = EVAL ~%MOD_FOLDER%/tra~
                reload_array = c-aranreload
        END
    END
    OUTER_SPRINT tra_version ~c-aranw~
END
LANGUAGE    ~English~
            ~english~
            ~aranw\tra\english\c-aranw.tra~
            ~aranw\tra\english\setup.tra~ /* Contains text strings displayed during the installation: TP2, Components, etc., encoded for _win32 (cp1252), _osx (utf-8 no BOM), or _unix (utf-8 no BOM) */

 

 

How are you dealing with all the

 

/* Setting up timered interactions with player choice before compiling .d and .baf */
OUTER_FOR( aran_timer_choice = 0 ; ~%aran_timer_choice%~ STRING_COMPARE_REGEXP ~^[12]$~ ; )BEGIN
    PRINT @30042
    ACTION_READLN aran_timer_choice
END // of O_F
ACTION_IF ("aran_timer_choice" = 1) THEN BEGIN
    /*  patching files with player choice: set talk timers */
        OUTER_SET ARAN_FTT = 3600
        OUTER_SET ARAN_LTT = 3600
        OUTER_SET ARAN_FLIRT = 3600
        PRINT @30043
        OUTER_SET choseninitialrom = 2400
        PRINT @30044
        OUTER_SET choseninitialflirt = 1200
        PRINT @30045
        PRINT @30046
END
ACTION_IF ("aran_timer_choice" = 2) THEN BEGIN
    PRINT @30047
    PRINT @30048
    OUTER_SPRINT ~friendshiptimer~ ~placeholder_value~
    OUTER_WHILE (!(IS_AN_INT ~friendshiptimer~) OR (~friendshiptimer~ > 0x6) OR (~friendshiptimer~ < 0x1)) BEGIN
etc. etc.

 

?  The list of responses needs to be fed by component?

 

I will go take a look and modify that list by component.

 

EDIT:

 

I suspect we can then detect a mod installed this way buy what is (and isn't) in the DEBUG. If individual components are installed this way, the MYMOD.DEBUG will only show the last installed materials for that component. So I need to add these checks and PRINT to the debug in the ALWAYS as well:

 

 

WeiDU says that this game has BGII:EE content.


The version of Aran Whitehand being installed is:
Beta_4 29.6.2015

Weidu variables on this install:

Language = english
Architecture = x86
Operating System = win32
User Directory = C:\Users\NAMEREDACTED\Documents/Baldur's Gate II - Enhanced Edition
Save Game Single Player Directory = C:\Users\NAMEREDACTED\Documents/Baldur's Gate II - Enhanced Edition/save
Save Game Multi Player Directory = C:\Users\NAMEREDACTED\Documents/Baldur's Gate II - Enhanced Edition/mpsave
Running .exe = D:\BeamDog\00783\setup-aranw.exe
Mod name (as seen by WeiDU) = ARANW/SETUP-ARANW.TP2
Installation type is: 1 ( 1 = install is being done interactively (IE you launched setup-mymod.exe and you’re installing mymod), or 0 = the install is being done non-interactively (IE you launched setup-mymod.exe and now weidu is reinstalling othermod due to the domino uninstall and reinstall).
 

 

And now I also need to see if any mod out there has found a way of reading READLN and ACTION_READLN responses into a custom .DEBUG, as the user-input responses and explination of timer settings, etc. are overwritten on the .DEBUG when the second command line call is made. Hmmm.... got to think about that one.




#578876 Can't find these Mods

Posted by cmorgan on 04 July 2015 - 06:41 AM in Mega Mod Help

Testing branch of Crossmod was integrated a few days ago - the new "most updated" link is currently

 

https://github.com/c...leases/tag/v14a




#578924 Can't find these Mods

Posted by cmorgan on 06 July 2015 - 04:41 AM in Mega Mod Help

My suggestion is to change the installer to versioned releases rather than GitHub "newest, then - because the info is still up there, and the mod has not changed that much - ESPECIALLY the TESTING BRANCH!!!!!

 

That branch exist because it is not a release.

 

Sorry for your troubles, Chevalier (and hey there, by the way :) ) - in this case, I can't really help much, because when a testing branch is integrated, S.O.P. is to prune it and establish a new testing branch.

 

Side note - I'd be interested in finding out what part of the installer calls for the link and sets it up. If there is a checksum, it should be possible to remove it and integrate the mod by renaming it.




#579271 Crossmod install failure with Ajantis and Tsujatha

Posted by cmorgan on 13 July 2015 - 03:56 PM in Faren

Also, let me know if you both want this moved to Crossmod. I am probably moving most of my stuff into that work, as it is getting tougher to deal with multiple mods. (Any way of coding it so we don't have multiples of the same banter would be cool - if the globals set are the same, it means only one of them will play, so from a user standpoint there is no problem with one being installed by a legacy version and a second identical one being installed by Crossmod.. But from an "add a bunch of extra blocks to search through" load-the-engine point of view, less is more.)




#580088 Solafein death variable search - besides SOLA

Posted by cmorgan on 02 August 2015 - 05:39 AM in IE Help

Well, good information and good ideas. I will see what we can do, but the easy answer is not to worry too much about it. The banters are set to fire if the associated death var returns true for both InParty and CD_S_NV. The OCD in me wants to fix this, but the realist in me says do due diligence and then move on. This npc and Drizzt are the only ones that have this king of trouble- both popular as characters and some parts/mods coded before we had a community approach.



#580124 Solafein death variable search - besides SOLA

Posted by cmorgan on 03 August 2015 - 02:47 PM in IE Help

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 :)




#580057 Solafein death variable search - besides SOLA

Posted by cmorgan on 01 August 2015 - 07:04 AM in IE Help

Thanks - I will go take a look!




#580120 Solafein death variable search - besides SOLA

Posted by cmorgan on 03 August 2015 - 01:05 PM in IE Help

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.




#579951 Solafein death variable search - besides SOLA

Posted by cmorgan on 28 July 2015 - 08:46 PM in IE Help

Ok, I am trying to run down what mods deal with Solaufein as a joinable NPC.

Standard Weimer Solaufein and jolyth's Solaufein Flirt Pack use "SOLA" as the DV. But I am seeing both Solafein and Solaufein used in existing mods as death vars as well; usually with an OR(2) to catch both sola and the alternate.

Does anyone know what other Sola mods there are out there that might use dv's other than SOLA?



#579975 Solafein death variable search - besides SOLA

Posted by cmorgan on 29 July 2015 - 08:10 AM in IE Help

Looks great!
 
Side note - Jastey's Solaufein is German-only, and uses C#Solaufein as a dv, but most importantly has independent banter file and J/P/X files, so no worries on that one. Her mod will be independent of the multiple attempts to put S in the game.
 
I actually just moved our code to behave more like yours.

You don't need the extra stuff for SoA only installs, because yours requires ToB to be installed, so you are all good :)



#579968 Solafein death variable search - besides SOLA

Posted by cmorgan on 29 July 2015 - 04:21 AM in IE Help

Ah, got it.. thank you - so the Solafein is probably a typo; check against the UDSOLA[01-02]. I will poke Jasty and see what she says/has dealing with Solaufein as well, thanks!
 
I can help on the banter file; Crossmod Banter Pack builds and adds the banter file if it doesn't exist
 
As Solaufein was the first (or one of the first) mods it has approaches that were based on existing knowledge and workarounds, things for him are decidedly "non-standard". I will look at the code, but I bet it will be fine to add the banter to either file; the conditions to trigger probably do need to be for either SOLA or SOLAUFEIN (hence the OR(2))
// Giving Solaufein a banter file
ACTION_IF FILE_EXISTS_IN_GAME ~sola.dlg~
THEN BEGIN
	APPEND ~interdia.2da~ ~SOLA BSOLA SOLAUFEIN BSOLA~
		UNLESS ~SOLAUFEIN~
		UNLESS ~25FILE~
	APPEND ~interdia.2da~ ~SOLA BSOLA BSOLA25 SOLAUFEIN BSOLA BSOLA25~
		UNLESS ~SOLAUFEIN~
		IF ~25FILE~
END

ACTION_IF FILE_EXISTS_IN_GAME ~sola.dlg~ AND NOT FILE_EXISTS_IN_GAME ~bsola.dlg~
THEN BEGIN
PRINT @8 /* Adding Solaufein's SoA banter file... */
APPEND_OUTER ~crossmodbg2/crossmod_0_debug.log~ ~Adding Solaufein's SoA banter file...~
<<<<<<<< CrossmodBG2/Inlined/BSOLA.d
BEGIN BSOLA
>>>>>>>>
COMPILE ~CrossmodBG2/Inlined/BSOLA.d~
END
As yours is a "last in install order" mod too, Roxanne, you could modify that code and use the banter file; it only builds the banter file if it doesn't already exist.

It also confirms that we only know of two dvs for this NPC: may need to split that APPEND into two lines...



#580179 Continuous Jaheira

Posted by cmorgan on 05 August 2015 - 06:04 AM in BGT Archive

tl; dr - Definitely not trolling - apt analysis. Direct parallel - Shep vs <CHARNAME>. They even have the same plot-mandtory "game over on player1 death" - a pretty universal BioWare concept, and one of the few things that give players some sense of actual consequence for actions.

 

 

the "too long" part -

 

ME[1,2,3], DAO, etc. have one basic premise that the player is at the center of the game. In ME[1,2,3] a regular combat can only end in a reload by a player death; your "team" can die in combat and then be up and ok, but if Shep/FemShep dies, reload is prompted. There, like in BG, is patently silly to have Player1 replaced by an in-game NPC. For BG, they are not the Bhaalspawn... in game terms, in plot term, and in story terms, Player1 survivies to fulfill destiny, or the game is pointless - "Jaheria has a hidden secret - she is actually Neo/Shephard/Bhallspawn, and the game up until this point is really a trick!" [The Dallas TV show syndrome - recast an entire season as a dream so that the plot can actually continue after the writers have written themselves into an untenable situation]. The only way it makes sense is if the player1 situation can be reolved at the end of combat with ressurection - but even then, the whole point is that the essence of Bhaal is *released by killing a bhaalspawn*. So no matter how you justify it, you can't have player1 die in BG/SoA/ToB.

 

BUT in ME[1,2 and to an extremely limited extent 3] if a quest requires a "joinable" NPC or a plot "non-joinable" NPC death, the game consequences are carried through with a clone of the bit-player's plot, a new quest giver, and a slight tweak to the existing sub-plot. This means that the overall gist of the game is relatively immune from Plaer Choice™. It means that the player is re-cast from the lead in an interactive movie, to a script director in an interactive movie. The actor's choices have consequences for the way the story plays out, but the same basic "scenery" elements ae brought to play for each and every actor in places where player choice matters long-term; "forced choice points" that are needed to advance the story remain in play even if the player does something like wipe out a plot-needed character.

 

SO, the crux of the matter is why change the story elements that were put into place in the first place. We modders have answered that question -  because the ruleset is not a satisfactory replication of 2E rules; because there are bugs that were never addressed; because there is a subplot or experience that will enhance the regular story; because the modder in question feels the self-empowering need to insert their demi-god MarySue/Stu and have a story where Harry Potter is a bit-player foil to Ron or Hermione rather than Harry; because the game world needs more scenery and differnt ways of interaction; even simply "because we can". But from a storytelling standpoint, the story can only be warped and changed in specific ways before it is not the story, but a completely new one. We are not talking about just massive hi-jacking of plot like Saerileth and Chloe, where the Goddesses are the real players and "player1" is basically along for the ride left to marvel in the wonder that is a 15 year old etra-planar Paladin - we are talking about changing an *imperative to plot development* element, because we can.

 

So, if you completely rewrite the story plot points removing Khalid's death, you now have a completely different movie for Jaheira, and any other mod that expects that event to occur (which is any story mod out there - unless it is a fixpack or ruleset or item mod, it expects that point). Ditto Imoen's involvement. Doable? Probably - with enough time and effort, you could even rewrite BG to have a completely different cast of characters, and an altered storyline that has no Bhaalspawn plot at all. You could even use the basic engine and set up a completely different game - AND WE HAVE!! "Total Conversions" like Classic Adventures!

 

Is that a bad thing, that we technically can completely change the experience and plot and redirect atention from individual NPC story development in favor of a "Jaheria dies and is replaced by her Twin Sister Aheiraj, but she is clobbered so a random blue cloaked NPC named Heiraja steps in..."? Well, for some players, it is completely ridiculous, and they would never play a mod that warped the core experience of the game that way. (By the way, that same statement has been used about the Fixpack, BGT, and even adding NPC mods to an install). For other players, it would be the best thing since Betty White (she came along before Sliced Bread, so the old catchphrase needs updating).

 

In this day and age of http://www.goodreads...ritten-classics "Pride and Prejudice and Zombies", and the lack of a large and engaged modder base, it is hard to say no to any idea in concept. So if a modder really wants to rewrite the game this way, it is their time and energy, and the reward will be the time and energy spent and the addition to their own game. After all, ME is still a playable popular game, even though they "cheat" by dumping individual NPC development and backstory and importance by creating

 

{ J aheria | A heiraj |  H eiraja | E irajah | I rajahe | R ajahei | A jaheir  - creeeeepyyyyy! :)

 

For me, I'd rather play with well-developed new NPCs, or new quests that relate to the main plot. But I am not you. I think it is tough put a value judgement on these things any more.




#580028 Continuous Jaheira

Posted by cmorgan on 31 July 2015 - 06:45 AM in BGT Archive

It is FR. Someone comes along and raises the dead. Tazok, anyone? Keeping Yoshimo mod? Smiling Imp's Joinable BG1 NPC's in BG2? Lots of the mod-added NPCs are built around the unchangeable plot points by necessity as well as by choice. But players are very used to the inconsitencies.

 

The reason to not deal with this is because you have to entirely rewrite BG2 if you try to keep internal consistency between the games reflecting each possible ending that a player could generate. The most obvious one is Imoen. Some players execute her almost immediately in BG1. So... rewrite BG2... without Imoen. And break internal consistency with all of the NPC and romance mods out there, because if there are two absolutes in BG2, it is that Player1 will survive until the end (game over on Player1 death causes reload to complete the story) and Imoen is a permanent part of the BG2 plot.

 

I'm not saying that Vlad's idea isn't a good one, a logical one - I am saying there is a reason why most folks accept the plot holes, because this is a fantasy that requires a structural plotline.

 

And from a functional standpoint, the two most commonly reported player activities are 1. multi-romancing and 2. walking Khalid (or any member of a pair) into a building while the rest of the party waits outside, dropping him, and going outside, so that the regular "pairs are inseparable" triggers fail, so that they get the party slot opened and still keep the one member of the pair they want.

 

Consider this - the real answer to the bhaalspawn saga is simple. Mellisan searches out each bhaalspawn, hires the Shadow Masks or another assassin's guild, sits back, and wins. Of course, the entore game would have ended in the first cutscene of BG... with the added image of a knife being stuck in the Armored Figure's back and him falling off the tower, too. We probably are better off creating more opportunities to allow players to justify the plot holes than try to fix them.




#580043 Continuous Jaheira

Posted by cmorgan on 31 July 2015 - 05:59 PM in BGT Archive

Well, to each their own choice :) Perhaps I should restate -

 

"for the past 10+ years, modders have worked with and added to BG, SoA, and ToB assuming that 1. parties are 6 (5+PC), Imoen is mandatory for BG2 plotline, The Game Ends When PC Dies, Many Players Divide NPC Pairs, Sarevok Is A Bad Guy, and Khalid and Dynaheir are toast at the beginning of BG2 - so they have written their plots, banters, side commentaries, extensions, quests, and all content related materials with that in mind. If you are creating these new things, you are expecting other mods to look silly while yours makes sense". For most things, modders can adjust pretty easily - 10 NPCs in a party, or stuff like that - extensions of existing content. Other stuff, like things that expect Jaheira to be a widow in BG2, mean comprehensive rewrites of both canonical and mod-added content, and ... heh.

 

Again, I am not saying "don't do this" - I am saying that if you want to erase all the crazy plot holes, it is like chasing your tail. An endless loop.

 

Your tail to chase, of course - and it can be a lot of fun doing things like creating "Continuous Jaheria" or fixing and making a better "Continuous Imoen", making the game keep going after Player1 has dies (that *really* screws with mod-added NPC's, as there is no DV check for the Player1D stuff - unles the trick is to basically min-hp Player1 and keep him/her technically "alive" while showing him as dead. I wonder what happens when a PID is triggered by a shell-scripted NPC as Player1? Hmmm.... that sounds like a fun thing to test out...)




#579059 NPC Banters with CHARNAME: How many?

Posted by cmorgan on 08 July 2015 - 06:36 AM in IE Modding Discussion

tl,dr - banters you enjoy writing are ok but mostly you should use the J file. Numbers mean squat. Write for yourself not for others.

 

[long version]

In my opinion, there is no correct numerical answer to this question - but there *is* a content-related answer. And a technical reason to keep banters limited to general fun scenery non-essential NPC/NPC dialog.

 

The "two banters for each of the joinable canonical (BioWare™) NPCs in SoA" guideline was set up by modders looking around at what others were doing, but it really doesn't serve a modder well. I use it because it is fun figuring out how to have one banter initiated by my NPC and one initiated by the canonical NPC - a creative writing and characterization exercise that I find enjoyable. I use that "standard" in crossmod content as well - it serves my sense of balance to think that two "scenery" banters to enhance the sense that the NPCs involved are independent beings with their own views.

 

BUT - writing a banter for an NPC just because that is "what is done" is a waste of your time and the player's time.

AND - writing multiple *good* banters that extend and clarify the relationships can not only be fun, well - no hard limit on that one! Go for it. 2? 3? More? Some mods do a MyNPC+Imoen = luv in as few as 2 or 3 side interactions in ToB. Others do lots more.

 

As Jastey mentioned, though, using banters this way (lots more) runs into some technical troubles.

 

Between IEP Banters and all the mods out there on a Mega and the original canonical NPCs using the banter file for some actual needed (and WEIGHT#) content, using the Banter files the way BioWare did is a very dangerous proposition these days. One messed up weight or an odd install order, and suddenly you will get bug reports that original content isn't playing correctly, or at all.

 

In addition, more banters, even with a shortened cycle tweak, means that there is much more content - and poses the risk that a player's time in-game will not match your expected outcome. Especially the one time, specially conditioned ones - they can end up hanging open and playing in a way you never intended.

 

So my "rule of thumb" is - If the content is side commentary and you don't mind if players never see it, B file. If it is triggered by a specific circumstance, area, or PC/NPC discussion, or if you need players to see it for plot/relationship development, J file with conditions and timers, triggered by the .baf, and with a rollback block put in place so that the following doesn't occur:

 

[JAHEIRA] Aran... get your hand off of my back. I know you are scared of the big bad Underdark, but  man up, dude.

[ARAN] Well, that blighted well figures.

[JAHEIRA] What?

[ARAN] We are in th' Elven Court, all in front o' this royalty, an' th' banter triggered.

[JAHERIA] I'm calling my agent. AGAIN. These independent film projects ALWAYS damage an actor's reputation. Have they never heard of the joined dialog file?

[ARAN] Put in a word for me, please. The accent on my dialog is atrocious. I want a rewrite.

 

As far as the "how many to make players happy", well... I'd say you can answer that one by google-ing what people think of mods.Better yet - don't. It might be demoralizing, if you are expecting your hard work to be appreciated :)

 

I like 'em. But the interwebz are filled with folks posting stuff like "ewww.... bad fanfic stuff and bad writing in my game! Besides, I wanted slash fic content with goth emo overtones!!" and "too much talk. I just wanted an overpoewered kensai. how do I get this npc to just shut up and fill a party slot?". Writing for fame? in an i.e. mod? Errr... Writing for fortune? In any mod? errr... Writing for a sense of belonging to a community? Ok, but you could do other things.... Writing because you want to tell a story? GO FOR IT.

 

So, just like the real world, I'd say write what you want, preferably as you play the game and think "so, in my head, I just had a conversation with my npc. Cool. I can write that out." or "Hey! If Jaheira just said that to Yoshimo, what would my npc's reaction have been? Would he/she even talk about that with Yoshimo?




#579382 State of the BG2 mod

Posted by cmorgan on 15 July 2015 - 04:33 PM in Valerie

Fiann speaks for a whole ton of folks out there, I bet... lots of mods with all that stuff. Not so many for folks who just want to play the game and have a simple companion :) Glad to see you are back; hope you have some fun writing!