Author Topic: Spells-50 reintroduces several spell bugs  (Read 12530 times)

Silencer150

  • Guest
Spells-50 reintroduces several spell bugs
« on: April 25, 2009, 07:24:01 PM »
I was recently rearranging mod installations when I decided to give Spells-50 another try.  After I installed it however, I noticed it overwrote at least two of the changes that the BG2 Fixpack implements:

Burning Hands - The Fixpack changes this so that it has an actual "fan" area of effect, as per the description.  This means it can strike several enemies up close if you aim it right.  Spells-50 however changes it back to a single-target spell.

Skull Trap - The Fixpack fixes the bug where Skull Trap was limited to a range of 20 feet, rather than 20 yards as per the description.  After installing the Fixpack, I could cast it across the screen just like Fireball.  Spells-50 however changes its range back to the incorrect 20 feet.  It's especially galling when I try to use 3 Skull Traps in a Spell Sequencer, only to have them all fail because I was standing too far away from my target.


Is there any way to have 50th level spells along with the corrected ranges?  Or do I have to choose between one or the other?

Offline Azazello

  • The Anti-Spammer
  • Planewalker
  • *****
  • Posts: 405
  • Gender: Male
    • Azazello’s Music Profile at Last.fm
Re: Spells-50 reintroduces several spell bugs
« Reply #1 on: April 25, 2009, 07:55:45 PM »
Is there any way to have 50th level spells along with the corrected ranges?  Or do I have to choose between one or the other?

Install Spells-50 before G3 BG2 Fixpack.
Community Contributions
Level 1 NPCs * gMinion: expanded TP2 for MegaInstalls * PSM (PSQM): expanded scripts for Melanthium * non-detectable Cloak of Non-Detection ?? * Weimer's-Tactics: revised TP2 for MegaInstalls
========================================
"Deception has many faces. Truth...has only one."

temüjin

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #2 on: June 07, 2010, 07:22:05 AM »
Install Spells-50 before G3 BG2 Fixpack.

Fixpack assumes, based on the way it's coded, that some spells may be missing level 19 & 20 ability headers (therefore assuming level 18 or so is the last ability).

If spell-50 is installed before, it may have already added the missing level 19 & 20 ability headers for such spells, and the "last" ability header would be level 50 (or level 51 in some cases).  Though Fixpack can recognise that some mod had already fixed this spell and gave it the missing ability headers, it would still add a bunch of (unused) bytes to the end of the file.  The spell may still work, but because of those unused bytes, it may eventually get corrupt in case another mod (with less robust code) patches the same file.

In other words, I wouldn't suggest installing Fixpack after this mod.  The proper way to handle this is to make spell50 patch instead of overwrite.

I could try to give it a shot if there are no objections.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Spells-50 reintroduces several spell bugs
« Reply #3 on: June 07, 2010, 07:28:26 AM »
I could try to give it a shot if there are no objections.
There's a spell-50 revamp at SHS, I don't know if/how patch-rific it is.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

temüjin

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #4 on: June 07, 2010, 07:48:06 AM »
There's a spell-50 revamp at SHS, I don't know if/how patch-rific it is.

looks like Kovarex is also overwriting entirely... and though he's placing most of his stuff in optional components, it looks like he's including a couple of his own changes as part of the original component, meaning you're forced to accept his changes as well if you want the original spell-50 (not implying that his tweaks are bad or anything).

I was thinking of patching the original mod, but I guess I'll patch his stuff too (assuming he doesn't mind).


I mainly wanted to find out what non-linear equations Wes used to extend some of those spells, as well as check out WeiDU's code automorphing feature.  Maybe now is a good time.  :)

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Spells-50 reintroduces several spell bugs
« Reply #5 on: June 07, 2010, 07:54:07 AM »
I mainly wanted to find out what non-linear equations Wes used to extend some of those spells
IIRC, it was written in Java, but odds that he still has the source code are nil (ask Compton to ask Weimer if you want to try). My uneducated guess is that he linearly extrapolated from the last two headers if they were similarly formed.

Quote
WeiDU's code automorphing feature.
First time I hear of that. Are you talking about Icewind Gate and spinoffs?
« Last Edit: June 07, 2010, 07:56:12 AM by the bigg »
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

temüjin

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #6 on: June 07, 2010, 08:19:44 AM »
My uneducated guess is that he linearly extrapolated from the last two headers if they were similarly formed.
almost of them are linear, true, but check out sppr411.spl (poison):

min_lvl (caster level)    --  1 10 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51
number of dice thrown  --  2  3  4   6   8   9 12 12 16 15 20 18 24 21 28 24 32 27 36 30 40 33


he might've used some polynomial (or maybe even polynomial + logarithmic) function to extrapolate... but then again, my math skills on finding patterns in arithmetic/geometric sequences & series are almost nonexistent.


this was what I worked out couple days back (using bitwise operators):

# of dice thrown = (min_lvl - (9 + (((min_lvl - 9) / 2) & 1) * (min_lvl / 4 - 3)) + (((min_lvl - ((min_lvl / 10) * 10)) & 1) ^^ 1) * 2 + (min_lvl / (min_lvl * min_lvl)) * 10)


if he calculated # of dice thrown based on the index of the ability headers, then it might be:

# of dice thrown = (index & 1) ? (3 + 3 * (index / 2)) : ((index == 0) ? 2 : (2 * index))


clearly, there must've been a simple equation for this, no?  ???

(for now, I'm ignoring the fact that the progression is bugged... notice the values keep increasing and decreasing at higher levels... I just want to know what formula he used here)

Quote
Quote
WeiDU's code automorphing feature.
First time I hear of that. Are you talking about Icewind Gate and spinoffs?

nah... just *REINCLUDE.  I've been meaning to try it for some time now.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Spells-50 reintroduces several spell bugs
« Reply #7 on: June 07, 2010, 08:45:06 AM »
I think he used the same equations for everything (according to the change log, it used to increment everything, and in a subsequent version skip fields like resource or opcode).

I think the key is that #dice(X) - #dice(X-2) is alternatively 3 and 4:
Code: [Select]
lvl #dice #dice(X) - #dice(X-2)
---      seed     ---
1 2 n/a
10 3 n/a
13 4 2
15 6 3
17 8 4
--- extrapolation ---
19 9 3
21 12 4
23 12 3
25 16 4
27 15 3
29 20 4
31 18 3
33 24 4
35 21 3
37 28 4
39 24 3
41 32 4
43 27 3
45 36 4
47 30 3
49 40 4
51 33 3

nah... just *REINCLUDE.  I've been meaning to try it for some time now.
Have fun shooting yourself in the foot  :)
« Last Edit: June 07, 2010, 08:50:12 AM by the bigg »
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

temüjin

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #8 on: June 07, 2010, 09:13:49 AM »

ah, thanks.  So it was a generic equation after all.

so would you say this is not a bug then?  Since he used a general formula, you think he was aware the dice seed values kept fluctuating?

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Spells-50 reintroduces several spell bugs
« Reply #9 on: June 07, 2010, 09:17:05 AM »
so would you say this is not a bug then?  Since he used a general formula, you think he was aware the dice seed values kept fluctuating?
From the readme:

Quote
I'm sure there's at least one other bug. In particular, I only tested (= cast in the game with a high level caster) about half of the spells listed above.
Even if Poison were amongst the tested spells (doubtful, given its 'save or nothing' status), it's hard to notice the odd damage progression.
« Last Edit: June 07, 2010, 10:49:54 AM by the bigg »
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

temujin.

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #10 on: June 09, 2010, 05:12:53 AM »
The more you start looking deeper and deeper and break down every bit piece by piece, the more bugs keep popping up...


Found some minor bugs and oddities in the unmodded game as well as some that are caused by the fixpack.  These issues are currently not fixed by the fixpack.


1.  sppr110.spl (Shillelagh):

- duration of create weapon (111) effect in level 20 ability header is wrong.  should be 144, not 142
- because Weimer was using the last couple headers to extrapolate, this bug gets worse in the mod.


2.  sppr202.spl (Barkskin):

- not a bug, but something I've been wondering about -  baldurdash seems to give a protection from spell (206) effect, but fixpack doesn't.  though the spell doesn't appear to stack, I'm wondering why baldurdash does this...


3.  sppr409.spl (Death Ward):

- wrong duration specified for display portrait icon (142) and play sound (174) effects for the level 19 & level 20 ability headers


4.  sppr411.spl (Poison):

- durations for effect opcodes 142, 9, 177, 174 are wrong for all abilities.  should be 60 (1 turn) instead of 62.


5.  sppr415.spl (Farsight):

- power level is wrong for opcode 215 (play visual effect) in level 18 ability header.  should be 4, not 0


6.  sppr506.spl (Iron Skins):

- opcode 174 (play sound) for the level 20 ability header has a power value of 4, all other abilities have it set to 5.  bug, i guess...


7.  sppr514.spl (Mass Cure):

- range for the last ability header is incorrectly set to 1 instead of 20
- the target value for opcode 164 (remove intoxication) keeps alternating between preset target (2) and party (3), why?  most of them are set to 2, but level 11, 18 and 20 ability headers have it set to 3


8.  sppr599.spl (Slay Living):

- opcode 12 (damage) effect for the first ability header has its resist_dispel set to dispel/not bypass resistance (1), however, all other damage effects in all other abilities have it set to no dispel/bypass resistance (0)


9.  sppr709.spl (Confusion):

- each ability header is supposed to have two play sound (174) effects which do two different things... but the first ability header has only one... ?


10. spwi107.spl (Friends):

- fixpack changes the "delta" of the spell (i.e. the difference between levels in two adjacent ability headers which would affect the number of abilities in a spell) from 2 to 1.  why?  ???  generally, the fixpack approach is to fix the descriptions if it doesn't match with the corresponding item/spell/etc, but in this case, it fixes the spell...


11. spin714.spl (Lightning Bolt):

- first ability header of spin714 has wrong values for # of dice thrown for both damage (12) effects
- also projectile is set to 220 instead of 40 for the first header


12. spwi318.spl (Minor Spell Deflection):

- parameter 2 for opcode 139 for level 19 ability header was incorrectly set to 1, i've set it to 0 just like in all other abilities (though it probably won't make any difference)


13. spwi399.spl (Lightning Bolt):

- for the first ability header, opcode 12 (damage) has its target set to 2 (preset target).  however, for all the remaining abilities, the damage opcode has its target set to 4 (everyone).  i've assumed 4 is the correct one
- the second damage effect (in level 6 & level 10 ability headers) has inconsistent power levels.  i've set them back to 3


14. spwi408.spl (Stoneskin):

- the Stoneskin (218) effect in the first ability header has its value for number of skins set to 5, but the second header has its num_skins set to 4, the third 5, fourth 6, etc... this implies the first should've been 3 (this would match the spell description too).  same problem with Iron Skins (the first header should have its # of skins set to 3)...


15. spwi416.spl (Polymorph Self):

- durations for the Cast Spell (146) effect is always 4 seconds higher than the duration specified in description


16. spwi425.spl (Wizard Eye):

- timing mode for opcode 174 (the one that has a constant duration of 0) arbitrarily has its value changed from 0 to 1 in level 10, 15-19 ability headers... i've assumed zero is the correct value


17. spwi512.spl (Protection from Electricity):

- dispel/resistance for the play sound (174) effect switches to 1 (instead of remaining at 3) for the last two (level 19 & 20) abilities


18. spwi518.spl (Phantom Blade):

- durations for opcode 174 (play sound) were messed up in the last two (level 17 & 18) headers
- this bug gets worse in the mod due to using those last few headers as templates to extrapolate...


19. spwi603.spl (Tenser's Transformation):

- the last two ability headers (min_lvl = 19 and 20), have the values for base THAC0 bonus (54) set to 3 (modifier type: Set(1)).  this is inconsistenct with THAC0.2da - fighters are supposed to have a THAC0 of 2 at level 19, and 1 and level 20.

- this bug gets even more exaggerated with much more ridiculous values in this mod:
Code: [Select]
min_lvl (caster level)  -- 1 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44  45 46  47 48  49 50
THAC0 (old progression) -- 9  8  7  6  5  4  3  3  3  2  3  1  3  0  3 -1  3 -2  3 -3  3 -4  3 -5  3 -6  3 -7  3 -8  3 -9  3 -10  3 -11  3 -12  3
THAC0 (new progression) -- 9  8  7  6  5  4  3  2  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0   0  0   0  0   0  0


20. spwi608.spl (Pierce Magic):

- since fixpack adds a display string (139) effect for the 8th level Pierce Shield that gives a "Magic Resistance Lowered by X%" feedback, why doesn't it apply the same effect to this spell as well?  They both do the same thing... so what's the harm in having a little consistency?  ???


21. spwi620.spl (Conjure Fire Elemental):

- duration for pause caster effect (165) is raised to 30 instead of keeping it at a constant value of 18


22. spwi621.spl (Conjure Air Elemental):

- the first ability header contains a duration of 840 for opcode 177 (use EFF). it's supposed to be 660


23. spwi622.spl (Conjure Earth Elemental):

- same bug as spwi621.spl


24. spwi623.spl (Carrion Summons):

- durations were all incorrect in level 17-20 ability headers... they were all off by 2


25. spwi624.spl (Summon Nishruu):

- durations were wrong for the last two ability headers


26. spwi703.spl (Project Image):

- this maybe a fixpack-related bug: fixpack adds a protection from spell (206) effect to prevent stacking... but duration is set to only 3?  shouldn't the duration for this effect be the same as the duration in opcode 236 (project image) ?


27. spwi717.spl (Summon Efreeti):

- durations were incorrect for the last two ability headers


28. spwi812.spl (Abi-Dalzim's Horrid Wilting):

- level 19 ability header has the dice seed (# of dice thrown) values switched between the two damage (12) effects  i.e. the no-save variant should have its num_dice_thrown set to 9, whereas the one that allows save should be 10

temujin.

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #11 on: June 09, 2010, 05:15:49 AM »
these are some bugs/discrepancies in the mod:

1.  spell50 adds numerous modify script state (282) effects for several spells, most of which point to unknown states.  I don't understand whether these unknown states are copy-and-paste errors, or if it's some old fashioned way of using detectable stats/spells?  Is this really necessary?

also, the power level for this effect is different from the power levels of other effects in the same spell. 

For now, I've duplicated this effect as it is in the original...


2.  sppr202.spl (barksin):

- AC bonus doesn't properly scale down at higher levels


3.  sppr411.spl (poison):

- this spell is notoriously bugged!  the # of dice thrown values are vastly inconsistent at later levels

Code: [Select]
min_lvl (caster level) --  1 10 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51
number of dice thrown  --  2  3  4  6  8  9 12 12 16 15 20 18 24 21 28 24 32 27 36 30 40 33  <-- old progression
number of dice thrown  --  2  3  4  6  8  9 10 12 14 15 16 18 20 21 22 24 26 27 28 30 32 33  <-- new (fixed) progression

fixing the progression meant I had to change kovarex's description update as well...

- also the EFF keeps alternating between spwi411d.eff and spwi411e.eff for even and odd ability indices at higher levels.  looks like opcode 0 (damage) effects at higher abilities should each have their own separate EFF that contains a corresponding damage per round value.  i've added the missing EFF files that are needed at higher levels.


4.  sppr412.spl (holy power):

- timing mode for opcode 141 and dice_size for opcode 18 were both set to 0... i've assumed they're bugs and kept the existing (fixpack) values


5.  sppr506.spl (iron Skins):

- some of the opcode 174 effects have the power values set to 253, 254, 255, etc... at higher levels


6.  sppr507.spl (champion's strength):

- durations are all messed up for opcodes 44, 54, 97, 142, 145, 174 from ability index 8 and higher
- opcode 54 (base THAC0 bonus) also has *completely* inconsistent values at higher levels (i.e. opcode 54 doesn't adhere to the bonus of 1 for every 3 levels of the caster)


7.  sppr509.spl (magic resistance):

- durations are all messed up for opcodes 142, 166, 174 from ability index 10 and higher


8.  sppr513.spl (righteous magic):

- opcode 44 (strength bonus) is bugged, strength increment value keeps fluctuating at higher levels
- opcode 18 (hp bonus) has its dice size set to 0 whereas fixpack keeps it at 8, doesn't make a difference I guess since # of dice thrown = 0 anyway


9.  sppr706.spl (symbol, fear):

- durations for both play sound (174) effects were wrong once ability header index > 3


10. sppr709.spl (confusion):

- durations were wrong for opcodes 174 and 215 in several abilities


11. sppr718.spl (symbol, stun):

- durations for both play sound (174) effects were wrong once ability header index > 3


12. spwi125.spl (spook):

- spell displays some arbitrary string instead of "Panic" due to mismapped strrefs when target is spooked
- durations were supposed to be fixed at 18, but they were arbitrarily increased for some higher abilities
- fixed display string (139) effects at higher abilities that were pointing to nonsensical strrefs


13. spwi308.spl (lightning bolt):

- range doesn't increment properly once ability header index > 5, its value keeps interchanging between 90 and 100


14. spwi309.spl (monster summoning i):

- durations weren't scaling properly accordng to the way its mentioned in the description (once ability index >= 2)


15. spwi314.spl (vampiric touch):

- duration for one of the Play Visual Effect (215) opcodes arbitrarily increases/decreases at higher levels (>= 12) instead of being set to 0


16. spwi318.spl (minor spell deflection):

- dispel_resist and power have inconsistent values at higher abilities for opcode 282


17. spwi319.spl (protection from fire):

- the old version seems to include one additional global effect that gives magical fire resistance bonus (84).  i've included the code to reapply that effect, but not sure if it's really necessary...
- also, the timing modes for opcodes 139 and 215 were wrong (set to 0), as well as the power level for opcode 206 (set to 0)


18. spwi320.spl (protection from cold):

- identical bugs as in spwi319.spl except this time the global effect is magical cold resistance bonus (85)


19. spwi401.spl (confusion):

- save_bonus for all effects in all abilities are set to 0 (which contradicts the description) when it's supposed to be -2


20. spwi407.spl (monster summoning ii):

- durations weren't scaling properly accordng to the way its mentioned in the description (once ability header index >= 8 )


21. spwi416.spl (polymorph self):

- durations weren't calculated properly once ability index >= 7


22. spwi424.spl (farsight):

- durations were grossly miscalculated for opcodes 174 and 239


23. spwi504.spl (monster summoning iii):

- durations weren't scaling properly accordng to the way its mentioned in the description (once ability index >= 8 )


24. spwi514.spl (lower resistance):

- fixed the old known bug where some mismapped arbitrary string is shown instead of "Magic Resistance Lowered by X%" at higher levels.  surprised why Weimer let this one go unfixed for several years.  all that was needed was to add new strings and make sure the display string (139) effect points to the new strrefs in those higher ability headers...


25. spwi602.spl (globe of invulnerability):

- opcode 8 (set color glow solid) was given an abnormal power value of 36, instead of 6 for the last (min_lvl = 50) ability header


26. spwi620.spl (conjure fire elemental):

- duration for pause caster effect (165) was inadvertently raised to extremely high values instead of keeping it at a constant value of 18 (this happens at higher ability headers when min_lvl is odd)


27. spwi702.spl (protection from the elements):

-  spell50 seems to give a protection from spell (206) effect to prevent stacking with spwi803.spl (protection from energy) - but *only* for the first ability header.  since fixpack doesn't apply this effect and since it's only being applied to the first ability, i'm assuming this effect isn't really necessary... skipping for now...


28. spwi803.spl (protection from energy):

- same bug as in spwi702.spl


29. spwi804.spl (simulacrum):

- durations were messed up for opcodes 206 and 236 once ability index >= 5


30. spwi923.spl (summon planetar):

- durations were messed up once ability index >= 4


31. spwi924.spl (summon dark planetar):

- same bug as in spwi923.spl




--- the rest is from kovarex's tweaks ---


32. sppr214.spl (draw upon holy might):

- durations in all effects were messed up in the level 39 ability header


33. sppr406.spl (defensive harmony):

- the older version adds three modify proficiencies (233) effects to each ability header, all of which do *exactly* the same thing... not sure why this isn't mentioned in the description update... for now, i've added one of these effects just for completeness...


34. spwi112.spl (magic missile):

- kovarex increases the range of this spell from 60 to 120 although this isn't mentioned in the description...  assuming it's a bug for now since the purpose (apparently) was to increase the number of missiles, not their range


35. spwi317.spl (ghost armor):

- durations were wrong for several effects in ability index 5 as well as for opcode 174 in other ability headers at higher levels


36. spwi414.spl (spirit armor):

- durations were messed up for opcode 174 in various ability headers...


37. spwi808.spl (improved mantle):

- duration was wrong for opcode 206 in ability header index 3


38. spwi907.spl (absolute immunity):

- durations were wrong for opcode 142 (ability header index = 0) and opcode 120 (ability header index = 4)


39. spwi921.spl (improved alacrity):

- durations were wrong for one of the opcode 174 effects in all ability headers... it was set to a constant value of 90 instead of matching the durations with opcodes 142 & 188


40. spcl916.spl (assassination):

- durations were wrong for the last (level 50) ability header... should be 42 instead of 60

Offline Mike1072

  • Planewalker
  • *****
  • Posts: 298
  • Gender: Male
Re: Spells-50 reintroduces several spell bugs
« Reply #12 on: June 09, 2010, 08:27:58 AM »
Quote
8.  sppr599.spl (Slay Living)
Players only get spells ending in the 01-49 name range.  This spell looks to be unused though it has an IDS entry and there's one creature with it memorised.

Quote
13. spwi399.spl (Lightning Bolt)
This one also appears to be unused.

Quote
17. spwi512.spl (Protection from Electricity):

- dispel/resistance for the play sound (174) effect switches to 1 (instead of remaining at 3) for the last two (level 19 & 20) abilities
I see this only on the level 20 ability.

Quote
18. spwi518.spl (Phantom Blade):

- durations for opcode 174 (play sound) were messed up in the last two (level 17 & 18) headers
See this only in the level 17 ability.


Off for now.  Will check 21-28 later.

temujin.

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #13 on: June 09, 2010, 09:29:11 AM »
Quote
I see this only on the level 20 ability.
Quote
See this only in the level 17 ability.
you're right.  was alt-tabbing back and forth between the diffs of fixpack vs baldurdash vs spell50 vs vanilla spells, and looks like I was in too much of a hurry.  Thanks for checking.

Quote
This one also appears to be unused.
it's unused in the unmodded game, perhaps, but I'm sure some mod's creature / AI / etc is probably making use of it.  personally, I see no harm in fixing it anyway.


I'm still particularly curious about this:

Quote
1.  spell50 adds numerous modify script state (282) effects for several spells, most of which point to unknown states.  I don't understand whether these unknown states are copy-and-paste errors, or if it's some old fashioned way of using detectable stats/spells?  Is this really necessary?

also, the power level for this effect is different from the power levels of other effects in the same spell.  should this be changed to match the values in other effects?

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Spells-50 reintroduces several spell bugs
« Reply #14 on: June 09, 2010, 09:42:55 AM »
Detectable Spells uses effects 282 and 233, so that's most likely the source of those. It's using the old build of DS, rather than the modern one, which most likely explains the plethora of inconsistencies and bug - among other things, the 'old' DS removes the foot circle from people casting certain buffs, and the issue was never fixed. this thread should provide some relevant information regarding the old/new DS split among tons of irrelevant info provided by overly verbose posters.
« Last Edit: June 09, 2010, 09:45:36 AM by the bigg »
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

temujin.

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #15 on: June 09, 2010, 12:06:49 PM »
that thread is certainly useful, i was mostly looking at the table in this link which confusingly claims to use opcode 233 and 182.  but more importantly, it didn't talk about any of the higher "unknown" state values (which is what i was wondering).

in that thread, Horred says the foot circle bug is possibly caused by opcode 233 with slot 167.  i guess it's better to not insert these two unnecessary (and potentially buggy) effects at all and rather let the AI mods take care of it.  just checked SCS' detectable spells code, and it looks like it's deleting all existing 233 and 282 effects from all spells anyway (to rebuild DS from scratch), so maybe there isn't much point in adding them.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: Spells-50 reintroduces several spell bugs
« Reply #16 on: June 09, 2010, 06:34:15 PM »
I don't think that keeping detectable code in Spell-50 is particularly useful, since mods that use DS will install their own version anyway (most likely by directly overwriting the Spell-50 files themselves).
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Mike1072

  • Planewalker
  • *****
  • Posts: 298
  • Gender: Male
Re: Spells-50 reintroduces several spell bugs
« Reply #17 on: June 09, 2010, 06:39:25 PM »
Quote
10. spwi107.spl (Friends):

- fixpack changes the "delta" of the spell (i.e. the difference between levels in two adjacent ability headers which would affect the number of abilities in a spell) from 2 to 1.  why?  Huh  generally, the fixpack approach is to fix the descriptions if it doesn't match with the corresponding item/spell/etc, but in this case, it fixes the spell...
The extra abilities are added because the spell's duration is supposed to increase every level.  What still needs to be fixed is the description of "1d4 rounds + 1 round/level" to its actual "4 rounds + 1 round/level".

Quote
21. spwi620.spl (Conjure Fire Elemental):

- duration for pause caster effect (165) is raised to 30 instead of keeping it at a constant value of 18
(On the level 19 header.)

Quote
28. spwi812.spl (Abi-Dalzim's Horrid Wilting):

- level 19 ability header has the dice seed (# of dice thrown) values switched between the two damage (12) effects  i.e. the no-save variant should have its num_dice_thrown set to 9, whereas the one that allows save should be 10
According to how Fireball and Lightning Bolt behave, at odd levels, the larger damage amount should have no save.  So, the level 19 header here is correct and the level 17 one is in error.

Okay, that's all the unmodded/Fixpack stuff.  Everything I didn't quote appears to be accurate with Fixpack v9.01 installed.  Power levels remain something of a mystery to me (why they don't always = the level of the spell), so I'm not sure what does or doesn't need to be fixed in those cases.

As far as the Spell-50 discrepancies go, you're on your own.

temüjin

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #18 on: June 09, 2010, 08:55:54 PM »
Quote
The extra abilities are added because the spell's duration is supposed to increase every level.  What still needs to be fixed is the description of "1d4 rounds + 1 round/level" to its actual "4 rounds + 1 round/level".
the duration is supposed to increase every two levels, not every level.  there is nothing wrong with the spell having a delta of 2.  what needs to be fixed is the description, not the spell itself.

look at how fixpack fixes symbol, fear (sppr706).  this spell has a delta of 3, but the unmodded description states "2 rounds + 2 rounds for every 3 levels."  fixpack, in this instance, changes the description to "2 rounds + 1 round for every 3 levels" to match the spell.

if you're changing the description to match the spell in one instance, then you should stick to that principle and apply that to other spells (except maybe for extremely contradictory cases).  there is nothing wrong with this spell having a delta of 2.  only the description needs fixing.


Quote
According to how Fireball and Lightning Bolt behave, at odd levels, the larger damage amount should have no save.  So, the level 19 header here is correct and the level 17 one is in error.
i don't fully agree with using fireball and lightning as some sort of barometer to determine the behavior of horrid wilting, but if you're convinced it's level 17 that needs fixing, then by all means go with that.


Quote
As far as the Spell-50 discrepancies go, you're on your own.
that's alright.  i was only mainly interested in the purpose of the 282 & 233 opcodes.

temüjin

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #19 on: June 09, 2010, 09:12:57 PM »
lol, actually never mind that.  I wanted to say the description should be changed to "4 rounds + 1 round/2 levels" to reflect the number of ability headers, but this requires changing the duration as well.  ok, agree with you here.

Offline devSin

  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: Spells-50 reintroduces several spell bugs
« Reply #20 on: June 09, 2010, 09:33:38 PM »
Quote
4.  sppr411.spl (Poison):
- durations for effect opcodes 142, 9, 177, 174 are wrong for all abilities.  should be 60 (1 turn) instead of 62.
It's probably fine with the egregious use of poison EFFs.

Quote
5.  sppr415.spl (Farsight):
- power level is wrong for opcode 215 (play visual effect) in level 18 ability header.  should be 4, not 0
Power is not checked for ability target=self && effect target=self

Quote
7.  sppr514.spl (Mass Cure):
- range for the last ability header is incorrectly set to 1 instead of 20
- the target value for opcode 164 (remove intoxication) keeps alternating between preset target (2) and party (3), why?  most of them are set to 2, but level 11, 18 and 20 ability headers have it set to 3
Isn't this target=self (cast range won't matter). Detox doesn't do anything in vanilla, so it doesn't matter.

Quote
9.  sppr709.spl (Confusion):
- each ability header is supposed to have two play sound (174) effects which do two different things... but the first ability header has only one... ?
Make sure you check the timing mode; a lot of spells will have an instant and a delayed sound (one to play on impact, and an expiry sound). Sometimes the first or last ability of a spell will be missing a vanity effect or have a different parameter. Technically a bug, but a total snooze.

Quote
11. spin714.spl (Lightning Bolt):
- first ability header of spin714 has wrong values for # of dice thrown for both damage (12) effects
- also projectile is set to 220 instead of 40 for the first header
These are mephit spells or something. The only header they can ever use is the first IIRC (the rest are there just because it was copied from normal Lightning Bolt). 220 is the no-bounce bolt.

Quote
15. spwi416.spl (Polymorph Self):
- durations for the Cast Spell (146) effect is always 4 seconds higher than the duration specified in description
Design. It'll happen some time after the spell normally wears off (let everything try to expire and then force the normals shift on you). Shouldn't be any real impact.

Quote
16. spwi425.spl (Wizard Eye):
- timing mode for opcode 174 (the one that has a constant duration of 0) arbitrarily has its value changed from 0 to 1 in level 10, 15-19 ability headers... i've assumed zero is the correct value
Except when delayed timing, this is one of the effects that completely ignores what you specify for timing mode and duration. It's a fire-and-forget-it.

Quote
28. spwi812.spl (Abi-Dalzim's Horrid Wilting):
- level 19 ability header has the dice seed (# of dice thrown) values switched between the two damage (12) effects  i.e. the no-save variant should have its num_dice_thrown set to 9, whereas the one that allows save should be 10
BioWare almost always moves up on the non-save roll before the save roll.

Quote
34. spwi112.spl (magic missile):
- kovarex increases the range of this spell from 60 to 120 although this isn't mentioned in the description...  assuming it's a bug for now since the purpose (apparently) was to increase the number of missiles, not their range
You can't shoot farther than you can see, and you can't see farther than 30 in a normal game, so ranges > 30 are equivalent to 30.

Players only get spells ending in the 01-49 name range.  This spell looks to be unused though it has an IDS entry and there's one creature with it memorised.
I think it should be NPC_SLAY (like NPC_HARM). Basically, ranged touch attack. Some of {Demogorgon, Sendai} will probably use it.

13. spwi399.spl (Lightning Bolt)
Leftover. Maybe Gorion lightning in BGT (but he runs Kill() right afterward IIRC, so who cares).

Quote
Okay, that's all the unmodded/Fixpack stuff.  Everything I didn't quote appears to be accurate with Fixpack v9.01 installed.  Power levels remain something of a mystery to me (why they don't always = the level of the spell), so I'm not sure what does or doesn't need to be fixed in those cases.
We elected to ignore power because too many spells would have to be looked at. Power is level (if something blocks "Spell level 5," it's actually blocking all effects of Power 5). However, there are legitimate cases where you want to bypass level resistance (say, in-place visuals for a area-effect spell, or when an external target, like a summoning spell, targets its effects at the caster, which would normally cause it to check level and magic resistance). Like resistance, you just have to tickle the balls a bit to get it to work the way you want, so it's not always 1:1 with the spell level.

Quote
that's alright.  i was only mainly interested in the purpose of the 282 & 233 opcodes.
282 is a relic, before people knew that every single stat except for the 10 open "SCRIPTING_STATE" slots actually has a purpose and toggles most ToB functionality (sometimes apparent like no feet circle, but then like immunity to turn undead or immunity to tracking or use any item). From the early days where modders would mod without actually knowing what they were doing.

233 is used because there are a number of junk proficiencies to play with; they don't actually do anything, but you can pick them up via script. It's not more than a best-you-can-do hack, though.
« Last Edit: June 09, 2010, 09:36:57 PM by devSin »

temujin.

  • Guest
Re: Spells-50 reintroduces several spell bugs
« Reply #21 on: June 09, 2010, 09:49:51 PM »
thanks, dev.


what about:

Quote
20. spwi608.spl (Pierce Magic):

- since fixpack adds a display string (139) effect for the 8th level Pierce Shield that gives a "Magic Resistance Lowered by X%" feedback, why doesn't it apply the same effect to this spell as well?

Offline devSin

  • Planewalker
  • *****
  • Posts: 1632
  • Gender: Male
Re: Spells-50 reintroduces several spell bugs
« Reply #22 on: June 09, 2010, 09:56:23 PM »
It's not something we would have bothered to do unless somebody really complained (and even then, we could have decided not to). It could also be tied up in some code from Nythrun somewhere over on the forums. I wouldn't wait around for it, though.

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: