Jump to content

ptifab

Members
  • Posts

    152
  • Joined

  • Last visited

Everything posted by ptifab

  1. I have found an oddity in BG2EE and BGEET statdesc.2da where lines 166 to 187 have no refs, (each line is at -1 and ****) and line 193 has BDMAREK with no description ref. causing bugs with other mods that would want to add new portrait icons. I'm trying to remove these blanked lines (from 166 to 187) but my code is not working, if someone could give me a hint on why ? COPY_EXISTING ~STATDESC.2DA~ ~override~ COUNT_2DA_ROWS 3 "cntrow" FOR (i = 1; i < cntrow; ++i) BEGIN READ_2DA_ENTRY i 1 3 "row_del1" READ_2DA_ENTRY i 2 3 "row_del2" PATCH_IF (~%row_del1%~ = ~-1~ && ~%row_del2%~ STRING_EQUAL_CASE ~****~) BEGIN REMOVE_2DA_ROW i 3 END END
  2. I have a tweak component that remove the level cap to 50, but i don't know why it's only that spell that has these incorrect values, i've checked a lot of other spells and seems that only this one is concerned by this level problem. As you said though, i don't know if that matters a lot as the base duration is already good, but i wanted to know if i had a bug in my setup.
  3. if you look at other spells that have those duration type values (1 round/turn per level), every effect starts at 1st level, then the second has actual spell level (like 10 for a 5th wizard level spell), then others goes up by one for the level and by the amount of round/turn for the duration. In this spell effects, you have the duration set to be 1 turn per level, but instead of having effects with an incremental level (1 then 10, 11, 12, etc.) they are only set to 1 besides duration is correctly incremented by 60 each (1st level start at 540, then 600, 660, etc.) check the attached image from NI to look at what i'm talking about. But i wanted to know if that was only on my installation or if someone else has it ?
  4. Just wanted to know if it's my installation or a bug but the spell chaotic command (SPPR508.SPL) has incorrect level values. Every effects are level 1 instead of being incremental. Maybe it's on my side but if someone can check about this one ?
  5. I see your point, i've read the table again and it's as you said, guess i should have noticed that too hehe. Thank you @subtledoctor
  6. @subtledoctor i assumed that aswell the first time i ran into it, but why then is it not extended to other levels then i asked myself ? I don't know what to think and, as i said, i don't have the books so it's hard to tell, but this one was just looking weird in the middle of the table.
  7. I don't have the exact rules as i don't own the books, but i've noticed one small weird number in the thac0table.2da. At line 18: "Cleric-Thief", there's an odd 19 THAC0 at level 3, shouldn't it be 20 as per other Cleric Levels ?
  8. i found my way around by modifying my code. I already made an error on the byte length (32) should be (8) and with some patch_prints and other codes it finally worked. Thanks @qwerty1234567 and @subtledoctor
  9. Hi, i'm trying to detect a specific set of filenames in the resource byte of an item file, and then add a portrait icon if the value is positive. Here's my code COPY_EXISTING_REGEXP GLOB ~^.+\.itm$~ override PATCH_IF SOURCE_SIZE>0x71 BEGIN READ_LONG 0x6a ef_off READ_SHORT 0x70 ef_num READ_BYTE 0x18 flags PATCH_IF ( (flags & 4) = 4 ) BEGIN FOR (i=0;i<ef_num;++i) BEGIN READ_SHORT ef_off+i*0x30 opcode PATCH_IF opcode = 206 BEGIN // protection from spell READ_ASCII ef_off+i*0x30+14 resource (32) PATCH_IF (~%resource%~ STRING_EQUAL_CASE SPWI213) BEGIN // other cloud spells || ~SPWI502~ || ~SPWI614~ || ~SPWI810~ || ~SPPR250~ || ~RR#WI502~ || ~DVCKILL~ || ~DVWCKILL~ LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 142 target = 1 parameter2 = (icon_index - 5) timing = 2 insert_point = 99 END END END END END END // END REGEXP The code is correctly handled by the weidu executable, but i don't get the equipping opcode effect #142 applied on the items with opcode #206 and the resource field that matches the cloud spell (SPWI213 here). Did i miss something ?
  10. i didn't look at iesdp site, thanks a lot for the links, it makes things more clear now. I have to test and try for the exact effects i want to get, but now i'm on the right direction; Thanks @Jarno Mikkola
  11. Thak you Jarno, but there are a lot of different files that are handled by the games. As Wiki says, some are used by BG1, or SOD, others by BG2, others by the EE. I don't know exactly wich one to choose, as i am using EET only. I asked here because there are a lot of modders, and i wanted their feedback about it.
  12. Just a small bump to my last question, if anyone knows how the random treasures are handled by the game in EE ? wich files do i have to edit to add a custom item into the game ?
  13. Hey again ! I want to add some new arrows to random treasures but i don't understand the mechanics here. I'm working only on EET, and i don't know wich files i want to edit and add the refs into. I have seen multiple 2da but i dont know wich one is for EET, if someone can help ?
  14. @CamDawg ok i understand now, thanks for the explanation !
  15. Hi everyone, i'd like to know the importance of the "Power" parameter in the EE engine ? i see that spells do have actually this parameter set (the level of the spell in general), but on some items some have and others don't, especially in mods. Is it important to set a level on this, and if yes how the game process it . Is it for resistances ?
  16. i understand now, i had found another solution by putting a safecheck, (if it found once it stop the loop), but thanks a lot for your advice, i understand my mistake ! @CamDawg
  17. I'm trying to patch items by looking at a specific effect here it's opcode #101 with parameter 78 (disease) i've tried this code : COPY_EXISTING_REGEXP GLOB ~^.+\.itm$~ override PATCH_IF SOURCE_SIZE>0x71 BEGIN READ_LONG 0x6a ef_off READ_SHORT 0x70 ef_num FOR (i=0;i<ef_num;++i) BEGIN READ_SHORT ef_off+i*0x30 opcode PATCH_IF opcode = 101 BEGIN // immunity to effect READ_LONG ef_off+i*0x30+8 effect PATCH_IF effect = 78 BEGIN // disease LPF ADD_ITEM_EQEFFECT INT_VAR opcode = 142 target = 1 parameter2 = (icon_index - 3) timing = 2 END // add portrait icon END END END END // END REGEXP It adds correctly the #opcode 142 but it's duplicated multiple times. i must have forget to limit the array but i don't know where to put that. If someone can help me on this one ?
  18. @CamDawg You saved my night ! Thanks a lot
  19. Hi again. I'm actually trying to replace some text into a dialogue. In 1 state (109), i want to change both the trigger and the action, but only some of the text not everything. (here it is the dagg03 that i want to replace for a dagg15) While this code works (in a .d file) ALTER_TRANS ~THALAN~ BEGIN 109 END BEGIN 1 END BEGIN "ACTION" ~TakePartyGold(4000) DestroyGold(4000) TakePartyItemNum("MISC75",1) // Dagger of Venom +2 DestroyItem("MISC75") // Dagger of Venom +2 TakePartyItemNum("dagg15",1) // Heart of the Golem +2 DestroyItem("dagg15") // Heart of the Golem +2 TakePartyItemNum("potn14",1) // Potion of Speed DestroyItem("potn14") // Potion of Speed TakePartyItemNum("potn32",1) // Strange Potion of Antidote DestroyItem("potn32") // Strange Potion of Antidote GiveItemCreate("thdagg01",Player1,1,1,1) // Dagger of Venom +3 CreateVisualEffect("spcrtwpn",[330.230])~ END ALTER_TRANS ~THALAN~ BEGIN 109 END BEGIN 1 END BEGIN "TRIGGER" ~PartyHasItem("MISC75") // Dagger of Venom +2 PartyHasItem("dagg15") // Heart of the Golem +2 PartyHasItem("potn14") // Potion of Speed PartyHasItem("potn32") // Strange Potion of Antidote PartyGoldGT(3999)~ END but it changes everything, while i just want to edit the item (here it is the dagg03 for a dagg15) But that code (in my .tpa) doesn't work at all ACTION_IF (FILE_EXISTS_IN_GAME ~THALAN.DLG~) THEN BEGIN <<<<<<<< items_rev_ultimate/inlined/thalan_ir_compatibility.d REPLACE_TRANS_ACTION ~THALAN~ BEGIN 109 END BEGIN 1 END ~TakePartyItemNum("dagg03",1) // Heart of the Golem +2 DestroyItem("dagg03") // Heart of the Golem +2~ ~TakePartyItemNum("dagg15",1) // Dagger +2 DestroyItem("dagg15") // Dagger +2~ REPLACE_TRANS_TRIGGER ~THALAN~ BEGIN 109 END BEGIN 1 END ~PartyHasItem("dagg03") // Heart of the Golem +2~ ~PartyHasItem("dagg15") // Dagger +2)~ >>>>>>>> COMPILE ~items_rev_ultimate/inlined/thalan_ir_compatibility.d~ END // END ACTION_IF There is no error during the weidu installation. Did i missed something ?
  20. hey, i have just tried as you said, and tested some other opcodes to same conclusion, i cannot add the flag in opcode #146 as you said, for #12 it works... it's logical after some thinking though, you can't half the damage of a cast spell thanks again @Gwendolyne
  21. Thanks @Gwendolyne ! i've already tried this parameter (special = 256) but it's for a cast spell opcode (146), and weidu juste write a 256 number instead of checking the flag at bit8.. i don't understand why. Is that a bug ? here's my code LPF ALTER_EFFECT INT_VAR match_opcode = 215 opcode = 146 target = 2 power = 3 timing = 1 duration = 0 savingthrow = 2 special = 256 STR_VAR resource = ~IUBURN2~ END
  22. Does anyone knows how to code the special parameter in a saving throw effect ? I tried to set the "save for half" (bit8) parameter but with no results whatsoever...
  23. I see that there is a component "Revised HLAs", but i cannot see any documentations describing what its purpose is. I've seen the code, so i know the effects it applies, but i suggests to add 1 or 2 lines about it in the readme and/or the online documentation ? There is a small typo in kreso_hla.tph for the second hla : ACTION_IF FILE_EXISTS_IN_GAME ~spcl900.spl~ BEGIN // g whirlwind should be spcl901.spl Minor, but then the check would be useless so...
  24. Thank you @Bartimaeus ! Glad to see your mod updated. More goodness for us
×
×
  • Create New...