Jump to content

NPC Attributes


Guest Guest_Ergopad_*

Recommended Posts

Guest Guest_Ergopad_*

Ah, thanks for pointing out those strength requirements. I must go through changes again to see those things. It was surprisingly easy to mod with weidu. :fish:

 

And that Dudleyville show very remarkable bugs in NPCs saving throws, spells and abilities. Are those changes already in some mod or should I install dudleyville to my original BG1 and then install easytutu?

Link to comment
Ah, thanks for pointing out those strength requirements. I must go through changes again to see those things. It was surprisingly easy to mod with weidu. :fish:
Easier than most people realise.
And that Dudleyville show very remarkable bugs in NPCs saving throws, spells and abilities. Are those changes already in some mod or should I install dudleyville to my original BG1 and then install easytutu?
If you installed it on EasyTutu it'd have no effect since EasyTutu uses its own resources for the most part. I don't think it'd "ruin" your install as Domi says, but I wouldn't recommend it. You can install it on BG1 before BG1Tutu v4, but there is one "fix" that would have to be reversed (having to do with getting to Ulgoth's Beard) if you did that, since it's bugged.

 

Anyway, it's not in any WeiDU mod. We were looking at it for the BG1 Fixpack but I don't think we ever got that far. If you wanted to write one I'm sure you'd be very well-respected :O.

Link to comment
Guest Guest_Ergopad_*

I'd like to do atleast some of the fixes, to NPCS, but first I'd like to know, what bugs are fixed already in BGtutu, like missing weapon proficiencies perhaps? I've noticed, that atleast the innate abilities are missing (Kivan's Charm Animal for example). Are the saving throw bonuses missing from certain NPCs?

Link to comment
Guest Guest_Ergopad_*

So far I've been made the fixes to saving throws, max HP, lore and thac0.

 

Now I'm adding missing innate abilities.

 

Here's my example code:

 

	
COPY_EXISTING_REGEXP GLOB ~^_?khalid4.cre$~ ~override~
PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
  WRITE_BYTE 0x66 4		// Lore
END
BUT_ONLY_IF_IT_CHANGES

 

Now, can I just do it by adding following line before "END":

 

	ADD_MEMORIZED_SPELL ~SPIN108~ #0 ~priest~ ( 1 )

 

Or how can I add new innate abilities to cre file?

Link to comment
Guest Guest_Ergopad_*

I actually registered, but the activation got f*cked up, so I gave up.

 

Do I have to add "ADD_KNOWN_SPELL ~SPIN108~ #0 ~innate~" or something? Or will the innate ability restore, when I rest?

Link to comment
I actually registered, but the activation got f*cked up, so I gave up.
You should still be able to log on with whatever name you chose, and there should be a "Resend Validation" link up at the top.
Do I have to add "ADD_KNOWN_SPELL ~SPIN108~ #0 ~innate~" or something? Or will the innate ability restore, when I rest?
ADD_MEMORIZED_SPELL includes ADD_KNOWN_SPELL. In other words, it'll add it to his "known" list if it isn't already, otherwise it'll just memorise it. So you don't need ADD_KNOWN_SPELL unless you want him to "know" it but not memorise it.

 

Also, it's better to avoid regexp when you're only editing a few known files. It's slow and imprecise. I know you're probably borrowing from Tweaks etc., but WeiDU techniques have improved a bit since they were written. So just hardcode:

COPY_EXISTING ~%tsu%khalid.cre~ ~override~
				   ~%tsu%khalid4.cre~ ~override~
				   ~%tsu%khalid6.cre~ ~override~
 WRITE_BYTE 0x66 4 // Lore
 ADD_MEMORIZED_SPELL ~SPIN108~ #0 ~innate~
BUT_ONLY_IF_IT_CHANGES

This is just an example, since his lore would be different at each level, so you'd have to do it separately.

 

The %tsu% is a variable to represent a _ in Tutu and is set to null ~~ for BGT and BG1. That'll go at the beginning of the mod in an ACTION_IF statement (you can worry about that later though).

 

Edit: Also, I can pretty much guarantee that zero (or close to zero) of these bugs are fixed in Tutu. Tutu incorporates Baldurdash and the BG2 Fixpack (for spells mainly) but nothing out of Dudleyfix. And it uses the BG2 proficiency system, so maybe it corrected some of those but I wouldn't bet on it. It gave a lot of NPCs really different and irrational proficiencies which could probably be restored to BG1, closer than they are now anyhow. That's also true for BGT (though to a lesser extent) in which they get even different proficiencies. Khalid had a long sword and shield in BG1, not two bastard swords.

Link to comment
Guest Guest_Ergopad_*

Here's tp2 file of my mod:

NPCStats

 

Would you check it out? I run it with weidu.exe and it seem to things the way I liked...

 

I need to change "COPY_EXISTING_REGEXP GLOB" to "COPY_EXISTING" still, but generally it should work pretty nicely. Is that "%tsu%" as "_"-char?

Link to comment
Guest Guest_Ergopad_*

How can I do the wildcard thing, so I can accept certain list of characters in specific position (0...9 as in below) with COPY_EXISTING command?

 

For example, how can I change this to COPY_EXISTING? Or should I stick with this?

 

COPY_EXISTING_REGEXP GLOB ~^_?eldoth[0-9]*\.cre$~ ~override~

 

I need that for attribute changes, so I don't have to go through all the files one by one. :fish:

Link to comment

I didn't install it (not really on a computer I can test right now) but it looks good. And some people think modding is difficult (no, just time-consuming) :fish:.

 

If you've done all that, you might as well check the rest of the Dudley stuff and the Tutu proficiencies. You can set those with the SET_BG2_PROFICIENCY command in WeiDU. If the same proficiency is already set, it'll just clear it out and reset it.

 

You can copy several CREs at once, like in the example I gave above for Khalid. Just pass the source and target locations in pairs (the target can always be ~override~ for everything).

 

And just add this to the top, after the BEGIN:

ACTION_IF FILE_EXISTS_IN_GAME ~fw0125.are~ THEN BEGIN //If Tutu
 OUTER_SPRINT tsu ~_~ //Set underscore
END ELSE BEGIN
 OUTER_SPRINT tsu ~~ //Otherwise not
END

Then when you use the %tsu% before khalid.cre or whatever, it'll pick up the underscore if you're on Tutu, otherwise not.

 

Edit: If you want to remove a proficiency before setting a different one, use the DELETE_CRE_EFFECT macro.

COPY_EXISTING ~blahblah.cre~ ~override~
 SET opcode_to_delete = 233
 LAUNCH_PATCH_MACRO DELETE_CRE_EFFECT
BUT_ONLY

This will remove all proficiencies unfortunately, but it's easy to set them all as you like with SET_BG2_PROFICIENCY.

Link to comment

Well, it's kind of time consuming, but I've got used to it with Symbian. :O

 

I think it would be wisest to add components for different styles for NPCs, atleast for those who are not so clear.

 

I've done everything else, from Dudleyville's fixes (for NPCs), except the proficiencies and spellslots. Which leads to a new question: How can I alter the number of memorizable spellslots per level?

 

And Dudleyville's fixes have changed the memorized spells, for druids/clerics, and I've been wondering, if they are fixed in BGtutu, since it uses BG2 spell lists...? For wizards and bards, there is no problem with that, since they can learn the spells from scrolls.

 

And I've been thinking, if I do the attribute changes, for intelligence and wisdom, do they alter the lore, or is it the base lore that can be found from cre-file?

 

But ok, I'll continue with the fixes. You have been very helpful, thanks mate. :fish:

Link to comment

Archived

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

×
×
  • Create New...