Jump to content

request for v4: preserve overwritten spells


subtledoctor

Recommended Posts

 

I simply call that lack of respect for other people's work...

Well, I wouldn't go that far. They can't know how every mod will affect or use every spell... hard to 'respect' what you're not even aware of. And in dealings on these forums and others, the SR guys have been nothing but gentlemen.

 

I'm just posting this here because I've identified a way that SR is *inadvertantly* causing bad effects for other mods, and trying to help them finds ways to make SR as friendly to other mods as possible, with as little effort as possible (15 lines of code!)

 

I make mods specifically designed to be installed late in the order, so I accept that it's up to me to make sure they are compatible with stuff like SR. But I try to open a dialogue to communicate ways that SR could make that easier. Like, y'know, adding 15 lines of code. ;)

 

You really hit on the problem - it will get mighty crowded there at the very late end of the install chain since we all need to take mods like these into account and make contents mods compatible. SR is not alone, there is IR doing similar, and SCS and all hack and slash like they want to. Now you need to look at them and all their whats and ifs and try to come up with a mod that still works under all circumstances (or create one that neither uses spells, nor items, nor any battle encounters).

The alternative will be that a lot of mods get incompatible with those large tweaks and you can only decide to either implement one or the other type of mod in one installation, either beef your game up with spells, items, tactics and kits or go for more content and plot - but not both.

But enough...it is for those who install the mods to decide.

Link to comment

Btw part of what makes it difficult to determine the scope of what I'm talking about is that I can't find anywhere a proper list of what's added, what's deleted, and what's changed by v4. (There being no readme and all, which is perfectly natural since the mod's not done yet.)

 

Anyway, I went through NI myself and made such a list while working on another mod, so maybe it would be useful, for this discussion or just for other modders to get a handle on SR's changes.

 

"changed" SR spells:

sppr209 = know opponent

(was know alignment)

sppr210 = resist elements

(was resist fire/cold)

sppr218 = gust of wind *

sppr307 = break enchantment

(was remove curse)

sppr506 = stoneskin

(was ironskin)

sppr513 = righteous fury

(was righteous magic)

sppr515 = repulsion *

(was repulse undead)

sppr702 = shambling mound *

(was earth elemental)

sppr703 = death knight *

(was gate)

(use wizard gate instead)

sppr716 = symbol weakness *

(was symbol fear)

spwi106 = obscuring mist *

(was blindness)

spwi107 = monster summ 1 *

(was friends)

spwi108 = expeditious retreat *

(was pro petrification)

spwi111 = true strike

(was infravision)

spwi207 = battering ram *

(was knock)

spwi208 = know opponent

(was know alignment)

spwi223 = sound burst

(was deafness)

spwi402 = dimension jump

(was dimension door)

spwi403 = acid sheath

(was fire shield blue)

spwi410 = break enchantment

(was remove curse)

spwi423 = monster summ 4

(was spider spawn)

spwi501 = summon shadow

(was animate dead)

spwi508 = waves of fatigue

(was chaos)

spwi510 = dispelling screen *

(was spell imm)

spwi605 = banishment

(was death spell)

spwi614 = acid fog

(was death fog?)

spwi619 = monster summ 6

(was wyvern call)

spwi623 = skeleton warrior *

(was carrion crawler)

spwi708 = prismatic mantle *

(was mantle)

spwi7__ = death knight *

(was cacofiend)

spwi808 = moment of prescience *

(was imp. mantle)

spwi818 = icy grasp

(was clenched fist)

 

New SR spells:

sppr114 = faerie fire

sppr115 = strength of stone

sppr116 = sunscorch

sppr117 = regenerate light

sppr118 = goodberry

sppr120 = animal summ 1

sppr121 = obscuring mist

sppr122 = curse (?)

sppr216 = fire trap

sppr217 = regenerate moderate

sppr220 = animal summ 2

sppr320 = animal summ 3

sppr322 = storm shield

sppr323 = regenerate serious

sppr324 = magic fang

sppr325 = spike growth

sppr418 = ice storm

sppr419 = regenerate critical

sppr519 = polymorph other

sppr520 = pro acid

sppr521 = pro cold

sppr522 = pro electricity

sppr523 = pro fire

sppr524 = mass regenerate

sppr525 = animal growth

sppr619 = regeneration

sppr620 = banishment

sppr621 = air elemental

sppr622 = earth elemental

sppr623 = skeleton warrior

sppr716 = animal summ 7

spwi225 = resist elements

spwi226 = monster summ 2

spwi526 = acid sheath

spwi724 = monster summ 7

spwi801 = ghost form

spwi802 = mind blank

 

The instances with stars are the ones where, instead of changing a spell, SR really overwrites the old spell with a completely different effect. Reasonable minds can disagree about some of them - should Monster Summoning 4 be included? Should Gust of Wind or Battering Ram be excluded? - but it's those 12-15 spells that I'm talking about here.

I replied to Roxanne over at SHS regarding some of these spells.

 

 

You can think of what SR is doing here as accomplishing 2 things: adding a new spell and removing an old spell.

Right, I understand that's what SR does here, but I don't understand what is accomplished by removing old spells. To clarify: I completely understand why SR would want to remove those spells from the player; I just don't see why SR thinks it is important to remove them from the game entirely.

 

Except of course that it's easier and less effort - which is a real factor, I understand that. But I guess what I'm trying to communicate, is that for lots of friendly modders and players, that effort would be worthwhile. It shouldn't be *too* much effort - we're only talking about a dozen or so spells here, so maybe a dozen or so extra COPY commands. As I said, it's really only needed where the replacement spell is totally different from the original - like Obscuring Mist, and True Strike, and Death Knight, but not Battering Ram or Greater Malison. Heck, I'd be happy to take the time to add in the required commands myself.

 

There are 3 main reasons why SR adds some spells by replacing others.

 

1) Spell slots were very limited when SR was created.

2) Replacing spells used by the AI means the AI doesn't have to be modified in order for them to use the new spells.

3) Some spells are terrible and SR's primary goal is to make each spell interesting and useful.

 

For most spells, SR applies small changes that stick with the general idea of the spell. Some spells receive more drastic changes that include additional functionality or a different concept based on a similar theme. A small number of spells just have to be ditched in favour of a new spell. Maybe the spell is too similar to another spell or maybe it just totally sucks. Infravision and Friends might be useful in P&P, but their implementation is pretty lacklustre in Baldur's Gate.

 

Keeping those terrible spells in the game would violate one of SR's goals. I know there are people who install SR along with megamods that add spells that are much worse, so we might consider adding an install option that would preserve spells that would otherwise be removed because of their general crumminess.

 

However, I don't think it's worth providing that same option for spells that are transformed to a lesser extreme. The new versions are deliberately designed to take the place of the original spells.

 

 

most importantly adding a new spl doesn't make it used by SCS, replacing a spl does.

Actually that's not true. If you use

ADD_SPELL ~spell_rev/waves.spl~ 5 2 WIZARD_CHAOS
...then you will be adding a new spell and not destroying any existing game assets, *and* making sure that SCS and AI and scripts etc. use the new spell in place of the original spell... in other words, achieving your goal completely. Deciding to only use ADD_SPELL for new spells, and not for spell replacements, kind of misses the point of that command. It's designed specifically for spell replacement.

 

If you used ADD_SPELL with an IDS name of WIZARD_WAVES_OF_FATIGUE, then the new spell would be added in a new slot, and Chaos would still exist at spwi508 with the WIZARD_CHAOS identifier, so the AI would continue to cast Chaos and Chaos would be available to the player.

 

Your usage of ADD_SPELL would just copy waves.spl over the existing Chaos spell, spwi508.spl, which is the exactly the same as what we're doing now.

 

 

From a technical perspective, rather than us implementing option #2, you could just include the vanilla spells in your mod and in any place you would copy dvwi106.spl, just copy your version of spwi106.spl.

I could re-make the spell myself and include it in a mod... but I would have to make the effort to make sure different variations for different games are all correct, and have the correct name and description strings, and I would be completely unable to prevent possible inconsistencies if other mods go in before mine and make changes. It could certainly be done, and the problems are generally edge case problems... but honestly, it's extremely silly to go to all that trouble just to duplicate an asset that is already in the vanilla game - or would be, if it hadn't been affirmatively deleted by SR.

 

As I mentioned earlier, it depends on what you are trying to do. As a general rule, if you want to preserve changes that are made by other mods, you should be using whatever spell exists in the game. If you want to ignore the changes made by mods, you should provide your own version of the spell.

 

My response would differ depending on whether you were talking about Knock/Battering Ram, Blindness/Obscuring Mist, or Infravision/True Strike.

 

And to clarify a bit more, I'm not actually making a kit, so this isn't a question about helping me figure out how to solve some particular problem I have. It's just an example.

If we're just speaking hypothetically, I don't see any reason to do anything about this. If you really really wanted to get the version of the file from directly before SR was installed, you could copy it out of SR's backup folder.

Link to comment

Your usage of ADD_SPELL would just copy waves.spl over the existing Chaos spell, spwi508.spl, which is the exactly the same as what we're doing now.

I apologize - I was wrong, and this is actually correct. I read this regarding ADD_SPELL from the Weidu readme:

 

If Spell.ids already contains a spell named idsName, but of of different type and/or level than the one you’re adding, then the current reference is removed from spell.ids, and then the action proceeds as usual.

I had forgotten the bolded text. So yes, in this instance you could not use ADD_SPELL to replace Chaos with Waves of Pain. (I mean you could but it would be more work than is worth doing.)

 

Keeping those terrible spells in the game would violate one of SR's goals.

I think if you look around these and other forums, I pretty much do nothing but heap praise on SR. I love almost every change it makes as far as gameplay goes. But, Blindness is not a crummy spell. And Obscuring Mist functions substantially differently. (I don't know if it's supposed to reduce enemies' LOS but in my game last night they walked right through it, straight at my PC. Tbh I'm not sure what the spell is actually doing.)

 

Likewise, Cacofiend is not crummy or useless, it's one of 3 demon-summoning spells and each of them is actually quite unique (unlike many other summoning spells... we've already had this conversation however).

 

As I mentioned earlier, it depends on what you are trying to do. As a general rule, if you want to preserve changes that are made by other mods, you should be using whatever spell exists in the game. If you want to ignore the changes made by mods, you should provide your own version of the spell.

 

My response would differ depending on whether you were talking about Knock/Battering Ram, Blindness/Obscuring Mist, or Infravision/True Strike.

 

If we're just speaking hypothetically, I don't see any reason to do anything about this. If you really really wanted to get the version of the file from directly before SR was installed, you could copy it out of SR's backup folder.

Personally, what triggered this thread, is I would like to add Blindness to one of my priest spell spheres. And I'd like it to be consistent with whatever Blindness spell is already in the game. When SR is installed that becomes Obscuring Mist, which is fine... but I would actually like to use them both, since they are two different spells with different application and themes. (And when trying to fill out our spheres, we are starved for spells - the more, the better.) Come to that, I would make good use of Cacofiend as well, if it were in the game for me to use..

 

As for backup folders, I've looked at some, and they seem to be a jumbled mess. As I'm sure you appreciate, putting something in Weidu for some unknown users to apply to unknown computers with unknown modlists, it has to work reliably. And I can't figure out how to reliably pluck a spell from SR's backup folders. (The Weidu documentation doesn't seem to have anything on backup folder structure.) Grabbing something like spwi106.bak from the override folder would be a *LOT* easier.

Link to comment

As for backup folders, I've looked at some, and they seem to be a jumbled mess. As I'm sure you appreciate, putting something in Weidu for some unknown users to apply to unknown computers with unknown modlists, it has to work reliably. And I can't figure out how to reliably pluck a spell from SR's backup folders. (The Weidu documentation doesn't seem to have anything on backup folder structure.) Grabbing something like spwi106.bak from the override folder would be a *LOT* easier.

Backup folders are organized by component number. So inside spell_rev/backup/0, you'd find all files that are needed to uninstall component 0. If spwi106.spl existed in the override before component 0 was installed, then the old one would appear here. (If the file was not in the override but existed in the game bifs, then it wouldn't appear here, so maybe looking here for it is not a great idea.)

 

I'm not averse to creating our own backups if that turns out to be the easiest way to handle things.

 

I'll let Demi comment on the Blindness/Obscuring Mist issue and whether having both makes sense in the SR world.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...