That was me.
King Diamond, that STAT.IDS is the key to the AI in BP. The entries I converted were carefully documented and tested by Avenger (maker of
DLTCEP) and I. Several spells have special effects added to them to set these values on casters, victims, beneficiaries, etc. For an amount of time that equals the spell duration. Spells like Dispel Magic reset the values of certain spells (like Stoneskins, Minor Globes, etc--the particulars that they dispel).
What is the advantage of "all this madness". Spells and spell effects are now detectable in scripts--many dozen that were not so, formerly. You can consequently script somebody's reaction according to this data. This obviously makes opponents for more intelligent, and dynamic. If you want a full documented version of my changes to STATS.IDS, download the BP Detectable Stats package from my BP Yahoo site. It will explain more, I think.
And why did I change 200 to 134? Because 200 was tested as non-functional! That IDS file you refer to came out from the modders of the day. (I believe the scripting pinoeer Kensai Ryu was the original maker of that IDS file). Even Bioware did not know everything that STATS.IDS was set up for by the engine programmers. I confirmed this with David Gaider, when he gave me permission to add Ascension directly into BP (I'd still have a copy of the email, if TeamBG hadn't shut down). He also gave me permission to make whatever changes and improvements I felt necessary. And, after testing several of the slots from the STATS.IDS files, I found that several that were in use (by Ascension, and many other modders even to date) were either disfunctional or "quirky". One of them, 167 if I remember, would cause the foot circle animation to disappear if set to 1 by the ModifyProficiencies effect in a spell. Modify Proficiencies is how you set values in STATS.IDS; you could use SetScriptingState for some--but it turns out many of the available ones were the quirky slots I mentioned earlier! (Quirky slots correspond DIRECTLY to effects opcodes, by the way...) NTM--zero started at where SCRIPTINGSTATE1 is right now, and could only be set up to 35. Scripting States above 35 did avbsolutely NOTHING. Do the math--156 plus 35 is what? Less than 200. I left that 199 STONESKINSGOLEM in there "just for the halibut"--it's not harming thing, it's not doing anything, I saw no use for it elsewhere (every valid slot is filled now). A check for LEVELDRAIN, however, was a valuable check. So, I moved it to a working slot.
I'm sure you can see the uses of adding spells to SPELLS.IDS. It's not necessary--you can also refer to the spell by SpellRes--but it looks "prettier" this way. ;D Kits.IDS? Those changes are linked to documented hexidecimal opstrings as well. The ones Bioware released didn't work. That's okay--they weren't even using them in their AI, hehe.
Using the KIT.IDS entire as they stand in BP (and TS, and
NeJ) is what actually gives an outside chance of making the
TDD kits work as they are written. If you look closely, I make some of those kits function by combination of spells, scripts, and even IDS entries and script-activated effects (vvc's also). Shining example of the new KITS.IDS in action: look for the Anti-paladin code in the top of BALDUR.BCS.
Need a good example of STATS.IDS in action? Open up GPMAGE1.BCS, and see what I did there. You'll see a lot of other modified IDS (IDentifierS) at work there too. Doing things that would be utterly impossible without them.
Edited by horred the plague, 01 March 2005 - 03:20 PM.