Luke Posted March 23, 2022 Share Posted March 23, 2022 21 hours ago, subtledoctor said: op109 is "paralysis," i.e. some kind of biological reaction or mechanism, often delivered by touch attacks like from ghouls and carrion crawlers op175 is a purely magical "Hold" effect which I tend to think of as a physically immobilizing force op185 I think of as similar to Hold, i.e. magical immobilization, except nothing can be allowed to be immune to it as it is only ever used in special cases like Otiluke's Sphere and cut scenes (and I agree the Implosion HLA should use it) I see, so basically op175 is very similar to a Force Power (from Star Wars )... Having said that, should things like BARBARIAN_RAGE, CLERIC_CHAOTIC_COMMANDS, etc... block both of them or just one...? 19 hours ago, DavidW said: (3) basilisks, for technical reasons that I don't think are relevant. This does sound like a bug. Basilisks (f.i. "basill1.itm") should only apply op134 (Petrification) and not also op109 (Paralyze)... 19 hours ago, DavidW said: - 185 is being used as a bespoke hold-in-place. If that's indeed the case, then also things like "spcl415.spl" (snares) should use op185...? Quote Link to comment
DavidW Posted March 23, 2022 Author Share Posted March 23, 2022 12 minutes ago, Luke said: This does sound like a bug. Basilisks (f.i. "basill1.itm") should only apply op134 (Petrification) and not also op109 (Paralyze)... I don't think so - it applies only to inanimate objects. I'm not sure what it's for to be honest, but it's obviously there deliberately so I'm reluctant to remove it without understanding why it was there. 13 minutes ago, Luke said: 20 hours ago, DavidW said: - 185 is being used as a bespoke hold-in-place. If that's indeed the case, then also things like "spcl415.spl" (snares) should use op185...? It's explicitly described as 'hold' in the text. And shifting it to 185 elides the difference between Snare at that level and at the level when it casts Otiluke's Resilient Sphere. Quote Link to comment
guyudennis Posted January 26, 2023 Share Posted January 26, 2023 Is it possible to change op185 so that it wouldn't set STATE_HELPLESS? This way I can safely use op232 with para2 = 5 to trigger certain behaviors, without having to worry about characters breaking free from cutscene hold. Or is opcode editing outside of the scope of the fixpack? PS. we will probably need separate icons for op109 and op175/185 as already suggested previously. Quote Link to comment
jmerry Posted January 26, 2023 Share Posted January 26, 2023 Opcode editing isn't just out of scope, it's flat out impossible in the fixpack. This is a WeiDU mod, which overrides the game's files but doesn't touch the executable. What the opcodes do ... that's in the executable. Quote Link to comment
subtledoctor Posted January 26, 2023 Share Posted January 26, 2023 11 hours ago, guyudennis said: Is it possible to change op185 so that it wouldn't set STATE_HELPLESS? This way I can safely use op232 with para2 = 5 to trigger certain behaviors, without having to worry about characters breaking free from cutscene hold. You could just do a global patch to any spell that uses op185, and have them apply immunity to your contingent effect. Lots of ways to skin cats these days... Quote Link to comment
guyudennis Posted January 27, 2023 Share Posted January 27, 2023 6 hours ago, subtledoctor said: You could just do a global patch to any spell that uses op185, and have them apply immunity to your contingent effect. Lots of ways to skin cats these days... Thank you! Quote Link to comment
polytope Posted January 28, 2023 Share Posted January 28, 2023 On 1/26/2023 at 5:02 PM, guyudennis said: Is it possible to change op185 so that it wouldn't set STATE_HELPLESS? This way I can safely use op232 with para2 = 5 to trigger certain behaviors, without having to worry about characters breaking free from cutscene hold. Why not just use opcode #165 - pause target, and its obverse #270 unpause target? Paused creatures appear frozen in place and can't take actions, but are not STATE_HELPLESS and oddly retain normal armor class (irrelevant during a cutscene or sequence of the game where only the protagonist is supposed to be able to act). Quote Link to comment
guyudennis Posted January 28, 2023 Share Posted January 28, 2023 4 hours ago, polytope said: Why not just use opcode #165 - pause target, and its obverse #270 unpause target? Paused creatures appear frozen in place and can't take actions, but are not STATE_HELPLESS and oddly retain normal armor class (irrelevant during a cutscene or sequence of the game where only the protagonist is supposed to be able to act). You misunderstood me: I wanted to make an ability that allows my character to “break free” if he is rendered helpless, but I didn’t want him to break free from a forced hold like during a cutscene. I believe what subtledoctor suggested will achieve just that. Quote Link to comment
polytope Posted January 29, 2023 Share Posted January 29, 2023 (edited) 15 hours ago, guyudennis said: You misunderstood me: I wanted to make an ability that allows my character to “break free” if he is rendered helpless, but I didn’t want him to break free from a forced hold like during a cutscene. Yes, I knew you were talking about adding an ability only triggered by STATE_HELPLESS. The pause target opcode (#165) doesn't set STATE_HELPLESS, so if it were used for cutscene spells like spin769 & spin863 (in place of the usual hold effect) it wouldn't trigger your special ability. Of course, spin862 then needs to be an unpause (#270) not a remove paralysis (#162). Edited January 29, 2023 by polytope Quote Link to comment
Luke Posted August 3, 2023 Share Posted August 3, 2023 (edited) @Galactygon As far as this topic is concerned, is it correct that 1) opcode #109 should only be used by creatures/items that can naturally cause paralysis (f.i. liches, ghasts, carrion crawlers, etc...)? 2) opcode #175 should only be used by spells/items that are supposed to impose a mental control (f.i. all spells/items flagged as primary_type=4|ENCHANTER)? 3) opcode #185 should only be used for special cases such as Otiluke, Bigby, Hold Undead, ... ? Edited August 3, 2023 by Luke Quote Link to comment
Galactygon Posted August 3, 2023 Share Posted August 3, 2023 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. Quote Link to comment
Luke Posted August 4, 2023 Share Posted August 4, 2023 (edited) 11 hours ago, Galactygon said: Web effects need to be changed to only rely on the Web opcode. Yes, I think we can all agree on that. 11 hours ago, Galactygon said: 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) Yes, I (partially) agree. Let's say that if you decide to implement this feature, then there's no need to strip the immunity to 175 from RING95.itm and the like... Also, Hold Monsters and the like (which use op175) do seem to belong to the so called mind-affecting sphere, so I think it is correct for Undead (among others) to be immune to op175... Edited August 4, 2023 by Luke Quote Link to comment
polytope Posted August 4, 2023 Share Posted August 4, 2023 (edited) 11 hours ago, Galactygon said: 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. Would that not break compatibility with mods that introduce #175 dependent hold effects which were only intended to work on living things? Of course #175 respects ids targeting so multiple instances of the opcode could be applied against HUMANOID, GIANTHUMANOD, MONSTER, ANIMAL with the exclusion of UNDEAD but why would a modder have set it up that way if the assumption has always been that they're immune? Some non-undead have the RING95 immunity package, anyway, and not all undead have it, most vampires get their immunities from a different item, as do most liches (which are immune to 3rd and 5th level spells anyway, so irrelevant for Hold Undead and Hold Monster). Edited August 4, 2023 by polytope Quote Link to comment
Luke Posted August 4, 2023 Share Posted August 4, 2023 (edited) 4 hours ago, Luke said: Also, Hold Monsters and the like (which use op175) do seem to belong to the so called mind-affecting sphere, so I think it is correct for Undead (among others) to be immune to op175... Actually, this might be incorrect... I asked ChatGPT (lol) about that, and it depicted hold monsters as "a spell that affects a creature's physical movements by magically paralyzing them. It doesn't directly target the mind, but rather the body." OK, nevermind, ChatGPT also states that the "Hold Monsters" spell is considered a mind-affecting spell. Mind-affecting spells are spells that target a creature's mind, influencing their thoughts, emotions, or mental faculties. "Hold Monsters" falls under this category because it affects the physical actions and movements of creatures by magically paralyzing them. The fact that it is an Enchantment spell is kinda misleading... Edited August 4, 2023 by Luke Quote Link to comment
Galactygon Posted August 4, 2023 Share Posted August 4, 2023 1 hour ago, Luke said: Let's say that if you decide to implement this feature, then there's no need to strip the immunity to 175 from RING95.itm and the like... Also, Hold Monsters and the like (which use op175) do seem to belong to the so called mind-affecting sphere, so I think it is correct for Undead (among others) to be immune to op175... 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? 1 hour ago, polytope said: Would that not break compatibility with mods that introduce #175 dependent hold effects which were only intended to work on living things? Of course #175 respects ids targeting so multiple instances of the opcode could be applied against HUMANOID, GIANTHUMANOD, MONSTER, ANIMAL with the exclusion of UNDEAD but why would a modder have set it up that way if the assumption has always been that they're immune? Some non-undead have the RING95 immunity package, anyway, and not all undead have it, most vampires get their immunities from a different item, as do most liches (which are immune to 3rd and 5th level spells anyway, so irrelevant for Hold Undead and Hold Monster). 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. Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.