Jump to content

ptifab

Members
  • Posts

    152
  • Joined

  • Last visited

Everything posted by ptifab

  1. So i've made some diggings on opcode 148 parameters, and it seems that parameter1 is not taken into account besides 0 (at this value it takes into acount the level of the character). If set to anything higher than 0, it ignores the parameter, dealing the effect as if cast at level 1, no matter what you do with parameter2 Is this a known issue ? I'm working on an EE install...
  2. @Bartimaeus Thanks a lot for providing such support to this game ! A pearl to you
  3. I was not sure about both opcodes #146 and #148 parameters 1 and 2 (casting level not used or used) behaviors and i decided to test them in my games. First, IESDP lacks a small description about the third option in parameter2 , it's not specified at all that it exists, maybe this was a description for an old patch version ? But actually those opcodes have 3 options in parameter2 and IESDP states only option 0 and a mix of 1 and 2. Anyway, my testing was actually this : - make a copy of a burning hand spell, redone it that it has only 3 headers, with level 1, 10 and 20, with 10, 20 or 30 fire damage, add it to an item that will cast it with an opcode 148 and toy with level (parameter1) and casting type (parameter2). Header is set to cast at "any point within range" (4) - make a copy of melf's acid arrow, redone it that it has only 3 headers with level 1, 10 and 20, with 10, 20 or 30 acid damage, correct projectile, add it to an item that will cast it with an opcode 146 and toy with level (parameter1) and casting type (parameter2). Header is set to cast at living target (1) my results so far : with opcode #148, the target only takes 10 damage no matter the level (1, 10 or 20 and with parameter2 set at option 1 or 2) with opcode #146, the target takes correct damage based on the level specified in parameter1 and 2. So my question now: Is there something wrong with opcode #148 ? In the example, there's a projectile to set the zone of effect of the spell so the target is correctly damaged but the level is not affected by the parameters. Did i miss something ?
  4. As far as i remember, a lot of SOD files are prefixed BD*.itm, after that they are named exactly as BG basic items (BDAMUL, BDLEAT, BDCLCK, etc.) maybe this can help you to determine what was added by this extension. Here's a basic list of the group of items i found so far : (just replace "xx" with appropriate numbers/letters) BDAMULxx.itm // amulets BDAROWxx.itm // arrows BDAX1Hxx.itm // axes BDBELTxx.itm // girdles/belts BDBLUNxx.itm // blunt weapons BDBOLTxx.itm // bolts BDBOOKxx.itm // books BDBOOTxx.itm // boots BDBOWxx.itm // bows BDBRACxx.itm // bracers BDBRDxx.itm // bard's items BDBULLxx.itm // bullets BDCHANxx.itm /// chain/splint mails BDCLCKxx.itm // cloaks/robes BDDAGGxx.itm // daggers BDHALBxx.itm // halberds BDHAMMxx.itm // warhammers BDHELMxx.itm // helms/hats BDIOUNxx.itm // ioun stones BDKEYxx.itm // keys BDLEATxx.itm // leather armors BDLOINCL.itm // special cloak BDMIRROR.itm // special mirror BDMISCxx.itm // misc/quest items BDMISXxx.itm // misc/quest items 2 BDPETSG.itm // stone ally misc item BDPLATxx.itm // plate/full plate armors BDPOTNxx.itm // potions BDRINGxx.itm // rings BDROBExx.itm // robes BDSCRLxx.itm // scrolls BDSHLDxx.itm // shields BDSLNGxx.itm // slings BDSPERxx.itm // spears BDSTAFxx.itm // quaterstaves BDSW1Hxx.itm // 1h-swords BDSW2Hxx.itm // 2h-swords BDXBOWxx.itm // crossbows Hope it will help you.
  5. I think @Bubb had toyed with it during his EEex dev', maybe he could do it ?
  6. Oh yes, it must have been my tired red 3 a.m eyes that didn't catch it, sorry for that
  7. I have found some bugs in some spells while toying with Near Infinity : - Spell Scrolls (SCRLXX.ITM) The opposite schools for specialists mage are messed up in Illusion, Necromancy and Evocation spells : byte offset is 0x2f when it should be 0x2e - Lesser Restoration (SPPR417.SPL) has incorrect fatigue duration in description : it says 5 rounds, but the dvwinded.spl called spell is only 2 rounds duration - Otiluke's Resilient Sphere (SPWI413.SPL) has incorrect saving throw in spell description. It says vs. spell and breath both (first in spell details and other in description) while it should be only vs. breath - Metil's Acid Sheaf (SPWI525.SPL) has incorrect spell level in headers, it's stuck at level 20 but the duration still is incremented to level 40 → should level up to 40 - Mordenkainen's Sword (SPWI716.SPL) the summoned sword weapon (MORSWORD.ITM) has incorrect target flag for opcode 206 protections (should be target : self) and the stats in the spell description do not match the creature stats - Summon Shadows (SPWI501.SPL) the creatures sumoned by this spell do not have the backstab immunity (neither from item nor effect) as it's written in spell's description creature's stats
  8. After playing with Near Inifinity for quite some time now, i have to report some bugs i found during my items and spells examination : - Arrow of Biting (AROW05.ITM) has wrong flag add strength bonus (0) in its ranged header, should be none - Shazzelim +1 (SW1H50.ITM) has wrong saving throw vs. slay opcode. Description says it's vs. death while it's vs. spell in ressource. - Periapt of Proof against Poison (AMUL22.ITM) has missing protection from spells opcodes (FL#GMUM etc. or maybe this is not needed anymore ?) - Periapt of Form Stability (AMUL24.ITM) has incorrect opcode 206 : Protection from Cold SPPR519.SPL and is missing its display portrait icon: protection from petrification - Stonefire +2 (AX1H12.ITM) has a hidden 146 opcode in its melee header : 15% chance fire cast spell (DVFLBRST.SPL) wich does 3d6 fire explosion damage in a zone - Daystar +4 (SW1H31.ITM) has incorrect weight of 3 (should be 4 -> longsword or maybe this is intentional ?)) - Control Cirlet (MISC9X.ITM) has a spelling error (control cirlet should be control cirClet) - Spear of the Unicorn (SPER07.ITM) has incorrect weight of 3 (should be 5 or maybe this is intentional ?) - Staff of the Earth +2 (STAF16.ITM) has wrong savingthrow description. It says it has -2 penalty when there's no malus in spell code (DVSHAKE.SPL) - Celestial Fury (SW1H51.ITM) has missing probabilities in some of its effects in melee header. Opcode 215 and 174 should have probability1 set to 14 - Carsomyr +4 and +5 (SW2H10 / 19.ITM) have incorrect cast spell resource in magical header (SPPR327.SPL, should be SPPR326.SPL) - Wand of Ligntning (WAND07.ITM) The ''save vs wand at -4 neg. half'' <- should be : ''save vs wand at -4 penalty half'' - Skin of the forest +3 (LEAT14.ITM) has incorrect enchantement value (+4, should be +3) and incorrect AC in desc (3 should be 2 -> barkskin) - Belt of Inertial Barrier (BELT10.ITM) some effects of inertial barrier (BELT10B.ITM) do not have any durations where other have 7, what is the effective duration ? (because as there is a protection opcode from same spell for the next 6s, i think all should have 7 ?)
  9. Thank you all for your help, i must say it's good to be helped like this ! My function is working as expected,thank you again !
  10. I have so much to learn... thank you @DavidW
  11. Another question, how WEIDU does handle negative values in READ_BYTE parameter ? In my case, i want to add a portrait icon (my previous function), but only if value is not negative, but when i add this : READ_BYTE (fx_off + 0x04) original_p1 PATCH_IF original_p1 > 0 BEGIN // fail safe if value is negative don't add anything it doesn't seem to work, because the function still process its work.
  12. I just realized my mistake, i'm not used to that kinds of codes (using arrays and such), but i finally managed to make it work by effectively define parameters, thanks a lot @qwerty1234567
  13. @qwerty1234567 Weidu returns an integer conversion error with EFF_resource ? As i don't know exactly this part of code, do you have any tips to why it says that ? @Guest Gob Oafenplug The result is unfortunately the same as my code, it does not updates the duration. I must have missed something here...
  14. I'll try that and report to you, thanks for your time !
  15. I have tried all this afternoon, but with no results so far. Maybe the function is not set properly ?
  16. I have this function LAF statdesc_icon_ref STR_VAR bam_name = ~IUICOCLD~ RET icon_ref END COPY_EXISTING_REGEXP GLOB ~^.+\.spl$~ override PATCH_IF SOURCE_SIZE>0x71 BEGIN READ_LONG 0x64 abilities_off READ_SHORT 0x68 num_abilities READ_LONG 0x6a effects_off READ_SHORT 0x6e effects_ind icon_added = 0 FOR (i = 0; i < num_abilities; i += 1) BEGIN READ_SHORT (abilities_off + 0x28*i + 0x1e) num_features READ_SHORT (abilities_off + 0x28*i + 0x20) features_ind FOR (j = 0; j < num_features; j += 1) BEGIN READ_SHORT (effects_off + 0x30*(features_ind + j) + 0x00) opcode PATCH_IF opcode = 206 BEGIN // protection from spell READ_BYTE (effects_off + 0x30*(features_ind + j) + 0x0d) resist_dispel READ_LONG (effects_off + 0x30*(features_ind + j) + 0x0e) duration READ_ASCII (effects_off + 0x30*(features_ind + j) + 0x14) resource (8) PATCH_IF ~%resource%~ STRING_EQUAL_CASE ~SPWI213~ || ~%resource%~ STRING_EQUAL_CASE ~SPWI213D~ || ~%resource%~ STRING_EQUAL_CASE ~SPWI502~ || ~%resource%~ STRING_EQUAL_CASE ~SPWI502D~ || ~%resource%~ STRING_EQUAL_CASE ~SPWI614~ || ~%resource%~ STRING_EQUAL_CASE ~SPWI614D~ || ~%resource%~ STRING_EQUAL_CASE ~SPWI810~ || ~%resource%~ STRING_EQUAL_CASE ~SPWI810D~ || ~%resource%~ STRING_EQUAL_CASE ~SPPR250~ || ~%resource%~ STRING_EQUAL_CASE ~RR#WI502~ || ~%resource%~ STRING_EQUAL_CASE ~DVCKILL~ || ~%resource%~ STRING_EQUAL_CASE ~DVWCKILL~ || ~%resource%~ STRING_EQUAL_CASE ~DVCKILL2~ || ~%resource%~ STRING_EQUAL_CASE ~WAND13~ BEGIN PATCH_IF icon_added = 0 BEGIN LPF ADD_SPELL_EFFECT INT_VAR opcode = 142 target = 1 parameter2 = %icon_ref% resist_dispel = %resist_dispel% duration = %duration% insert_point = 99 END LPF ADD_SPELL_EFFECT INT_VAR opcode = 139 target = 1 parameter1 = RESOLVE_STR_REF(@1000117) timing = 1 resist_dispel = 2 insert_point = 99 END icon_added += 1 END END END END END END // END REGEXP BUT_ONLY Everything is working, but i have a problem, the duration of the effect is not re-evaluated on each header (i have multiple spell level headers), does someone knows how to do that ?
  17. Again, i'm working only on EE, so i don't know if .BAM files are different in other versions. But with NI, you have the possibility to extract all frames as .PNGs, so it's a lot less of a hassle from DLTECP yes.
  18. well, i use the enhanced editions, so i don't know for other versions of the tools and engine but, on my side, i just export all the pictures in near infinity as pngs, manually edit them with 'toshop and then import them back via the same BAM editor in NI Hope i'm clear enough...
  19. Actually, if you have photoshop you have a time saver called auomatization. It simply record actions for 1 file and repeat it on every files. I used it to edit the colors of the ioun stones effects. You can save a tremendous amount of time depending on the number of files to edit. Check it out, a 5mn less tryout on a greenish color for the minor globe overlay MINORGLB.BAM
  20. Just tested on a fresh BG2EE install and it work with or without sword angel kit component, well done sir ! For info, the weidu installer is 24200, (actual one is 24600 if i remember) i dunno if that can have impact on some installations, but maybe you'll want to update it ?
  21. Here you go cycle 230 = elem transform (now the 1st cycle of the attached .bam) 232 = aqua - Sorcerer HLA Aqua Mortis -> tg#aqua.spl 233 = idol - Sorcerer HLA Idol of Frost -> tg#idof.spl 234 = spirf - Sorcerer HLA Spirit of Flame -> tg#spof.spl 235 = scion - Sorcerer HLA Scion of Storms -> tg#scst.spl 236 = chant - Monk HLA Chant -> tg#chnt.spl 237 = dragf - Monk HLA Dragon Fist -> tg#bl03.spl 238 = tigs - Monk HLA Tiger Strike -> tg#tigs.spl 239 = chanm - Sorcerer HLA Channel Magic -> tg#cham.spl 240 = cripp - Thief HLA cripple -> tg#crip.spl 241 = divsh - Cleric HLA divine shell -> tg#divn.spl 242 = endu - Ranger HLA endurance -> tg#endu.spl 243 = guard - Cleric HLA Guardian Angel -> tg#gang.spl 244 = exor - Paladin HLA Exorcism -> tg#exor.spl 245 = ling - Bard HLA Lingering Song -> tg#li01.spl tg#li02.spl tg#li03.spl 246 = prec - Archer HLA precision -> tg#prec.spl 247 = merc - Sword Angel ability Merciful Fighting -> li#merc3.spl (called from li#merc.spl) 248 = spii - Sword Angel HLA Spiritual Integrity -> li#spii.spl 249 = tkai - Kensai HLA True Kai -> tg#gkai.spl 250 = secw - Monk HLA Second Wind -> tg#secw.spl 251 = inti - Monk HLA Inner Time -> tg#inti.spl 252 = aegi - Wizard HLA Aegis -> tg#aegi.spl 253 = shol - Paladin HLA Shield of Law -> tg#shol.spl 254 = fors - Wizard HLA Foresight -> tg#fors.spl
  22. The statdesc.2da just link the string and bam file to its respective portrait icon. So if you apply an opcode 142, the parameter2 refers to this statdesc.2da. The problem i'm actually diving into is that refinement mod code is overlapping both IWD spells mentioned by DavidW in a previous post and one base BG2EE icon. That means it will display a wrong icon and string name in the portrait icon and character sheets. Not a big gamebreaking bug, but it can be annoying. I'm actually studying something with @DavidW to clear this out.
  23. thank you @DavidW i was suspecting those "blank" -1 lines had something to do with other mods. The mod that got me concerned is refinements, wich adds new HLAs but also new portrait icons. The code is rough and append directly to those blank lines, notably taking those IWD placeholders you've mentioned, and overlapping the line 188 wich is a basic EE one. I'm actually talking with @subtledoctor if we can add a solution for both things.
  24. That's not exactly what i was talking about. Thoses blank lines from 166 to 187 are marked as "unknown" when you look at it at parameter2 in a display portrait icon effect. But e.g some mods adds portrait icons and they ends up in duplicated lines at the end of the table (mine ends at 203 without mods, but after the last line the mods don't start at 204 but at 183 or something else, causing bugs in the display UI. That's why i'm trying to remove those lines. I don't know if removing those will udpate the items/spells that have the higher numbers though ? (from 188 to 203 for me) Edit : if you look at the attached file, i've installed a mod that add new icons, but you can see that the entries #188 are overlapping the 1st one (enchanted weapon) has been erased by the second one. What do you think about it ?
×
×
  • Create New...