Frenzgyn Posted June 8, 2022 Share Posted June 8, 2022 (edited) 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 June 8, 2022 by Frenzgyn Quote Link to comment
Graion Dilach Posted June 8, 2022 Share Posted June 8, 2022 Op319 param2 10 should work better than item_use.2da for that one, I'd guess. I haven't tested that one though yet (thanks for the report, this basically confirms my suspicions about EEEE Xan items breaking on BG2 Xans the same way). Quote Link to comment
jmerry Posted June 10, 2022 Share Posted June 10, 2022 (edited) 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 June 10, 2022 by jmerry Quote Link to comment
Graion Dilach Posted June 10, 2022 Share Posted June 10, 2022 The scriptname differs though. No BG2 mod companion use their BG1 counterpart scriptnames. Quote Link to comment
Frenzgyn Posted June 10, 2022 Author Share Posted June 10, 2022 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 Quote Link to comment
Frenzgyn Posted June 11, 2022 Author Share Posted June 11, 2022 (edited) 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 June 11, 2022 by Frenzgyn Quote Link to comment
Frenzgyn Posted June 12, 2022 Author Share Posted June 12, 2022 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? Quote Link to comment
Guest Graion@Work Posted June 13, 2022 Share Posted June 13, 2022 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. Quote Link to comment
Frenzgyn Posted June 13, 2022 Author Share Posted June 13, 2022 (edited) 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. 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 June 13, 2022 by Frenzgyn Quote Link to comment
Frenzgyn Posted June 13, 2022 Author Share Posted June 13, 2022 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? Quote Link to comment
jastey Posted June 13, 2022 Share Posted June 13, 2022 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. Quote Link to comment
Frenzgyn Posted June 13, 2022 Author Share Posted June 13, 2022 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. 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. Quote Link to comment
jastey Posted June 13, 2022 Share Posted June 13, 2022 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. Quote Link to comment
Frenzgyn Posted June 28, 2022 Author Share Posted June 28, 2022 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. Quote Link to comment
Mordekaie Posted October 20, 2022 Share Posted October 20, 2022 @Frenzgyn Would you recommand to install your fork instead of the v17 until the v18 is released ? Quote Link to comment
Recommended Posts
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.