Jump to content

A few related bugs and inconsistencies


Recommended Posts

Hi!

Hoping I am not writing bullshit, I noticed a few things worth reporting.

Inconsistencies:

Kivan's Bow (and its two upgrades) are a bit messed up stat-wise:
p#bow      is a +1 ench longbow with +2 bonus to hit  but by descripion it is just +1 to hit;
p#bow01  is a +5 ench +5 to hit, by descripion it's +3 to hit;
p#bow02  is a clone of p#bow02, just the description text changes.

For what is worth my opinion, I edited them with NI into:
+1 +2 to hit (changed the descripion accordingly);
+3 +4 to hit (changed the description accordingly);
+5 +6 to hit (changed the description accordingly).

Bug1 (EET-only):

In EET Cespenar try to upgrade p#bow01 to p#bow02 using string of Gond, you lose materials and gold but get nothing, becuse p#bow02 doesn't get copied into EET install, looking at the setup:
 

ACTION_IF GAME_IS ~tob bgt bg2ee~ THEN BEGIN

  COPY ~Kivan/bam/IWREAT.BAM~ ~override~
       ~Kivan/bam/CWREAT.BAM~ ~override~
  
  COPY ~Kivan/itm/P#WREATH.ITM~ ~override~
    SAY NAME1 @176
    SAY NAME2 @176
    SAY UNIDENTIFIED_DESC @177
    SAY DESC @178
  
  COPY ~Kivan/itm/P#BOW02.ITM~ ~override~
    SAY NAME1 @179
    SAY NAME2 @179
    SAY UNIDENTIFIED_DESC @180  
    SAY DESC @181

END

I don't know if the missing "GAME_IS eet" is intended for some reason I ignore.
If it will be the case, ahem, I am sorry :).

Bug2 (Happens ONLY if this mod is installed together with BG1NPC mod).

Kivan in this mod is p#Kivan.cre, but BG1NPC add the same bow with same resource name (p#bow) and restrict it to be usable ONLY by the *real* Kivan in BG1.
In ITEM_USE.2da, we have:

P#BOW      KIVAN      9382       2

I have no idea if there is an elegant solution to make the same item usable by TWO different entities only, anyway I noticed that the author (Domi) didn't restrict the other two bows and the p#hood (all "Usable only by Kivan" by description) in the same manner, just restricted the bow to Chaotic Good Elf Rangers (plus the new kits and half-orc race added in EEs that were not present at the time, but that's easily fixed). In my game I edited them all to be Chaotic Good Elf Ranger/Archer only, being Kivan an unkitted ranger in BGEE part, and p#Kivan an Archer.

Basically I just deleted that line in ITEM_USE.2da and added restrictions to half-orc, barbarians, stalker and beastmaster to the various items. Nothing fancy, pretty sure there are way better workarounds.

Edited by Frenzgyn
Link to comment

The main difference between opcode 319 and item_use.2da in practice is that Use Any Item overrides the former but not the latter.

And the 2da can handle multiple CREs. I'm not sure if they have to have the same creature name or the same script name or both. The second entry in the item_use row should be script name, and the fifth (wait, why are there only four entries in the row you posted?) should be the string reference for the creature name. Kivan is #9491 in both BG1(EE) and BG2(EE), unless the mod creates a new string.

Given the existence of Sir Anomen, I think it's the script name that actually matters.

Edited by jmerry
Link to comment

This is the full table, the username is missing from entries added by other mods too.
I am almost 99% illiterate in IE modding, so apart from the report, I am all listening and eager to learn tiny bits here and there, sorry I can't really help.

 

2DA        V1.0
*
           USER       STRREF     FLAG       USERNAME
MISC84     MINSC      10218      3          9501
MISC88     ALORA      10219      1          270
MISC89     EDWIN      10222      1          271
SW1H13     XAN        10220      2          268
AROW14     ELDOTH     10221      2          6254
NPARM      JAN        9382       2          8652
NPCHAN     VALYGAR    9382       2          9158
NPCLCK     CERND      9382       2          9153
NPMISC1    JAN        9382       2          8652
NPMISC2    JAN        9382       2          8652
NPPLAT     KELDORN    9382       2          9144
NPRING01   NALIA      25697      1          9102
NPSHLD     ANOMEN     9382       2          9138
NPSW02     YOSHIMO    9382       2          9141
NPSW03     KELDORN    9382       2          9144
NPSW04     VALYGAR    9382       2          9158
NPSW05     HAERDALIS  9382       2          9182
NPSW06     HAERDALIS  9382       2          9182
RSBOOT     RASAAD     9382       2          82029
RSBRAC     RASAAD     9382       2          82029
ohhexam0   OHHFAK     99808      1          84186
ohhexam1   HEXXAT     99808      1          84186
ohhexam2   HEXXAT     99808      1          84186
ohhexam3   HEXXAT     99808      1          84186
ohhexam4   HEXXAT     99808      1          84186
ohhexam5   HEXXAT     99808      1          84186
STAFN1     NEERA      9382       2          87442
OHBGLOV1   THE_WINGED 9382       2          88261
NPSW03     KELDORN    9382       2          9144
BOLT07     JAN        9382       2          8652
MISC89_    EDWIN      210222     1          271
BDAX1H01   MKHIIN     269648     4          244149
BDAX1H02   MKHIIN     269648     4          244149
BDAX1H05   MKHIIN     269648     4          244149
BDSHLD07   MKHIIN     269648     4          244149
BDBOW01    MKHIIN     269648     4          244149
BDLEAT06   MKHIIN     269648     4          244149
BDCHAN01   MKHIIN     269648     4          244149
BDCHAN02   MKHIIN     269648     4          244149
BDSTAF02   MKHIIN     269648     4          244149
BDROBE03   MKHIIN     269648     4          244149
BARING     BAELOTH    270122     1          229084
x#ajshld   AJANTIS    9382       2
P#BOW      KIVAN      9382       2
lk#nankh   Ninde      372314     1          372259
c0amaga1 Aura 376109 3
c0muffy Aura 376118 3
c02aucat Aura 378944 3
X3EN Emily 395412 3
X3EHEAD Emily 395412 3
x3flute Recorder 398445 3
X3RFER Recorder 111220 3
x3vglo Vienxay 114031 3
X3KCLO Kale 108577 3
c0pring c0paina 405734 1
X3EN Emily 103681 3
X3EHEAD Emily 103684 3
X3KCLO Kale 108577 3
X3RFER Recorder 111220 3
x3vglo Vienxay 114031 3

 

Link to comment

In my uncomfortable ignorance, I've done a few tests and I am a bit conflicted.

Restricting item with Op319, power 1, Actor's name (10), Kivan (9491) make an item usable only by BG1 "Official" Kivan.

Restricting item with Op319, power 1, Actor's name (10), Kivan (214300) make the item usable only by Mod Kivan, which is P#Kivan with that strref for name (214300).

Editing item_use.2da as follow:

P#BOW      P#KIVAN    9382       2          9491

- "P#KIVAN", is the script name or .cre name?
- The last entry (9491) seems to be what to show in the description note of the item ("Usable by XXXX").

With the aforementione string, the Bow is usable by the Kivan added by the mod and I see "Usable by Kivan" in the description, without the username (9491) set, it takes as a description the userstring, so it's an odd "Usable by P#KIVAN".

I noticed because

P#BOW      KIVAN    9382       2

         

made the The Bow usable by BG1 Kivan only but with an awful  "Usable by KIVAN" all in capitals.

There isn't any separator or logic operator in the syntax, right?
No hope for a  P#BOW      P#KIVAN "anything that work as a logical OR" KIVAN    9382       2          9491?

Creating a specific custom kit for P#Kivan and, if BG1NPC is detected, deleting that line in Item_use.2da and giving the kit also to vanilla Kivan, while using Op319 with param 2 9 for the restricted item, could be a viable workaround?

Edited by Frenzgyn
Link to comment

Sorry for all the blabbering, I know most of it would seems obvious or tedious to you, I am just still learning.

@Graion Dilach


OPTION1

I was wondering, since "usable only" Bug2 happens only with BG1NPC+EET, what will happen in EET if:

1) I Create a clone of "P#BOW.itm" - for example "P#BOWb.itm", with Op319, power 1, Actor's name (10), Kivan (214300);
2) Give it to P#Kivan instead of "P#BOW";
3) Update all the references post-SoA from "P#BOW" to "P#BOWb", basically just a few in P#Neir.dlg

I have no idea of how the transition work. Will item be imported over? Something awful will happen or this solution could work?

 

OPTION2

In P#Imanel.dlg (BG1NPC), Imanel Silversword says:
 

Oh, yes, Tazok would not know what to do with your bow, it being elven made and enchanted for only elves to use. So I have it now. It is a sweet weapon, Kivan.

So, while I understand why after retrieving it, Kivan would not let other use its bow (hence the restriction), we could just make it (and his upgrades) just "Restricted to Elves" and call it a day. It will at least be consistent.

@CamDawg

Hi, sorry to bother you, but is it a real overlooking or this two items ( plus icons) are cut on purpose from an EET install?

On 6/8/2022 at 2:11 AM, Frenzgyn said:

Bug1 (EET-only):

In EET Cespenar try to upgrade p#bow01 to p#bow02 using string of Gond, you lose materials and gold but get nothing, becuse p#bow02 doesn't get copied into EET install, looking at the setup:
 

ACTION_IF GAME_IS ~tob bgt bg2ee~ THEN BEGIN

  COPY ~Kivan/bam/IWREAT.BAM~ ~override~
       ~Kivan/bam/CWREAT.BAM~ ~override~
  
  COPY ~Kivan/itm/P#WREATH.ITM~ ~override~
    SAY NAME1 @176
    SAY NAME2 @176
    SAY UNIDENTIFIED_DESC @177
    SAY DESC @178
  
  COPY ~Kivan/itm/P#BOW02.ITM~ ~override~
    SAY NAME1 @179
    SAY NAME2 @179
    SAY UNIDENTIFIED_DESC @180  
    SAY DESC @181

END

I don't know if the missing "GAME_IS eet" is intended for some reason I ignore or is just an overlooking.

 


If I package all the aforementioned fixes (once confirmed they could work and tested) plus a few cosmetic ones in the descriptions text (turning a few horrible "2-hand" into "Two-hand" and removing a couple of useless "Only usable by: Kivan" put into the description texts of some items), could I propose a pull in a future update?
 

Link to comment
Guest Graion@Work

EET's continuity doesn't work in this case, so that is not an issue (mod-added NPCs use prefixed death variables instead of carrying over the BG1 DV which would be required for that - technically writing and installing a mod just right before EET_End which would go over all files and merge the DVs would work, but that should be a community mod, akin to the BG2 Banter Pack).

Option 1 sounds like a solution, although I wonder what happens if you just duplicate the item_use.2da line and let it refer the same item with different users. I don't understand the Cespenar issue, because  I don't see how BGT resolves this name conflict.

Link to comment

Thanks, Graion.
 

1 hour ago, Guest Graion@Work said:

I wonder what happens if you just duplicate the item_use.2da line and let it refer the same item with different users.

First thing I tried.
image.png.99b3600abc96ceb373d1b65ca7e81637.png

It seems to take in consideration only the first restriction and discard the second. The result of the above is a  "Usable by: Kivan" tag (cosmetically ok) that could be used by the Mod's Kivan

1 hour ago, Guest Graion@Work said:

I don't understand the Cespenar issue, because  I don't see how BGT resolves this name conflict.

Sorry, probably I explained it poorly, Cespenar issue is different.
The mod add a sequential updrade:
1- SoA: P#Bow (same item of Bg1npc, the only one with restrictions issue) + Driad's item = P#Bow01 (new item, currently not restricred)

2 - ToB (by Cespenar): P#Bow01 + Bowstring of Gond = P#Bow02 (new item, not restricted)

In BG2EE, it mechanically works.

In EET it does not.

As you can see in the next block, two items (P#BOW02.ITM and P#WREATH.ITM plus its two BAMs) are not copied, JUST in EET. In the original mod they probably were both ToB only items (hence the "ACTION IF GAME IS"), so I suppose when it was updated to EEs,  EET tag  was just overlooked, but I can't be sure, so was asking.
 

/////                                                  \\\\\
///// items                                            \\\\\
/////                                                  \\\\\

//Tazok's heart - needs fancier description
COPY ~Kivan/itm/P#TAHE.ITM~ ~override~
  SAY NAME1 @95
  SAY NAME2 @95
  SAY UNIDENTIFIED_DESC @96
  SAY DESC @96

COPY ~kivan/itm/P#BOW.ITM~ ~override~
  SAY NAME1 @97
  SAY NAME2 @97
  SAY DESC @98

COPY ~kivan/itm/P#BOW01.ITM~ ~override~
  SAY NAME1 @97
  SAY NAME2 @97
  SAY DESC @99

COPY ~kivan/bam/IP#HO01.BAM~ ~override~
COPY ~kivan/itm/P#HOOD.ITM~ ~override~
  SAY NAME1 @100
  SAY NAME2 @100
  SAY DESC @101

COPY ~kivan/itm/P#UL11.ITM~ ~override~

COPY ~kivan/itm/P#IHTIA.ITM~ ~override~
  SAY NAME1 @102
  SAY NAME2 @102
  SAY DESC @103

COPY_EXISTING ~MISC5E.itm~ ~override/P#DREAM.itm~
  SAY NAME1 @93
  SAY NAME2 @93
  SAY DESC @94

COPY ~kivan/itm/P#AROW.ITM~ ~override~
  SAY 0x08 @183
  SAY 0x0c @183
  SAY 0x50 @185
  SAY 0x54 @185

COPY_EXISTING ~MISC51.ITM~ ~override/P#KISTR.ITM~
  SAY NAME1 @155
  SAY NAME2 @155
  SAY UNIDENTIFIED_DESC @156
  SAY DESC @156

COPY ~Kivan/itm/X#KISPEA.ITM~ ~override~
  SAY NAME1 @157
  SAY NAME2 @158
  SAY UNIDENTIFIED_DESC @159
  SAY DESC @160

// Adding the Nosering to King in Sahuagin City

COPY_EXISTING ~sahkng01.cre~ ~override~
  ADD_CRE_ITEM ~P#IHTIA~ #0 #0 #0 ~IDENTIFIED~ ~INV6~

COPY_EXISTING ~sahkng02.cre~ ~override~
  ADD_CRE_ITEM ~P#IHTIA~ #0 #0 #0 ~IDENTIFIED~ ~INV6~

ACTION_IF GAME_IS ~tob bgt bg2ee~ THEN BEGIN

  COPY ~Kivan/bam/IWREAT.BAM~ ~override~
       ~Kivan/bam/CWREAT.BAM~ ~override~
  
  COPY ~Kivan/itm/P#WREATH.ITM~ ~override~
    SAY NAME1 @176
    SAY NAME2 @176
    SAY UNIDENTIFIED_DESC @177
    SAY DESC @178
  
  COPY ~Kivan/itm/P#BOW02.ITM~ ~override~
    SAY NAME1 @179
    SAY NAME2 @179
    SAY UNIDENTIFIED_DESC @180  
    SAY DESC @181

END




  Anyway I've forked this mod and I am experimenting a bit with the fixes/tweaks. 

 

Edited by Frenzgyn
Link to comment

I am puzzled, found another file not copied over just in EET, P#DEH01.cre BUT from the changelog of v16 I read:

"EET compatibility added. As in the original design, neither Kivan nor Deheriana will be summonable in ToB via the fate spirit in EET, either."

Does it means that the original author for some reasons wish some content removed just in EET while leaving it in BG2EE, BGT and BG2:ToB?

Summarizing, while being available in Soa+Tob, Bgt and Bgee, in EET the following stuff is cut:

- P#DEH01.cre and the linked P#DEH01.dlg (It seems a conflict between Deheriana and PC if Kivan is romanced by PC).

- P#WREATH.itm, an headgear Kivan gives to PC if romanced and certain conditions are met, in P#KI25J.dlg, which is an empty file in EET.

- P#BOW02.itm, the last upgrade to Kivan's Bow which is broken in EET, Cespenar will take materials and gold but give nothing in return, but IF Kivan could not be summoned in the Pocket Plane in EET (as per changelog), this will happen only when for some obscure reasons the player strip Kivan of his P#BOW01.itm and keep it for himself (in the current mod state its use is INTENDED to be restricred to Kivan, but it's not). 

I am now very skeptical theese changes are overlookings, they seems to be intended. Since @jastey (sorry to bother you) did version 16, maybe she could shed lights on the situation?

Link to comment

The last two look like oversights. The first one is interesting if both are missing but I'd have to check (for which I do not have the time currently). I wouldn't know any reason why content would be cut in EET. EET content should be the same as for BGII(EE).

8 minutes ago, Frenzgyn said:

"EET compatibility added. As in the original design, neither Kivan nor Deheriana will be summonable in ToB via the fate spirit in EET, either."

Does it means that the original author for some reasons wish some content removed just in EET while leaving it in BG2EE, BGT and BG2:ToB?

Sounds more like they aren't summonable in BGII(EE), either, and EET was made consistent.

Link to comment

Oh, nevermind, there is no hurry, I just thought you could know more about author intentions, since from the (outdated) FAQ it seems ToB content WAS actually in.

By the way, just as information:

P#DEH01.cre is created by P#KIMW.bcs, which IS present in EET, but NI show it with warnings, pointing to a missing resource.
image.png.182bb013305a971ceaa6764c9388375d.png


In BG2EE all files seems to be there. I will lurk at the various condition and check if they're summonable, cause of course If they're just not summonable most of all the ToB related content will never be experienced by the player and so, with or without the files, they will be bugs just in theory, not in practice.

Link to comment
35 minutes ago, Frenzgyn said:

I just thought you could know more about author intentions, since from the (outdated) FAQ it seems ToB content WAS actually in.

I know that it's Domi's intent that Kivan will leave at the end of SoA, and only will stay in the group if Deheriana was revived, and that reviving her was the evil path. Evil not in teh sense of D&D lore, but because it's "evil" to draw her back from elven paradise. So, them not being summonable from the fate spirit but really only be present in toB if they carry over from soA in the group seems totally legit.

Thanks for the report, I'll note it down and will look at it when I'll find the time.

Link to comment

Hello.
I took the time to do a bit of tinkering, I ended up with a forked working thing (tested in Bg2ee and EET install) that SHOULD address a few of the aforementioned issues.

1) Tweaked all the three version of Kivan's Bow to be more consistent stat-wise (nothing extreme, on the contrary it could be probably a nerf to certain degree);
2) Restored the last upgrade done by Cespenar (skipped in EET);
3) Tweaked the Bows and Kivan's Hood (Ranger's Hood) to be usable only by "Kivan" and his Spear to be "Elves only";
4) Hopefully resolved the conflict with BG1NPC's Kivan's Bow;
5) Harmonized all the description with in-game stats, weights and removed useless text-only in the various descriptions.

What I have NOT done:

- Restored P#WREATH.itm and P#DEH01.cre to EET installs. I need to figure out yet how all that stuff works.

In details the only not striaghtforward approach was number 3.

There was 2 problems:

1) BG1NPC use item_use.2da restrictions for a shared resource (P#BOW), but Vanilla Kivan and Kivan from this mod have different actors name references.
2) Kivan from this mod use a different strref name when installed in EET than in BG2EE (which uses the same as vanilla).

The workaround work as follows:

a) I created a new P#BOW, with the correct restriction  using Op 319 and called it P#BOW00, updated all the related references (mainly Neiros conversation) and replaced it in the inventory of  the SoA spawned Kivan;
 

b) Added restriction also on other Kivan's only items (it was specified in the description, but as text only): P#BOW01, P#BOW02 and P#HOODM;

c) Since EET create a new string reference for Kivan's creature name (214300 and not the BGEE/BG2EE 9491) I created four alternative version of the aforementioned four items (three bows and the hood) with the updated string reference (214300) that would be copied over in case EET is detected. 

I have NO IDEA if it's possible to update the effect of an item dinamically so the OP319 restriction could be updated from 9491 to 214300 when EET is detected, I will be for sure more elegant, but I have no clue if it's possible and how to do it.

For what's it's worth, all seems to work both in SoA and EET: Neiros Gallantar and Cespenar will upgrade correctly the items, the items are usable by the "right" Kivan both in BG2EE and EET.

 

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...