@Alonso: For the player, "Spell Ineffective" just means the target has a spell buff that you can remove with Pierce Magic or whatever, unless the target is a lich of a rakshasa, in which case level 1-5 or 1-7 spells, respectively, won't affect them anyway. Unless you're modding the game or want to really optimize your gameplay for a no-reload run or something, you don't really need to know much more than that, since there are only a few narrow exceptions where "Spell Ineffective" would display for other reasons.
Since this might help understand a few of the points earlier in the thread: an "opcode" is an effect. There are 300-400+ opcodes in each Infinity Engine game depending on the game and the version, and each of them has a role in making each spell do its magic.
Take the level 4 priest spell, Poison. It uses 8 different opcodes just to poison the right critters in the right way with the right visual cues:
1. The first opcode is opcode 324, "Immunity to spell and message." This prevents the rest of the spell from affecting certain types of critters (I believe this is undead and constructs but Near Infinity doesn't define the entries."
2. The second opcode is also 324, but its parameters are a bit different. It prevents Poison from affecting any creature with 100 poison resistance, even if that comes from an item like the Ring of Gaxx.
3. The third opcode is opcode 12, the damage opcode, which deals flat damage right off the bat.
4. This is opcode 142, which displays a portrait icon so players can see that the effect is applied.
5. This is opcode 9, which makes the target glow and shows that the spell has worked.
6. This is opcode 215, which displays a visual effect. This also shows that the spell has worked, but instead of just making the character glow a little, it also plays a little animation on top of the character.
7. This is opcode 174, which plays a sound, also indicating the spell has worked.
8. This is opcode 177, which applies a new effect every round that deals additional poison damage.
"Opcode" just means "spell effect." Every spell and item in the game works by applying opcodes to critters. A lot of the reasons that a spell works one way and not another is because there's a weird parameter in one opcode and that prevents it from working. Since each spell contains multiple opcodes, the workings of a spell can be surprisingly complicated, and a lot of old bugs are different to incorrect parameters or incorrectly implemented opcodes.
Since each spell contains multiple opcodes, the workings of a spell can be surprisingly complicated
For the love of FSM, if you're just starting out don't look at an item/spell with free action.
One other thing that's important--the opcodes are applied in the order listed, which is why you see stuff like 318s and 324s listed first so that they block the remaining effects.
I doubt that it works like that, you cast the fireball on a point of the terrain, not on a character.
If the character moves away the fireball explodes in the point you originally cast it to explode, while a spell on target try to follow him untill he goes invisible then, if it happens the spell islost, while the fireball or an other aoe spell does not fizzle if the character disappear.
Aoe spells target a point in the area, not a character, wether a chatacter is or is not standing in that point.
Aoe spells target a point in the area, not a character, whether a chatacter is or is not standing in that point.
This is not true for NPCs: if they target you with the script action 'Spell()' or any of its variant, the projectile will follow you everywhere, even behind walls...
Aoe spells target a point in the area, not a character, whether a chatacter is or is not standing in that point.
This is not true for NPCs: if they target you with the script action 'Spell()' or any of its variant, the projectile will follow you everywhere, even behind walls...
Either way you are still hit by the post-explosion projectiles (often invisible) which carry the flag to bypass certain spell defenses, not that initial projectile that tracks your location to explode.
Comments
Take the level 4 priest spell, Poison. It uses 8 different opcodes just to poison the right critters in the right way with the right visual cues:
2. The second opcode is also 324, but its parameters are a bit different. It prevents Poison from affecting any creature with 100 poison resistance, even if that comes from an item like the Ring of Gaxx.
3. The third opcode is opcode 12, the damage opcode, which deals flat damage right off the bat.
4. This is opcode 142, which displays a portrait icon so players can see that the effect is applied.
5. This is opcode 9, which makes the target glow and shows that the spell has worked.
6. This is opcode 215, which displays a visual effect. This also shows that the spell has worked, but instead of just making the character glow a little, it also plays a little animation on top of the character.
7. This is opcode 174, which plays a sound, also indicating the spell has worked.
8. This is opcode 177, which applies a new effect every round that deals additional poison damage.
For the love of FSM, if you're just starting out don't look at an item/spell with free action.
One other thing that's important--the opcodes are applied in the order listed, which is why you see stuff like 318s and 324s listed first so that they block the remaining effects.
What if the SPL is directly targeted?
What if you cast a fireball on someone with spell trap, does it eat it up?
If the character moves away the fireball explodes in the point you originally cast it to explode, while a spell on target try to follow him untill he goes invisible then, if it happens the spell islost, while the fireball or an other aoe spell does not fizzle if the character disappear.
Aoe spells target a point in the area, not a character, wether a chatacter is or is not standing in that point.
This is not true for NPCs: if they target you with the script action 'Spell()' or any of its variant, the projectile will follow you everywhere, even behind walls...