devSin Posted February 17, 2006 Share Posted February 17, 2006 I decided to try actually contributing some of the stuff I regularly find. Tonight's topic was EFFs, brought on by Cam's power patch. It's possible there may be additional complexities where I'd already partially patched a bug last year and forgot to finish it, so you may want to check the related spells and items (this also won't be a complete list, since I probably already fix most everything else). Monk's Quivering Palm allows saving throw, but lighting effects are also used for Deathblow and Greater Deathblow, which do not. Additionally, they're supposed to be capped at hit dice 10 and 12 respectively, but the visuals will run for anybody who fails a save (and won't run for creatures under the level limit who get killed anyway). Needs two new EFFs, and the spell needs to be updated to use the new EFFs instead of QUIVVIS: COPY_EXISTING QUIVVIS.EFF "OVERRIDE/SPCL902A.EFF" WRITE_LONG 0x40 0x0 // no save WRITE_SHORT 0x58 0xa // max HD 10 COPY_EXISTING QUIVVIS.EFF "OVERRIDE/SPCL903A.EFF" WRITE_LONG 0x40 0x0 // no save WRITE_SHORT 0x58 0xc // max HD 12 Sol's Searing Orb is supposed to deal an extra 6d6 damage to undead, but is allowing a saving throw for the extra damage. Additionally, two other undead-related EFFs allow saving throws, but they're used by multiple spells which already have the saving throws set for the effects. COPY_EXISTING UDEAD66.EFF OVERRIDE // Sol's +6d6 deep-fry UNDCHSTR.EFF OVERRIDE // "Controlled" str UNDCHVIS.EFF OVERRIDE // SPNWCHRM for hold spells? L A Z Y WRITE_LONG 0x40 0x0 Assassin's Poison Weapon EFFs look to be broken in mysterious ways. The main EFF has every single bit in the saving throw field on (I have no idea what, if any effect this has in-game). Additionally, the poison should be +3 for the first six seconds, but the second EFF only deals one. The initial EFF should have a save vs. death, and the second EFF should deal +2 damage for the first six seconds (conveniently, this provides the mandatory 12 damage with successful save). Be warned that I've never been able to get the poison effect to work in a way that's even remotely close to the IESDP/NI descriptions. COPY_EXISTING SPCL422.EFF OVERRIDE WRITE_LONG 0x40 0x4 // saving throw vs. death ONLY COPY_EXISTING SPCL422A.EFF OVERRIDE WRITE_LONG 0x1c 0x2 // +2 damage, not 1 Three EFFs do display string with Instant/Limited. Likely has no effect in-game, but whatever. COPY_EXISTING SPCL906B.EFF OVERRIDE SPIN935D.EFF OVERRIDE STUNSTRG.EFF OVERRIDE WRITE_LONG 0x24 0x1 // Instant/Permanent The greater earth elemental for the cleric spell is being brought in hostile, whereas it should be set to match the summoner's allegiance. COPY_EXISTING SPEART3P.EFF OVERRIDE WRITE_LONG 0x20 0x0 // set to Match target The Power Attack HLA (SPCL906) isn't giving the display string hit effect for ranged attacks (it is only assigning the EFF for melee attacks). For the curious, FLAGS 128 is actually a "bug" in BG2 dialogues. In almost all cases, in addition to having no effect in-game, there's a journal entry for the same state that should actually be an unsolved entry. Somebody must have checked the wrong box. Link to comment
igi Posted February 17, 2006 Share Posted February 17, 2006 The main EFF has every single bit in the saving throw field on (I have no idea what, if any effect this has in-game). Assuming this is the saving throw type field, IIRC the effect is that the targets best saving throw is used. Link to comment
CamDawg Posted February 20, 2006 Share Posted February 20, 2006 Added these (and the spcl902.spl and spcl903.spl pathes) to the wiki. I'll spcl906.spl when I get home. Cheers, devSin. Link to comment
CamDawg Posted February 25, 2006 Share Posted February 25, 2006 // power attack not displaying string on ranged attacks COPY_EXISTING ~spcl906.spl~ ~override~ READ_LONG 0x64 "abil_off" READ_SHORT 0x68 "abil_num" READ_LONG 0x6a "fx_off" SET "delta" = 0 FOR (index = 0; index < abil_num; index = index + 1) BEGIN READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx" SET "abil_fx_idx" = ("%abil_fx_idx%" + "%delta%") WRITE_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "%abil_fx_idx%" FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN READ_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode" READ_ASCII ("%fx_off%" + 0x14 + (("%abil_fx_idx%" + "%index2%") * 0x30)) "eff_file" PATCH_IF (("%opcode%" = 248) AND ("%eff_file%" STRING_COMPARE_CASE "spcl906b" = 0)) BEGIN // melee display string READ_ASCII ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) "clone_fx" (0x30) SET "index2"= "%abil_fx_num%" // kills loop INSERT_BYTES ("%fx_off%" + ("%abil_fx_idx%" * 0x30)) 0x30 // new effect WRITE_EVALUATED_ASCII ("%fx_off%" + ("%abil_fx_idx%" * 0x30)) "%clone_fx%" // cloned effect WRITE_SHORT ("%fx_off%" + ("%abil_fx_idx%" * 0x30)) 249 // opcode SET "delta" = "%delta%" + 1 WRITE_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) ("%abil_fx_num%" + 1) END END END BUT_ONLY_IF_IT_CHANGES Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.