Jump to content

Appending spells.2da


Red Carnelian

Recommended Posts

I'm trying to amend and append to spells 2da. So far I have this working through Weidu as

 

COPY_EXISTING ~spells.2da~ ~override~

SET_2DA_ENTRY 1 1 5 ~25~

SET_2DA_ENTRY 2 1 5 ~15~

SET_2DA_ENTRY 1 2 5 ~25~

SET_2DA_ENTRY 2 2 5 ~18~

SET_2DA_ENTRY 1 3 5 ~23~

SET_2DA_ENTRY 2 3 5 ~18~

SET_2DA_ENTRY 1 4 5 ~21~

SET_2DA_ENTRY 2 4 5 ~15~

SET_2DA_ENTRY 1 5 5 ~19~

SET_2DA_ENTRY 2 5 5 ~15~

BUT_ONLY_IF_IT_CHANGES

 

 

APPEND_COL ~SPELLS.2DA~ ~$ $ 6 12 9~

APPEND_COL ~SPELLS.2DA~ ~$ $ 7 12 9~

APPEND_COL ~SPELLS.2DA~ ~$ $ 8 10 4~

APPEND_COL ~SPELLS.2DA~ ~$ $ 9 6 2~

APPEND_COL ~SPELLS.2DA~ ~$ $ 10 4 2~

 

However I feel this is the wrong way as I'd like to check the column count before hand to make sure it hasn't already been added to. I've tried using COUNT_2DA_COLS but then I get just get errors. Can anyone show me a better way. This is for BG1/Tutu

Link to comment

The SET_2DA_ENTRYs should not be necessary for Tutu, since the BG2 engine default spells.2da has 50 for each entry. Still, if you want to be safe there, you can use:

COPY_EXISTING ~spells.2da~ ~override~
 READ_2DA_ENTRY 1 1 5 ~rw1~
 PATCH_IF (rw1 < 25) BEGIN
SET_2DA_ENTRY 1 1 5 ~25~
 END
 [repeat above 4 lines for each entry]
 COUNT_2DA_COLS ~cls~
BUT_ONLY_IF_IT_CHANGES

ACTION_IF cls < 7 THEN BEGIN
 APPEND_COL ~spells.2da~ ~$ $ 6 12 9~
END
ACTION_IF cls < 8 THEN BEGIN
 APPEND_COL ~spells.2da~ ~$ $ 7 12 9~
END
ACTION_IF cls < 9 THEN BEGIN
 APPEND_COL ~spells.2da~ ~$ $ 8 10 4~
END
ACTION_IF cls < 10 THEN BEGIN
 APPEND_COL ~spells.2da~ ~$ $ 9 6 2~
END
ACTION_IF cls < 11 THEN BEGIN
 APPEND_COL ~spells.2da~ ~$ $ 10 4 2~
END

Note that Tutu has 6th & 7th level entries by default too, so the above code will add 3 columns.

Link to comment

Chances are your errors are due to forgetting that columns are numbered from zero, but COUNT_2DA_COLS begins counting at one - you're absolutely on the right track :) It's a little more verbose than what you've done so far, but something like this ought to do it

COPY_EXISTING spells.2da override
 SET_2DA_ENTRY 1 1 5 ~25~
 SET_2DA_ENTRY 2 1 5 ~15~
 SET_2DA_ENTRY 1 2 5 ~25~
 SET_2DA_ENTRY 2 2 5 ~18~
 SET_2DA_ENTRY 1 3 5 ~23~
 SET_2DA_ENTRY 2 3 5 ~18~
 SET_2DA_ENTRY 1 4 5 ~21~
 SET_2DA_ENTRY 2 4 5 ~15~
 SET_2DA_ENTRY 1 5 5 ~19~
 SET_2DA_ENTRY 2 5 5 ~15~
 COUNT_2DA_COLS cols
 PATCH_IF cols > 6 BEGIN
SET_2DA_ENTRY 1 6 6 ~12~
SET_2DA_ENTRY 2 6 6 ~9~
PATCH_IF cols > 7 BEGIN
  SET_2DA_ENTRY 1 7 7 ~12~
  SET_2DA_ENTRY 2 7 7 ~9~
  PATCH_IF cols > 8 BEGIN
	SET_2DA_ENTRY 1 8 8 ~10~
	SET_2DA_ENTRY 2 8 8 ~4~
	PATCH_IF cols > 9 BEGIN
	  SET_2DA_ENTRY 1 9 9 ~6~
	  SET_2DA_ENTRY 2 9 9 ~2~
	  PATCH_IF cols > 10 BEGIN
		SET_2DA_ENTRY 1 10 10 ~12~
		SET_2DA_ENTRY 2 10 10 ~9~
	  END
	END
  END
END
 END
BUT_ONLY
ACTION_IF cols < 7 THEN BEGIN
 APPEND_COL spells.2da ~$ $ 6 12 9~
END
ACTION_IF cols < 8 THEN BEGIN
 APPEND_COL spells.2da ~$ $ 7 12 9~
END
ACTION_IF cols < 9 THEN BEGIN
 APPEND_COL spells.2da ~$ $ 8 10 4~
END
ACTION_IF cols < 10 THEN BEGIN
 APPEND_COL spells.2da ~$ $ 9 6 2~
END
ACTION_IF cols < 11 THEN BEGIN
 APPEND_COL spells.2da ~$ $ 10 4 2~
END

 

/edit

 

Crossposting party!

Link to comment

Thanks for that snippet. :)

 

Note that Tutu has 6th & 7th level entries
The spell system in Easy Tutu seems strange to me Miloch. I'm I right in thinking that the high level Priest spells from BG2 are available to you as you level up? Also for Wizards you can level up to higher levels than in BG1 but only the spells from BG1 are available?
Link to comment

Yes, Tutu just uses the BG2 engine including the associated tables, so that also makes BG2 spells available.

 

I think Tutu preserves the same XP caps as BG1 (161,000 XP with TotSC), but most people playing mods probably change or remove that cap with the Tweak Pack component. I believe DSotSC also includes a flavour of this (a level 40 cap I think).

 

As for wizards, they could also theoretically learn the BG2 spells if they found any (probably mod-added) BG2 scrolls. And sorcerers should be able to pick those spells too.

Link to comment
I think Tutu preserves the same XP caps as BG1 (161,000 XP with TotSC), but most people playing mods probably change or remove that cap with the Tweak Pack component. I believe DSotSC also includes a flavour of this (a level 40 cap I think).
Maybe I should avoid converting the Level 40 pack. What do you think? Is it worth it for the Tutu version considering the tweaks?

 

Oh there was something I meant to ask you about the Arch Druid in the cloak mine area. Any idea why he was removed in Tutu?

Link to comment

You could just implement the L40 by copying the Tweak code and doing a check to make sure that tweak isn't already installed. It does offer another option, since the tweak offers a cap at L20, L30 and removing it. Plus, there are probably folks who want to play DSotSC without Tweaks.

 

Which archdruid are you talking about? Both Seniyad and Amarande are in Tutu - they're the only ones I'm aware of. I believe DSotSC mods both those guys, as does Fields of the Dead, maybe SCS and other mods. BG1NPC adds another druid (Andarthe) but that shouldn't affect anything.

Link to comment
Which archdruid are you talking about? Both Seniyad and Amarande are in Tutu - they're the only ones I'm aware of. I believe DSotSC mods both those guys, as does Fields of the Dead, maybe SCS and other mods. BG1NPC adds another druid (Andarthe) but that shouldn't affect anything.

 

Compare scripts BG1 AR1800 to TUTU _AR1800

 

ARCHDR is missing from Tutu version unless I've overlooked something. When you enter the mine area he tends to be in the upper half of the area.

Link to comment

This doesn't exist in my installs. DSotSC adds this encounter - check ds/snips/ar1800.baf. Tutu doesn't have the first block with archdr and the bears, but oddly, it has the second block which does not exist in plain BG1/TotSC.

 

The drawback about the original DS not having a unique prefix is that you can't tell the things it adds from the things it changes :help:. Though that should be easy enough to determine by comparing the creatures folder (for example) with the vanilla game resources. You can also tell by looking at the .tp2, as it assigns strings to new resources and just copies (overwrites) the existing ones without using any SAYs.

 

So with both BG1NPC and DS installed, there will be 4 archdruids in Cloakwood, which goes against 2e rules: "Only three archdruids (13th level) can operate in a geographical region" (2e PHB p. 53). But oh well... only a real rules nazi is going to notice that, I guess. I suppose one could be made a Great Druid (14th level), who is unique to the region.

Link to comment

Archived

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

×
×
  • Create New...