Jump to content

Bartimaeus

Modders
  • Posts

    2,503
  • Joined

  • Last visited

Everything posted by Bartimaeus

  1. Actually, that's not true. Because SRR's .tp2 would make it say "beta 15" even if he had used beta 14. Yes, it's definitely really strange, especially because it seems to be SRR-related, but I have no idea why, since SRR doesn't even touch the Mirror Image component. You can literally see it's not one of the changed .tpas in spell_rev/components, so I am not sure what's going on.
  2. Okay, sorry, one last test, because of what Draztik said. Try version V1.00d of SRR on top of SR instead of the latest: https://dl.dropboxusercontent.com/s/ijpeyutlngksxg3/SR%20Revised%20V1.00d.zip If THAT works, that means...uh, something. That I did something in a very recent version that is breaking, I guess. It should be easier to track if that's the case, at least.
  3. Could you please test without using SRR? I'd like to know whether this is an SRR bug or an SR bug. I'm guessing the latter, since I really shouldn't have done anything on this front to affect it, but it's best to make sure.
  4. Fire Shield: That's so bizarre, I was sure I tested it both ways, but it seems you two are correct - creatures that are hostile to you do not consider you an "enemy", and therefore you are not damaged. Darn it all, I think I might have to revert this unless I can figure out a way of fixing it. Mordenkainen's Sword: This is a very weird one that I have personally seen before, and with normal SR I am pretty certain, too (as I think I had reported this as a bug years ago that has reappeared in my game at least once since then). I would really like to track this one down. I gave Tolgerias a copy of Mordenkainen's Sword, and he immediately casts it after I spawn him, and it immediately dies, just as you described. I strip Mordenkainen's Sword of the script that SR gives it (that I have not touched - DVMSWORD), and redo this, and it no longer dies immediately, but of course, it no longer does anything. So...looking at its script, its first block is: IF CheckStatLT(Myself,20,DETECTILLUSIONS) !StateCheck(Myself,STATE_DEAD) THEN RESPONSE #100 Kill(Myself) END Uh. So...if not dead, and its Detect Illusions skill is 20, immediately terminate itself? Not sure why its Detect Illusions skill would be 20 (and looking at its .cre file, it's not), anyways, but okay, fine, let's kill this part of the script and retry. Yep, that did it. Anyone have any clue why this would be included in its script? Also, why is it actually triggering when a Mordenkainen's Sword obviously has no thieving skills? You can drop this into your override to fix it for your current game: https://dl.dropboxusercontent.com/s/wodyh3rzth53ht7/DVMSWORD.bcs Mirror Image: Unfortunately, I have no idea. Works in ToBEx games and BG1EE, but not BG2EE? Does anyone else playing on the latest version of BG2EE have this issue as well? Stoneskin: No "protection from spell" opcodes or poison exist in Stoneskin at all (and I did check all 8 extended headers of the spell), so I'm not sure how that makes sense. You're saying if you're completely unequipped and cast Stoneskin, an iron golem's poison cloud spell does nothing?
  5. I brought him down to the bottom of the screen in Red Canyon and trapped him between the cliffs with a couple of fighters while my mage sits above them, and then I just started wailing on him with melee and he would not attack anyone, still trying to get at the inaccessible mage. It seemed to be both before and after casting spells: I had just a fighter engage him, and he fights normally, but the second a mage is within even the edge of his vision, he makes a straight beeline for them and will not let up. Dude despises mages, I guess. Probably doesn't make any difference, but:
  6. I don't like it accidentally triggering when they shouldn't, and either doing damage to yourself or to neutral creatures (that are now hostile). I thought I tested it both ways, but I'll test some more and see what's up.
  7. Or in my latest playthrough, Bassilus, who seemingly refuses to fight any sort of melee character at all, and will only target mages no matter how much you have them flee across the map out of sight. Even when you trap him in between a group of fighters with no possible pathing to a mage, he won't fight any melee characters. What a jerk.
  8. Hmm, I just tested those like...what, two days ago, when I was also testing Prismatic Mantle, so you're going to have to give me a specific set of circumstances under which it doesn't seem to work. Note that their effects only apply to enemies - having one of your characters attack themselves with it on is not going to trigger it.
  9. Yes, it seems Zargal is a specific exception (potion.tpa). What a ridiculous coincidence that he was the exact creature I chose at random to look at out of hundreds (edit: thousands, actually), haha. What're the chances? I actually considered that exact possibility as I was writing that post, too - that there were some .cres that received a pre-defined, static set of potions separate from the random potions. It seems Zargal is literally the only exception here from what I see.
  10. Take, for example, Zargal from BG1. This is his .cre from stratagems_external\backup\stratagems\6104 (SCS's no drop Potions subcomponent), which, as I'm sure you know, is the version of the file directly before the Potions subcomponent makes its changes. https://dl.dropboxusercontent.com/s/9l7fx9j63o1wpzt/zargal%20pre-6104.CRE As you can see, he has no potions. This is his .cre immediately after that, from lolfixer's component 1 backup folder, which is the SCS's Potions subcomponent's version of the file before anything else has made any modifications to it. https://dl.dropboxusercontent.com/s/zkfg8hw64edl2nw/zargal%20post-6104.cre Why does the Potions subcomponent add two POTN08 to his inventory? Not marked as undroppable/unstealable, and not the undroppable copy SCS makes (dw#ptn08) when I am using the "no drop" Potions subcomponent. Above, you said "SCS makes undroppable clones of the potion - dw#ptn08 is a copy of the Potion of Healing, for instance - and gives creatures the original or the undroppable one at random", but, uh, I installed the no drop subcomponent, so why isn't it dw#ptn08 every time? If this is intended behavior, what SCS install file(s) should I modify to make it the undroppable version every time SCS adds a potion to a creature, and not at random? It is kind of the idea of installing the no drop version of the subcomponent, after all - at least, it is for me. Please and thank you!
  11. Yeah, I for sure left junk code in there that didn't apply just because it already seemed to work fine and I didn't feel like bothering with it anymore. @Cumulative immunities: I don't think this is something SR has to worry about, per se. Not really, anyways - you'd just want to look at a few duplicates of spells (e.g. the divine and arcane versions of Resist Elements) and make sure that they're in the right order. The text that you quoted there was more to do with IRR's duplicated resources than SR proper. I don't want IR's Arbane's Hastening ability stacking with SR's Haste, or Mazzy's Haste with standard Haste, or Improved Haste with standard Haste, or standard Haste with Oil of Speed, or...so it really just depends on how far you want to go with that. My suggestion, since I don't think you really want to work too much with IRR and IR itself is currently in a state of...uncalm, to say the least, is to probably to just have SR's spell stacking concern itself with only SR for the time being, which is much simpler. I think the one you'd especially want to look at are the two copies of Storm Shield - that one could've been my fault (perhaps I accidentally hit the "order" button in DLTCEP by accident at some point), but it's worth checking to make sure anyways. When I looked at it, the self-protection came in the middle of the spell, when it definitely should've been at the end. As for the opcodes themselves, yeah, that sounds about right. Although, um...now I wonder: how does SR, for EE games, determine what is supposed to be a nonstacking opcode (e.g. Haste protecting against, say, IR's dvhaste) vs. a genuine protect against another spell opcode (e.g. Improved Haste protecting against Slow...when it's also protecting against other forms of Haste in the same effect stack) if they aren't the same spells?
  12. It really doesn't matter to me, as long as it's a clear, consistent marker that doesn't infringe upon other functions, and the spells still actually function (so that AI can still use them as necessary), and the spells (divine or arcane) never show up in spellbooks after being removed. The thing I'm wondering, though, is that for disabled spells, what does it matter? Like, the priest type matters for cleric spells, obviously, but it doesn't matter if we set it to an invalid priest type because those spells aren't going to be used by players anyways. Isn't the same true of disabled arcane spells? We're not going to be setting any spells that actually use those values to what's essentially an invalid (yet harmless) combination, right? Not that that's any reason not to make a more foolproof method, but I imagine that there's little to no risk of anything going wrong with the current method...right? Either way, you're more knowledgeable about the EE-only values, and I'll most likely follow your lead based on what you decide makes most sense. Though I think the restrict via all alignments option (which would be, what, a value of 0x14 at location 0x1e?) sounded like the best (and most natural) method.
  13. HuoYuhao: No, Chain Lightning seems to work correctly, but I can see why you didn't think it did. If you cast it only on yourself or on allied/neutral creatures, the second part of the spell (the AoE-spreading part) does not kick in, since it targets only enemies. So only the extra damage that applies to the main target is effective. There's possibly a more effective way of doing this via spell immunities, to make sure that the initial target still receives full damage even if they're neutral at the time of the spell hitting them, though...
  14. Sorry, I didn't see that: will look into it. @Subtledoctor: Regarding the AoE SD thing: I'm not skilled enough with weidu to figure out how to take the name of a spell and replace the first two letters of it, so if you can figure that out, sounds good to me.
  15. It's what was already being used by SR to mark divine spells for being disabled (see e.g. SPPR510 in non-Revised SR), so it's what I just kept using for arcane spells. But if those priest type values can actually be used in EE games for other things, then it's probably best to just set one of the unused bits (0x24, 0x28, 0x2C) to 1 and detect for that instead...UNLESS setting those causes the spell to malfunction and/or crash the game, so probably test that.
  16. They're the same as vanilla, so probably (definitely) stick with that unless you want a lot of angry people complaining that you just fundamentally changed how the magic system works in SR, . Conjuration-Divination, Abjuration-Alteration, Necromancy-Illusion, and Invocation-Enchantment. Yeah, for the subspell AoE issue, I think using a dvwi/dvpr prefix instead for the handful of spells whose AoE effects need to be separated from the rest of the spell would probably be best. Then you can just leave the non-AoE effects in the original spell, have it cast the AoE subspell at the end, then have the AoE SD component target that subspell.
  17. PSA: It can often be helpful if you give the exact scenario where it seems a spell is not working. I'll describe an example of Prismatic Mantle (not!) working as an example: 1. Made and unequipped a fresh ToB mage whose only spell is Prismatic Mantle. 2. Cast Prismatic Mantle. 3. Created a hostile ogre berserker ("CLUAConsole:CreateCreature("ogreberz"). 4. Got hit by the Ogre Berserker, it says "weapon ineffective", but no other apparent effect. 5. CTRL+Q-ed it into my party, and gave it Daystar +4 to see if the issue was the lack of an actual hit preventing the effect from firing. 6. Removed him from my party and then attacked him with my fists to re-trigger hostility (since the prismatic effect only triggers on hostile creatures). 7. It murdered me, and still no prismatic effect. 8. Blimey. Guess the first thing to test is that Fire Shield and Mestil's still work correctly. Fire Shield...successful! Mestil's Acid Sheath...successful! Although note for later, Mestil's could use an acid hit animation, since acid damage for some reason lacks an animation. So it's something specifically with Prismatic Mantle. Prismatic Mantle shares effects with Prismatic Spray, so let's try that...and it straight up murders the Ogre Berserker on first try. Alright. And then I notice that the effect the subspell filters through to only affect enemies is referencing SPWI730E instead of SPWI708, no idea why, but changing it to SPWI708 fixes the problem. Yay! Thanks. It's amazing how so many little things can go wrong.
  18. Yeah, it's actually enabled in the AoE Spell Deflection component UNLESS you have Spell Revisions' base component installed, where it is then disabled. This is how it was already set in SR, and the reason for this is because it's similar to some of the other spells that can't currently be enabled to be deflected (like Gust of Wind) - it has some effects that self-target. In this case, trying to enable AoE Spell Deflection would make it so that you would blow yourself up when you cast the spell, too. What I might try doing is for special cases, just introduce a specially prefixed subspell with the AoE effects so that it can be handled by this subcomponent, unless Subtledoctor has come up with a solution already. I'll test Dispelling Screen out some more, but I'm fairly certain it has nothing to do with SRR, and probably just unfortunately how the spell works. It might be a case of what order you cast spells in. @Subtledoctor: Ah, I see that your method of "avoiding tooling around in NI for hours" is made possible by me tooling around in a text file for hours to actually make your method work. Nicely done, . https://dl.dropboxusercontent.com/s/lcxj4fl9g2y8x24/spell_list_sr.tpa
  19. No, I mean for spells that get hard removed from playable characters' spellbooks via the fix spellbooks component. SR doesn't currently do this at all for arcane spells (disabled spells like Mestil's stay in spellbooks like Edwin's - SR makes no attempt to remove them), but SRR does via the fix_spellbooks_arcane.tpa in spell_rev/components. You're welcome to take it and integrate it into SR, but how it works is similar to the divine part of the component (and indeed, mostly cannibalized from exactly that) - if a spell has the PST Mage priest type, it's marked as a "bogus" spell and removed. It also removes spells of the wrong school type from playable specialist mages - so if Edwin had a (now) Divination spell memorized for some reason, it should remove that as well. Here it is if you wanted to look at it: https://dl.dropboxusercontent.com/s/48748442srres0a/fix_spellbooks_arcane.tpa Relevant lines for your coding: READ_SHORT 0x20 priest_type ELSE PATCH_IF (priest_type == 0xe07f) BEGIN // disabled So if a spell (e.g. the supposed-to-be disabled level 4 version of Mestil's) is supposed to be disabled, your coding should WRITE_SHORT at 0x20 to 0xe07f. That'll mark it for removal.
  20. I'd probably stick it in an external file under /lib/ called "spell_school_list" or something, but that seems fine. Ideally, there'd also be a way of setting disabled spells (e.g. level 4 copy of Mestil's) to PST Mage priest type as well to make it work with the arcane spellbook fixer, but I can add that myself if necessary. Also, the Larloch's Minor Drain (e: actually all the necromancy bugs) one is really weird. Its exclusionary school is 0x2400, which is not actually the standard exclude transmuter (0x2000), and DLTCEP reports it as a correct exclude illusionist, but it's not, as that would be 0x0400. I would guess it's a combination of both (0x2000 + 0x0400 = 0x2400), which is very interesting to know that that even works. (edit): Also, that doesn't solve the problem of scrolls, but I guess you can deal with those as people notice them, which, by the state of things, will be never.
  21. So you guys remember how I found a pile of wrong school stuff from SR a while back? ...I decided I'd randomly go through each type of specialist wizard to check that favored and opposition schools were correct. Oh boy, I really should've done this earlier. So far, I have noticed the following issues: 1. Mage Armor says Conjuration, is actually Enchantment. 2. Simbul's Spell Matrix says Universal, but is actually Invoker, though it does not exclude Enchanters. Should be set to none for school proper (but stay Invoker for casting graphics) in order to avoid being a "favored" spell by Invokers during character creation - same as the Wish spells. 3. Melf's Minute Meteors says Evocation, but is actually Conjuration. I assume it's supposed to be Conjuration. 4. Cloudkill says Conjuration, but is actually Evocation. Believe it should be Conjuration. 5. Contingency - same case as Spell Matrix. 6. Chaos says Enchantment, but does not disallow Invokers. 7. Simbul's Spell Sequencer - same as Spell Matrix. 8. Simbul's Spell Trigger - yep. 9. Chain Contingency - yep. 10. Larloch's Minor Drain is correctly Necromancy, but its disallowed school is incorrectly Alteration. 11. Horror is correctly Necromancy, but its disallowed school is incorrectly Alteration. 12. Spirit Armor is correctly Necromancer, but its disallowed school is incorrectly Alteration. 13. Moment of Prescience is correctly Divination, but its disallowed is not anything at all - it should be Conjuration. 14. Neither Summon Planetar or Summon Dark Planetar are actually set to Conjuration. That should be it. 1.0.3 will be released whenever this crap is done. Subtledoctor...I imagine all of these apply to SR as well. Good thing is, I don't think any of the scrolls are wrong.
  22. ...I wonder if that would actually work. Make targetable buffs have a power level of like 11, and then make Breach (and Pierce Shield) target sectypes up to level 11. Although, that would mean if you used a targetable buff on an enemy (such as mages' level 1 Protection from Evil), it would be ridiculously powerful, haha. That's an exploit someone would have to know about to use, almost certainly, but it would still be there. (e): Wait, I'm a dummy: it would not, since SD wouldn't protect up to that level, which is the entire freaking point. Whoops, .
  23. That is kind of gross, now that I think about it. That's like letting Contingency cast Chain Contingency. Feel free to send it to me. I'm not sure if I'll make it a part of SRR, but I might integrate it into my own game nonetheless.
  24. So that's right out, then. Thanks. It would then become a case of only instant effects (such as the Cure Wounds spells) being an exception. I'm not certain that I'm in favor, but if people feel strongly enough about it, most likely what I would do is simply add notes to the Cure Wound spells' descriptions to say that they are not affected by spell immunity (e.g. Globes) or spell deflection.
  25. I mean, ironically, I've used them against Spell Deflection-ed mages before, but only a very rare few times as an emergency SD depletion method. I just don't like it because it's then inconsistent with other spells. What if I want to cast Negative Plane Protection on an SD-ed mage? Shall we set all targetable buffs to power level 0 as well? I am not against that, necessarily, assuming there aren't any other repercussions from it, but I would like it to be consistent. (e): Although this would be a problem if there were any dual-use spells. For example, if Cure Wounds spells ever did damage against undead while Cause Wounds spells healed them, but you could work around that via race-targeted .effs if it were to ever happen, and it's not currently a problem.
×
×
  • Create New...