Jump to content

Compatibility with NPC_EE on EET [split from Endless BG1 - A Mod for BG:EE, BG:SoD, BGT, and EET!]


Guest

Recommended Posts

@JohnBob The way I understood it, the "K#ImportContainer" is what EET is working with to detect which items the party had at the beginning of BGII / end of SoD, it's EET specific. Without this line, I had bug reports with Imoen having her full equipment at the beginning of BGII, which is not intended behavior.

Would you elaborate what the exact problem is, I am not familiar with the tomes of NPC_EE. Why wouldn't they be transferred to the import container in an EET game?

Is the problem only for a game with EndlessBG1, i.e. not a general EET problem?

Link to comment

Not very familiar with this mod either, normally at the beginning of a game it adds tomes, created to the Npc inventory (not the container), which are used to change the class / kit. (I think the tomes are added for all recrutable npc.cre, it is independent of the import or else...)

In this case, I believe, that the characters were not imported, the player start a new game in BG2 on an EET installation.

But it's not 100% sure that the problem comes from EndlessBG1.

EDIT :


After testing a new BG2EE game on a EET installation.

- with EndlessBG1... no tome for Jaheira, Minsc and Imoen

- without EndlessBG1... the tomes are present.

So the issue probably comes from EndlessBG1.


Edited by JohnBob
Link to comment
Guest Graion@Work

NPC_EE is subtledoc's.

Please don't do anything about this now though - I also want to check this tonight. That code segment touches EET's continous character campaign transfer and I want to check how that is populated. It is possible that NPC_EE accidentally triggers something here and considering that it expects itself installed after EET_End even, I'm not completely sure the issue is in EBG1.

I mean, at this point the only assumption I have is that Transitions without EBG1 probably also triggers this.

Also, to answer the question - indeed these tomes are added to all joinable NPC's inventory during the mod's install and these are what allow NPCs to have different stats, classes and kits.

Link to comment

Thanks. It's well possible NPC_EE patches the transition scripts bout doesn't consider EndlessBG1's fiddeling yet.

I think this is a problem on NPC_EE's side, though, since it gets installed after EndlessBG1. Still, if there is adaption needed I'll add them, of course.

But like I said, without this line, the NPCs had their full inventory in BGII dungeon for some reason.

Link to comment

Okay, it is indeed EndlessBG1 causing the bug.

The intention is correct though and using K#ImportContainer is the correct step there. The problem is that the additional lines are interjected into the basegame stripping script, which covers not just the continuous run, but also the new run started with an imported-from-BGEE-or-BPits(2) scenario, so this isn't the block which should be extended.

My suggestion would be to EXTEND_TOP AR0602.BCS with the following instead:

IF
	!Global("ENDOFBG1","GLOBAL",0)
THEN
	ActionOverride("K#ImportContainer",TakeCreatureItems("Imoen2",ALL))
	ActionOverride("K#ImportContainer",TakeCreatureItems("Jaheira",ALL))
	ActionOverride("K#ImportContainer",TakeCreatureItems("Minsc",ALL))
END

This is a bit hackish, but EET assumes that by the time AR0602.ARE is reached in a continuous run, ENDOFBG1 is atleast on 1 (if the EBG1 function to skip SoD doesn't set this variable at any point, then it's a bug in that component, but I haven't checked this one). And these three characters should only be stripped off if the run was started previously. It's kinda weird how EET doesn't do this on it's own though, that would make sense from it's POV.

This still remains compatible with EET_Tweaks 4040 aka "move the BG1 inventory to the table", because that also does a REPLACE_TEXTUALLY, so all is well after that.

Pinging @subtledoctor though because this can't cover 5e spellcasting which will break here since IIRC that one relies (relied?) on a dummy item in the QUIVER4 slot. You need to script that in into AR0602.BCS to grant them back.

Edited by Graion Dilach
Link to comment

Yes, it should be patched into K#TELBGT.bcs - duh. EndlessBG1 calls the normal EET transition, in case SoD is skipped, it teleports to the last SoD area, it uses the K#ImportContainer, it calls the K#whatever.cre that does the transition, and then I go and patch the wrong script with this item removing.

Link to comment
39 minutes ago, Graion Dilach said:

this can't cover 5e spellcasting which will break here since IIRC that one relies (relied?) on a dummy item in the QUIVER4 slot. You need to script that in into AR0602.BCS to grant them back

No, 5E casting doesn’t use such a thing. The only ones who use an AMMO3 item are TnB multiclass sorcerers, and other sorcerers if the sorcerer spell switching component is installed, and FnP clerics/druids if the sorcerer-style casting option is installed. In the first two cases the item is added via CLAB table (so, when an NPC joins the party); in the third case it is added after a dialogue which only occurs when the priest is already in the party. 

Surely those situations should be safe? I assume this script that removes the items from NPCs gets run while Jaheira and Minsc are still in their cages? 

EDIT - and, of course, neither Jaheira nor Minsc is a sorcerer anyway. 

Edited by subtledoctor
Link to comment
34 minutes ago, jastey said:

I will change the patching of Imoen's, Minsc's, and Jaheira's inventory transfer to the script that gets executed upon transfer from SoD, before the area AR0602 (Irenicus' Dungeon) is reached. This should prevent the issue. ?

Endarire brings up an edge case that is extremely unlikely, but still possible. I have no idea what these scripts do; I guess they remove all of an NPC's possessions so that the NPC can be moved to the next campaign without bringing loot from the earlier campaign? Is there a way to exempt a particular inventory slot from this? Anyone with a permanent item in their AMMO3 slot is almost certainly meant to keep it... (for reference, there are three user-accessible ammo slots (AMMO0, AMMO1, and AMMO2) but there is a hidden fourth ammo slot (AMMO3) that cannot be accessed in the game... this can be useful for mods to apply effects or conditions behind the scenes.)

Link to comment
10 minutes ago, subtledoctor said:

I guess they remove all of an NPC's possessions so that the NPC can be moved to the next campaign without bringing loot from the earlier campaign? Is there a way to exempt a particular inventory slot from this?

Yes; no idea. I'm uploading an update which changed the item transfer to the last SoD area; if this doesn't solve the problem I'd need help from someone who knows better what EET does and how the tomes are supposed to stay with the NPCs.

I'm surprised this is a thing at all, considering the NPCs are supposedly in the group at the end of SoD and the items from group members are removed. 🤷‍♀️ In other words: if NPCs have a tome they need to keep, NPC_EE needs a solution for this, anyhow?

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...