Jump to content

Galactygon

Modders
  • Posts

    825
  • Joined

  • Last visited

Everything posted by Galactygon

  1. Thanks for the find, looks like this is content for the Fixpack? @CamDawg I'm somewhat for changing the projectile instead of the description simply because the description is so iconic and ingrained (much like how 2.6 increased the radius of Invisibility 10-foot with a new projectile). I don't think it's really a nerf to this spell because the effects in BG1EE/BG2EE/IWDEE are applied once initially and the characters are free to move around subsequently. Unlike in PnP where the 10-foot is a physical barrier that moves with a target creature.
  2. 333s, 326s, 146 p2=2 should behave just like any other opcode in terms of turning/deflection/trap so it's a bug in 2.6.6 if they do not work in nondecrementing reflections/deflections. Force Missiles, Vitriolic Spheres, initial casting of Shrouds of Flame, and even the initial leg of IWD Chain Lightning should be completely reflected/deflected/trapped which would have knock-on effects onto secondary targets. Force Missiles and Vitriolic Spheres with their explosions should be completely reflected/deflected/trapped if the initial target is protected which should protect additional targets adjacent to the initial target. Once a Chain Lightning or Shroud of Flame has hit the initial target, subsequent legs should ignore/bypass any reflections, deflections, and traps because those effects are applied via an area of effect projectile.
  3. The only spell where it's worth tinkering with different power values is Breach (first dummy effect uses power = 5, rest use power = 7 or 8 ) if the intention is to have it bypass Lich/Rakshasa immunities + GoI but still be turnable by Spell Turning. Msectype will need to be something other than MAGICATTACK which is hardcoded to bypass turnings/deflections/traps. AFAIK the game uses the power level of the first turnable/deflectable effect to determine how much to decrement the levels remaining in turning/deflection/trap effects. The rest of the effects that use a higher power level are still turned (since Spell Turning/Trap reacts to power=1-9) but are not used for calculation. Luckily, there's no spell/ability in the game that turns/deflects/traps level 5 spells but not level 7-8 spells, so this trick can be used for once.
  4. If the target has Spell Turning then the explosion will not be turned while the projectile (and rest of the effects) will be. Mordenkainen's Force Missiles and IWD Chain Lightning also have this conundrum (opcode 102 on primary target will stop the chain /area of effect). So far I haven't found a way to bypass this sort of behavior (selectively ignore opcode 102 while still respecting turnings/reflections) without some other drawbacks unless @Luke or @kjeron have found another way.
  5. Thanks for considering. The rest of the spells that I didn't comment on seem good from a naming/lore perspective. @ Fiendish Warding "Shield of the Tanar'ri" makes sense in terms of symmetric naming consistency in this case, since Chaotic Priests aren't prevented from using "Shield of the Archons" in BG2. If we were to insist on having spell names that is neutral in the Lawful-Chaotic spectrum then they could be something along the lines of "Shield of the Celestials" and "Shield of the Fiends". I think either method would work fine in BG2 if the naming is consistent. ("Healing Mist" is a good replacement for "Mist of Eldath" imo) @ Pebble to Boulder It might make sense to invent a new spell name i.e. "Rock Shards", "Rock Missiles", "Lance of Stone", or reuse the level 1 spell "Stone Missiles" name from 3rd edition. Another possibility is to consider Melf's Minute Meteors both an Earth and a Fire spell, which has a great deal of overlap with Pebble to Boulder. Here's what I found in DnD lore when it comes to direct-damage Earth spells. Not much on level 3 apart from "Dacul's Elemental Earthen Blast", unfortunately. See below. Cone of Earth Dacul's Elemental Earthen Blast Dacul's Elemental Shards Hail of Stone In 3e, there's a 1st level spell called "Stone Missiles" which functions as Magic Missile (source: Dragon Magazine vol 285)
  6. I have some comments on the new Stratagems of Mystra spells (if I may without having downloaded the mod), assuming you are intending to be faithful to the 2nd edition and then 3rd editions. Ice Knife: There's a 1st level spell in the source material called "Ice Shard" that does exactly what your spell does, but for some reason it didn't make it to the Spell Compendiums. It's in Dragon Magazine Issue 243, page 90, see attached snippet pdf. In 2e DnD, Ice Knife is a 2nd level spell which PS:T faithfully implemented. Stonefist: In 2e DnD, there's a 1st level alteration spell "Fist of Stone" that does something similar, though it's a more persistent effect. See attached snippet from Spell Compendium vol 2 with description. I suggest either renaming this spell to the ADnD version or renaming it to something completely different so no confusion happens in case there's another mod introducing "Fist of Stone". Turn Pebble to Boulder: In 2e, this spell is level 4 rather than level 3. I think there's already a few mods that introduce the spell at level 4 so this would cause confusion unless you rename the spell to something completely different. There's a 2nd level spell called "Threestones" which is also similar, see attached snippet from Spell Compendium vol 4. I couldn't find anything similar in the source material for level 3 at the moment. Storm Bolts: Currently this spell sounds like what the 3rd level "Scintillating Sphere" spell does but at a much higher level. Then there's also an 8th level spell called "Web of Lightning". Would it make sense to rename this spell to "Sphere of Lightning" or "Storm Sphere"? Veridon's Icy Ray: Could I suggest renaming this completely new spell so it sounds more "oomphy" in the English language? Currently it sounds like a trivial low-level single target spell, just based on the name. Some alternatives: Veridon's Polar Beam, Veridon's Deep Freeze, Veridon's Frigid Beam, Veridon's Binding Beam. AFAIK there's an 8th level "Polar Ray" spell in 3rd edition, though it's single target. Fiendish Warding: There's actually an evil version of "Shield of the Archons" spell in DnD lore. It's called "Shield of the Tanar'ri". Dragon Magazine_no243_p90.pdf
  7. Thanks for your contribution and energy throughout all these years, you literally seemed to be everywhere! I completely understand that there are other things in life to look forward to beyond modding.
  8. Not a bad idea. Such an extensive change would need to be discussed first imo.
  9. AFAIK repeating effects such as poison or opcode 272 do not fire for frozen creatures during time stop but do for the caster (I guess you can set stat 197 IMMUNE_TO_TIME_STOP). Global targets have the potential to affect creatures in other areas which is a larger drawback than a very large area of effect projectile guaranteed to cover the entire map being frozen during time stop.
  10. There's absolutely nothing wrong with using a helper creature in this case - it's quite easy. You need the creature to recurringly (say once a second) cast a spell with a large radius projectile that bypasses solid obstacles (bit12 among the projectile explosion flags) to cover an area that sets a SPLSTATE for a very short while and you've got yourself covered. You don't even need scripting to do this. The only drawback is that the repeating opcode 272 doesn't fire during time stops and cutscenes but that's quite manageable without jumping through hoops. I'd use custom areatypes very sparingly as a few community-wide agreed ones.
  11. Actually, if the code were to be changed so non-player selectable classes default to corresponding Wizard/Priest levels without needing CASTINGLEVELBONUSMAGE and CASTINGLEVELBONUSCLERIC to be set then I'd be in favor of additional extended headers down to 1 (which is highly doable in WeiDU), but that's outside the scope of the fixpack as of 2.6.6.
  12. While I think duplicating extended headers isn't as complicated as they seem at first glance, a stronger argument against this change is how most creatures i.e. Genies do their spellcasting without any wizard or priest levels which defaults to 1. You'd also have to patch every single spellcasting creature in the game so they have nonzero CASTINGLEVELBONUSMAGE and CASTINGLEVELBONUSCLERIC which can be a headache not to mention mod compatibility as they have to change their creatures as well.
  13. Good change. Due to the auto-pause bug, a more robust way is to fully embed it inside a 326 (p2=145, p1=2) rather than placing a 318 protection in front of the cast spell effect. The SPLPROT.2da entry is already there in all IE games.
  14. Let me try to explain with an example. I gave it a bit more thought so this concept is slightly modified. A hypothetical use of param2 (if nonzero) for that function would somewhat approximate a physical protective globe around the caster for all effects that are delivered via a projectile or global/party/same as kin/etc. For example, if it's set to 5, then it would make the following checks: 1. if the projectile used by a blockable effect is single-target but not a line (i.e. scorcher) or a path (i.e. lightning bolt), then check if the caster of the projectile is within 5 feet before blocking it. If the caster of the single-target projectile is the same as the protected creature then the distance is 0 and the effects will always get through. 2. If the projectile used by a blockable effect is area of effect or single target but line or path projectile, then look at both the distance between the caster of the projectile and protected creature as well as the point of explosion and protected creature. If both are less than 5 then the effects get through. 3. If the effects aren't delivered via a projectile (i.e. global/party/kin/etc) then only the distance between the caster and the protected creature are measured. If the caster is the protected creature then the distance is 0 and if the caster targets the projectile onto him/herself then that distance as well is 0. So if we use (DistanceCaster <= param2 && DistanceExplosionPoint <= param2) then a caster centering fireball onto him/herself will be hurt, which for the most part preserves original behavior. Of course the player wouldn't be able to do that because the Fireball always targets a nearby area so the measured distance would never be zero. But a wizard using Invisibility 10-foot would be able to hide himself after casting MGoI, since Invisibility 10-foot is a self-centered spell. If it's another wizard doing the casting, then Invisibility 10-foot would be blocked as it should be.
  15. Bumping this (necroposting) because this has been on my mind occasionally and there's no really good solution that's within the scope of the fixpack. A bunch of 206s is a bandaid solution since you have to account for spell duplicates and mods will have to be diligent with iterations and duplicates. The ideal solution would be to fix opcode 102 to be able to block all effects regardless of this flag with the following exceptions: self- (1) and original caster- (9) targeted effectsshi party- (3), global- (4), not party (5), kin to source (6), kin to target (7) if the caster happens to be included in those groups and pre-target (2) if the caster is the target but the projectile is single-target So effects carried by area of effect projectiles should be blocked where the target is (2). Then this relationship with the hostile flag can be removed. It would be an extra nifty feature if the opcode could discriminate based on where the explosion point occoured relative to the creature being protected so it can block effects if the explosion occoured beyond a certain distance (unused param2 can be used). i.e. if you cast a fireball centered onto yourself but param2 is nonzero then it affects you. Another shortcoming for this opcode is how it's restricted to values of (0/1?)-9. If it could handle any value up to 255 then we can create a new category of magical effects i.e. from potions and some on-hit effects that are "levelless" yet still magical and could be blocked by effects such as Antimagic Shell. Whichever these effects would be is another discussion.
  16. Very good looking! The water tile repetition in this map always bugged me but that's just the nature of using water tilesets.
  17. You can move the target resistance effects into another child spell and have it be linked to the parent spell via an opcode 326 param2=44 so it's only cast onto the target if it's not the source i.e. the original caster. Once that is done you need to make sure your 321 inside the child spell dispels the child spell and is the first effect in the effects order. Same with the 321 in the parent spell. The current engine unfortunately doesn't support delayed tick timing mode, only duration tick timing mode (10).
  18. Yes, the "bypass opcode 101" flag is preferrable over removing those immunities from RING95.itm for the sake of mod compatibility. You'd need to then add a 206/318 to Free Action to defend against SPWI324.spl since that opcode immunity isn't meant to be bypassed. Does your implementation work if the flag is set inside an external .eff? Without the above flag implemented you could also change the HOLD and similar projectiles to exclude undead to avoid changing the spells, assuming mod spells use those projectiles. But yes, the "bypass opcode 101" flag is preferrable from a mod compatibility point of view.
  19. I don't have any strong views on this and generally agree with the points being mentioned in this thread so far. Web effects need to be changed to only rely on the Web opcode. For the sake of consistency, it might be a good idea to have Hold Undead use 175 and change Hold Monster to affect everything but Undead as well as remove protection from 175 from undead immunities (i.e. RING95.itm). This way, they are affected by Free Action as well.
  20. LOL we happened to test the same group of wallpolys! Here's another unrelated issue and it's quite a nuissance: SPLPROT.2da doesn't recognize signed stat values. For example, STAT(RESISTFIRE)>=100 will return true if the creature has negative fire resistance. You'd basically have to use STAT(RESISTFIRE)>=100 && STAT(RESISTFIRE)<127 for the fire resistance check, which is 2 extra lines.
  21. (Really)(Force)SpellPointCreature(NoDec)(RES)() or (Really)(Force)SpellPointCreatureOffset(NoDec)(RES)() would make sense, yes.
×
×
  • Create New...