coaster Posted February 17, 2008 Share Posted February 17, 2008 I'm having a bit of trouble with this. If the subject fails their save, they seem to take the correct damage. If they save vs death, they are only taking 2-3 points of damage. If I want to revert to the vanilla BG2 poison weapon version (ie. without the fixpack), can I do so (eg. by deleting files in the override directory?) Thanks coaster Link to comment
Nythrun Posted February 17, 2008 Share Posted February 17, 2008 Plucking spwi422a.eff out of your override ought to do it (leave spwi422.eff alone unless you want the poison to check the best saving throw rather than vs death). We really should be patching thusly instead: COPY_EXISTING spwi422a.eff override WRITE_LONG 0x28 0x0c BUT_ONLY although it's never going to match the description without another two .effs. Link to comment
coaster Posted February 17, 2008 Author Share Posted February 17, 2008 Thanks for the prompt reply, will try. Edit: do you mean spcl422a.eff? spwi422a.eff doesn't seem to be in the directory. coaster Link to comment
Nythrun Posted February 17, 2008 Share Posted February 17, 2008 Yeah, typo /edit come to think of it, we could probably get away with just adding spcl422a.eff twice and not changing the rate. /editedit Dropping the spcl422a.eff patch and something like the below should work. COPY_EXISTING spcl423.spl override PATCH_IF SOURCE_SIZE > 0x71 BEGIN READ_LONG 0x64 ho READ_SHORT 0x68 hc READ_LONG 0x6a eo FOR (i1 = 0x00; i1 < hc; i1 += 0x01) BEGIN READ_SHORT ho + 0x28 * i1 + 0x1e ec WRITE_SHORT ho + 0x28 * i1 + 0x1e ec + 0x02 READ_SHORT ho + 0x38 * i1 + 0x20 ei WRITE_SHORT ho + 0x38 * i1 + 0x20 ei + 0x02 * i1 FOR (i2 = 0x00; i2 < ec; i2 += 0x01) BEGIN READ_LONG eo + 0x30 * (ei + i2 + (0x02 * i1)) + 0x0e dr WRITE_LONG eo + 0x30 * (ei + i2 + (0x02 * i1)) + 0x0e dr = 0x1e ? 0x18 : dr END FOR (i2 = 0x00; i2 < 0x02; i2 += 0x1) BEGIN INSERT_BYTES eo + 0x30 * (ei + ec + i2 + (0x02 * i1)) + 0x00 0x30 WRITE_SHORT eo + 0x30 * (ei + ec + i2 + (0x02 * i1)) + 0x00 0xf8 + i2 WRITE_BYTE eo + 0x30 * (ei + ec + i2 + (0x02 * i1)) + 0x02 0x02 WRITE_BYTE eo + 0x30 * (ei + ec + i2 + (0x02 * i1)) + 0x12 0x64 WRITE_ASCII eo + 0x30 * (ei + ec + i2 + (0x02 * i1)) + 0x14 spcl422a END END END BUT_ONLY Link to comment
devSin Posted February 17, 2008 Share Posted February 17, 2008 Why not just finish what I started and add WRITE_LONG 0x20 0x2? This causes the requisite 3 damage for the first 6 seconds (or 2*6=12 if save v death) and an additional 18 damage (1 per second), which seems to match the description. Link to comment
Nythrun Posted February 17, 2008 Share Posted February 17, 2008 Because poison effects need to be identical in all but duration in order to stack? I'll check it again, but as far as I recall all of the persistent states work like that. I also read the description of a failed saving throw as one damage per second for twenty-four seconds, three damage per second for the first six of those. Which is pretty crazy, but even the nerfed by 20% version we're peddling means you don't get to take uninterrupted actions anymore. Link to comment
devSin Posted February 17, 2008 Share Posted February 17, 2008 Nope. Regenerate (and possibly disease), sure, but poison is handled well enough. I read it as 1/s*24 + 2/s*6 (- 1/s*24 iff save) which writing two simple DWORDs happens to implement. The question, then, is whether I read it like that because that's the way it should be or because that's the easiest way to correct the files? You decide. ;-) Link to comment
Nythrun Posted February 17, 2008 Share Posted February 17, 2008 Hmm, I can't get two poison effects that differ in the type parameter to stack at all. What's going on here? We need to extend the spcl423.spl patch anyway (durations are all too long, should only matter for the icon) - any maybe try shoving that in before the anti-cumulativity patch. I'm wondering now if "assassin poison shouldn't stack with itself" was really meant to apply to the target? Thirty-six damage total on a failed save? We're parsing the description in the same way, we're just not doing that yet Once again, a fixpack release prompts an Epimethian flood of teensy issues Link to comment
devSin Posted February 17, 2008 Share Posted February 17, 2008 I get a six "1 damage\n2 damage" pairs and a bunch of "1 damage" singles afterward when Imoen force-casts SPCL423 and stabs Abdel. EDIT: the only issue I see (barring exhaustive testing) is if you try to have two with different rates (e.g., 1/s and 2/2s), but the 1/s and 2/s used here work fine for me from either of hit effect or use EFF or straight poison on hit. While we're here with EFFs: COPY_EXISTING SPWISH14D.EFF OVERRIDE WRITE_LONG 0x60 0x5 COPY_EXISTING SPWISH14G.EFF OVERRIDE WRITE_LONG 0x60 0x5 Interestingly, the DWORD after param3 (0x64) can be used for the third ability charges with some creation opcodes (I suspect this is a ToB-only hack for the magic flute). Link to comment
Nythrun Posted February 17, 2008 Share Posted February 17, 2008 EDIT: the only issue I see (barring exhaustive testing) is if you try to have two with different rates (e.g., 1/s and 2/2s), but the 1/s and 2/s used here work fine for me from either of hit effect or use EFF or straight poison on hit. Agreed. wish14d.eff and wish14g.eff so we're not after the mythical nine-character resref? Link to comment
devSin Posted February 17, 2008 Share Posted February 17, 2008 So, first I screw up assassin poison, and now I use bad resrefs. I'm all kinds of quality! Link to comment
Nythrun Posted February 17, 2008 Share Posted February 17, 2008 We love you in spite of your inexcusably appalling incompetence Leave the blundering to me in the future, though. Link to comment
Nythrun Posted May 13, 2008 Share Posted May 13, 2008 Assassin poison finally will do the correct damage and the icon will not outlast the effect for 6.2. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.