Jump to content

Galactygon

Modders
  • Posts

    834
  • Joined

  • Last visited

1 Follower

About Galactygon

Profile Information

  • Gender
    Male
  • Location
    Sweden

Recent Profile Visitors

9,228 profile views

Galactygon's Achievements

  1. I noticed some thief evasion Blade Barrier related bugs/inconsistencies. Much of this won't be noticeable in the unmodded game since either the thief evasion rule isn't present (BG1 and 2EE) or HLAs aren't present (IWDEE). Nonetheless, it's good imho to have a consistent "infrastructure" prepared for mods that do enable those rules. BG1EE/SoD only: Blade Barrier both PC and hostile versions (SPPR603D.spl and SPPR698D.spl) are missing thief evasion check entirely. It should use opcode 324 since the opcode is now smart enough to look at the parent spell's name if the child spell has no valid name. BG2EE only: There's a bug with the thief evasion check in Blade Barrier both PC and hostile versions (SPPR603D.spl and SPPR698D.spl). The die size / max level set to 8, when it should be 0. As a result, those with more than 8 HD/levels will be unable to run a thief evasion check against Blade Barrier. Globe of Blades (SPPR725D.spl) has the same issue with die size / max level erroneously being set to nonzero. The hit dice fields should be zeroed out. IWDEE only: Blade Barrier (SPPR603D.spl) and Circle of Bones (SPPR323D.spl) use opcode 318 (no text feedback) for evasion check but should instead use opcode 324 (give text feedback) since we can account for nameless child spells. The hit dice fields are correctly zeroed out. Globe of Blades (SPPR725D.spl) in IWD:EE is missing the thief evasion check entirely.
  2. Each time a Blade Barrier is triggered (up to once per round if hostiles are nearby) it launches a SPPR603D.spl centered on the caster which uses a projectile SMLLARNC.pro (affect all except caster). Any creature regardless whether or not they are frozen during a TS can launch SPPR603D.spl if they are protected by Blade Barrier. What makes this combination OP is that nearby hostiles can be frozen in time, preventing them from moving away while SPPR603D.spl keeps getting triggered (up to once per round or twice if caster is hasted). Once TS expires, all the frozen projectiles are unfrozen at the same time, so multiple projectiles result in stacked up effects that hit immediately. Because SPPR603D.spl uses a creature (the caster) as a target rather than an area, the center of SMLLARNC.pro will "hone" onto the caster, who may have moved somewhere else by the time TS has expired. So then the damage caused by Blade Barrier might even miss intended targets if the caster (who had both TS and Blade Barrier active) moved up close and then away by the time TS expired.
  3. Persistent repeating effects like poison, disease and opc272 are paused for frozen creatures but still continue for active creatures (caster & those with IMMUNE_TO_TIME_STOP) during a TS. That is correct behavior; these effects should continue for the active creatures during a TS.
  4. As far as damage is concerned, just as much as Melf's Acid Arrow which continues during a TS. Ideally, a TS should also pause any 333s not carried by the caster or any creatures with stat IMMUNE_TO_TIME_STOP and at the same time increment the durations & delays of all effects carried by frozen creatures by whatever duration (ticks) the TS lasts. And recalculate the delay/duration of effects applied onto frozen creatures during a TS (instantaneous effects should still happen if not applied by a projectile). But that's not what's happens. That being said, Shroud of Flame will still force only one saving throw onto surrounding creatures when TS expires because method 2 is used.
  5. Yes, it's a fundamental difference between opcode 232 and staggered delayed effects (or via opcodes 272/333) which requires a 5 second protection effect. With opcode 232 and no protection effect (or just a 0-duration one) you can inflict damage with multiple blade barriers if several characters have it active at the same time, but on the other hand it only activates a up to a certain frequency if creatures move in/out of the area of effect. With a repeating spell and a 5 second protection effect you can only have a target be affected once per round, regardless of the number of barriers the target passes through. But on the other hand, the barriers affect more targets if they move in/out of the area of effect. I guess a large number of staggered effects are preferrable if we take into account the haste/slow bug. I forgot if haste/slow affects frequency for opcode 333, maybe opcode 333 is preferrable? @Luke @kjeron I'm personally a fan of the second method since it's more flexible and less OP in certain situations, but the first method is already consequently used throughout the game. My view is either change all such spells to use the second method or change nothing at all. The 0-duration fix I fully endorse even if we keep the first method, since it's just a fix.
  6. Seconded, a zero duration effect is a great idea! Yes, except for the caster and those immune to a time stop. There is no way around a code fix unfortunately.
  7. I remember having tried the external .eff implementation before without any success, both by setting the parent resource and the mschool/msectype within the .eff. You could selectively block effects within an .itm or .spl but you cannot selectively dispel them. I might've discussed this with @kjeron or @Luke before. You cannot have an effect use two mschools/msectypes or resources without some contorted workarounds.
  8. There are similar issues with door tilesets for the Durlag's Tower dungeons, also inherited from BG1o. The door tiles are subtly discolored relative to the neighboring ones, which is especially visible with brighter screens. @Weigo has fixed this issue, among others, in BGGO. It might be a good idea for EE Fixpack to coordinate with that mod.
  9. You've already got at least one if not two drow joinable NPCs in the game whom surfacers don't react to adversely. It's gonna be quite a lot of dialogue writing to implement.
  10. Yes, it makes sense to remove the ILLUSION mschool dispelling ability from True Sight/Seeing spells and give the ILLUSIONARYPROTECTIONS msectype to those spells (Pixie Dust, Invisibility 10', Shadow Door). Wraithform is alteration as well, not sure if we want TS to dispel it. Thanks for the list. Perhaps the ILLUSION mschool dispelling ability was intended to be an extra sure way to remove any ongoing illusion spells that didn't have ILLUSIONARYPROTECTIONS assigned? Surely there are some mods that have been sloppy and didn't assign the proper msectype.
  11. I think it's a bug yes, because True Sight/Seeing remove both Illusion spells regardless of msectype as well as the msectype IllusionaryProtections. The effect of Blindness will need to be housed in an external child spell, say #BLIND.spl (use mschool=0, msectype=0, power=0, resist_dispel=3, saving_throw_type=0, save_penalty=0), that can then be shared by other blindness causing spells/effects (i.e. Nature's Beauty). Also, a self-removing instance of opcode 321 should be the first effect in #BLIND.spl, just to make the implementation cleaner. Saving throws, power, and MR checks should be done in the main parent spells, as usual.
  12. This may be an old myth that's been debunked, but don't large number of Globals have an effect on ingame performance?
  13. (patiently waiting 20 years for Devas to use a glowing Mace instead of Sword in their animation) Sorry, I don't have an answer to your question. Wish I knew.
  14. I can say without having ToF installed that this happens in an unmodded game due an interaction of several factors: 1. Path projectiles are hardcoded to always affect the caster as one of the targets being hit so items/spells using such projectiles try to block the caster from being affected by his/her own spell via an opcode 318 param2 = 43 (if target is source). This effect is the first effect in the effect order of the spell (applied onto each creature the projectile hits, including the caster). 2. An engine bug occours when you pause the game and the effect order of an item/spell applied just at the moment the game is paused is messed up, among other things. As such, the caster protection effect discussed above is invalidated if you happen to pause the game at the wrong moment, which I can see you did based off of the screenshot. The red/pink projectile and trailing smoke do look pretty.
  15. You can change the specific.ids of the caster temporarily during time stop (i.e. DW_TIME_STOP) since that has no consequence (caster doesn't die nor interact with allies during a time stop) and then cast a helper MYSPELL.spl onto a creature with opcode 100 (protection from IDS entry) just after the Imprisonment is cast i.e. Spell(Target,WIZARD_IMPRISONMENT) ReallyForceSpellRES("MYSPELL",Target) to prevent the target from being targeted while the caster is inside a time stop.
×
×
  • Create New...