Jump to content


Photo

STATS.IDS conflicts


  • Please log in to reply
1 reply to this topic

#1 Leonardo Watson

Leonardo Watson
  • Modder
  • 531 posts

Posted 23 March 2015 - 06:04 AM

IDS files allow a symbolic identifier to be used instead of a literal number. At compile-time the references contained in script files (BCS) are replaced with the actual value. The data within IDS files can affect the game, and it is important that the data is consistent.
However, in a megamod many of these identifiers are changed by other mods around a dozen times. At last we will get the identifiers from that mod that changed the STATS.IDS last. This will vary from megamod to megamod depending on the selected mods.

The original STATS.IDS shipped with the game includes this:

116 EXTRAPROFICIENCY2
117 EXTRAPROFICIENCY3
118 EXTRAPROFICIENCY4
119 EXTRAPROFICIENCY5
120 EXTRAPROFICIENCY6
121 EXTRAPROFICIENCY7
122 EXTRAPROFICIENCY8
123 EXTRAPROFICIENCY9
124 EXTRAPROFICIENCY10
125 EXTRAPROFICIENCY11
126 EXTRAPROFICIENCY12
127 EXTRAPROFICIENCY13
128 EXTRAPROFICIENCY14
129 EXTRAPROFICIENCY15
130 EXTRAPROFICIENCY16
131 EXTRAPROFICIENCY17
132 EXTRAPROFICIENCY18
133 EXTRAPROFICIENCY19
134 EXTRAPROFICIENCY20


These identifiers are changed by other mods (among others by stratagems) into:

116 WIZARD_SPELL_DEFLECTION
117 PROTECTION_FROM_EVIL
118 TRUE_SIGHT
119 CLERIC_CHAOTIC_COMMANDS
120 CLERIC_INSECT_PLAGUE
121 CLERIC_BLADE_BARRIER
122 CLERIC_PHYSICAL_MIRROR
123 CLERIC_SHIELD_OF_THE_ARCHONS
124 CLERIC_REGENERATION
125 WIZARD_FIRE_SHIELD
126 WIZARD_PROTECTION_FROM_MAGIC_ENERGY
127 WIZARD_MISLEAD
128 WIZARD_PROTECTION_FROM_MAGIC_WEAPONS
129 WIZARD_SPELL_TURNING
130 WIZARD_PROTECTION_FROM_THE_ELEMENTS
131 CLERIC_FREE_ACTION
132 WIZARD_KHELBENS_WARDING_WHIP
133 CLERIC_DEFENSIVE_HARMONY


The same is with the lines:

160 SCRIPTINGSTATE5
161 SCRIPTINGSTATE6
162 SCRIPTINGSTATE7
163 SCRIPTINGSTATE8
164 SCRIPTINGSTATE9
165 SCRIPTINGSTATE10
166 MELEETHAC0MOD
167 MELEEDAMAGE
168 MISSILEDAMAGE
169 NOCIRCLE
170 FISTTHAC0
171 FISTDAMAGE
172 TITLE1
173 TITLE2
174 DISABLEOVERLAY
175 DISABLEBACKSTAB
176 LOCKPICKINGCP
177 STEALTHCP
178 TRAPSCP
179 PICKPOCKETCP
180 HIDEINSHADOWSCP
181 DETECTILLUSIONSCP
182 SETTRAPSCP
183 ENABLEOFFSCREENAI
184 EXISTANCESOUND
185 HASTE
186 DISABLECHUNKYDEATH
187 DISABLETURNUNDEAD

Many mods replace them with:

161 WIZARD_SPELL_DEFLECTION
162 WIZARD_SPELL_TURNING
163 WIZARD_PROTECTION_FROM_ENERGY
164 WIZARD_SPELL_TRAP
165 WIZARD_IMPROVED_ALACRITY
166 PROTECTION_FROM_EVIL
167 TRUE_SIGHT
168 CLERIC_CHAOTIC_COMMANDS
169 CLERIC_MAGIC_RESISTANCE
170 CLERIC_INSECT_PLAGUE
171 CLERIC_BLADE_BARRIER
172 CLERIC_PHYSICAL_MIRROR
173 CLERIC_SHIELD_OF_THE_ARCHONS
174 CLERIC_REGENERATION
175 CLERIC_CREEPING_DOOM
176 WIZARD_PROTECTION_FROM_PETRIFICATION
177 WIZARD_SPELL_SHIELD
178 WIZARD_RESIST_FEAR
179 WIZARD_PROTECTION_FROM_NORMAL_MISSILES
180 WIZARD_GREATER_MALISON
181 WIZARD_PROTECTION_FROM_NORMAL_WEAPONS
182 WIZARD_TENSERS_TRANSFORMATION
183 WIZARD_PROTECTION_FROM_MAGIC_ENERGY
184 WIZARD_MISLEAD
185 WIZARD_PROTECTION_FROM_MAGIC_WEAPONS
186 WIZARD_SPELL_IMMUNITY
187 WIZARD_PROTECTION_FROM_THE_ELEMENTS

Much more confusing - stratagems and a few other mods replace them again with:

166 DMWW_SLOT_166
167 DMWW_SLOT_167
168 DMWW_SLOT_168
169 DMWW_SLOT_169
170 DMWW_SLOT_170
171 DMWW_SLOT_171
172 DMWW_SLOT_172
173 DMWW_SLOT_173
174 DMWW_SLOT_174
175 DMWW_SLOT_175
176 WIZARD_PROTECTION_FROM_PETRIFICATION
177 WIZARD_SPELL_SHIELD
178 WIZARD_RESIST_FEAR
179 WIZARD_PROTECTION_FROM_NORMAL_MISSILES
180 WIZARD_GREATER_MALISON
181 WIZARD_PROTECTION_FROM_NORMAL_WEAPONS
182 WIZARD_TENSERS_TRANSFORMATION
183 DMWW_SLOT_183
184 DMWW_SLOT_184
185 DMWW_SLOT_185
186 DMWW_SLOT_186
187 DMWW_SLOT_187

So for the following numbers we get up to four various entries:

109 CLERIC_HALLOW
109 PROFICIENCYGUN
109 WEAPON_ENCHANTMENT

110 CLERIC_ARMOR_OF_FAITH
110 PROFICIENCYMARTIALARTS


116 EXTRAPROFICIENCY2
116 WIZARD_SPELL_DEFLECTION

117 EXTRAPROFICIENCY3
117 PROTECTION_FROM_EVIL

118 EXTRAPROFICIENCY4
118 TRUE_SIGHT

119 CLERIC_CHAOTIC_COMMANDS
119 EXTRAPROFICIENCY5

120 CLERIC_INSECT_PLAGUE
120 EXTRAPROFICIENCY6

121 CLERIC_BLADE_BARRIER
121 EXTRAPROFICIENCY7

122 CLERIC_PHYSICAL_MIRROR
122 EXTRAPROFICIENCY8

123 CLERIC_SHIELD_OF_THE_ARCHONS
123 EXTRAPROFICIENCY9

124 CLERIC_REGENERATION
124 EXTRAPROFICIENCY10

125 EXTRAPROFICIENCY11
125 WIZARD_FIRE_SHIELD

126 EXTRAPROFICIENCY12
126 WIZARD_PROTECTION_FROM_MAGIC_ENERGY

127 EXTRAPROFICIENCY13
127 WIZARD_MISLEAD

128 EXTRAPROFICIENCY14
128 WIZARD_PROTECTION_FROM_MAGIC_WEAPONS

129 EXTRAPROFICIENCY15
129 WIZARD_SPELL_TURNING

130 EXTRAPROFICIENCY16
130 WIZARD_PROTECTION_FROM_THE_ELEMENTS

131 CLERIC_FREE_ACTION
131 EXTRAPROFICIENCY17

132 EXTRAPROFICIENCY18
132 WIZARD_KHELBANS_WARDING_WHIP

133 CLERIC_DEFENSIVE_HARMONY
133 EXTRAPROFICIENCY19

134 EXTRAPROFICIENCY20
134 LEVELDRAIN


161 SCRIPTINGSTATE6
161 WIZARD_SPELL_DEFLECTION

162 SCRIPTINGSTATE7
162 WIZARD_SPELL_IMMUNITY

163 SCRIPTINGSTATE8
163 WIZARD_PROTECTION_FROM_ENERGY

164 SCRIPTINGSTATE9
164 WIZARD_SPELL_TRAP

165 SCRIPTINGSTATE10
165 WIZARD_IMPROVED_ALACRITY

166 DMWW_SLOT_166
166 MELEETHAC0MOD
166 PROTECTION_FROM_EVIL
166 SCRIPTINGSTATE11

167 DMWW_SLOT_167
167 MELEEDAMAGE
167 SCRIPTINGSTATE12
167 TRUE_SIGHT

168 CLERIC_CHAOTIC_COMMANDS
168 DMWW_SLOT_168
168 MISSILEDAMAGE
168 SCRIPTINGSTATE13

169 CLERIC_MAGIC_RESISTANCE
169 DMWW_SLOT_169
169 NOCIRCLE
169 SCRIPTINGSTATE14

170 CLERIC_INSECT_PLAGUE
170 DMWW_SLOT_170
170 FISTTHAC0

171 CLERIC_BLADE_BARRIER
171 DMWW_SLOT_171
171 FISTDAMAGE
171 SCRIPTINGSTATE16

172 CLERIC_PHYSICAL_MIRROR
172 DMWW_SLOT_172
172 SCRIPTINGSTATE17
172 TITLE1

173 CLERIC_SHIELD_OF_THE_ARCHONS
173 DMWW_SLOT_173
173 SCRIPTINGSTATE18
173 TITLE2

174 CLERIC_REGENERATION
174 DISABLEOVERLAY
174 DMWW_SLOT_174

175 CLERIC_CREEPING_DOOM
175 DISABLEBACKSTAB
175 DMWW_SLOT_175

176 LOCKPICKINGCP
176 WIZARD_PROTECTION_FROM_PETRIFICATION

177 STEALTHCP
177 WIZARD_SPELL_SHIELD

178 TRAPSCP
178 WIZARD_RESIST_FEAR

179 PICKPOCKETCP
179 WIZARD_PROTECTION_FROM_NORMAL_MISSILES

180 HIDEINSHADOWSCP
180 WIZARD_GREATER_MALISON

181 DETECTILLUSIONSCP
181 WIZARD_PROTECTION_FROM_NORMAL_WEAPONS

182 SETTRAPSCP
182 WIZARD_TENSERS_TRANSFORMATION

183 DMWW_SLOT_183
183 ENABLEOFFSCREENAI
183 WIZARD_PROTECTION_FROM_MAGIC_ENERGY

184 DMWW_SLOT_184
184 EXISTANCESOUND
184 WIZARD_MISLEAD

185 DMWW_SLOT_185
185 HASTE
185 WIZARD_PROTECTION_FROM_MAGIC_WEAPONS

186 DISABLECHUNKYDEATH
186 DMWW_SLOT_186
186 WIZARD_SPELL_IMMUNITY

187 DISABLETURNUNDEAD
187 DMWW_SLOT_187
187 WIZARD_PROTECTION_FROM_THE_ELEMENTS


134 EXTRAPROFICIENCY20 is changed into 134 LEVELDRAIN by Rukrakia which is obviously wrong because this is the only mod that uses 134 for LEVELDRAIN, all the other mods use 200 for LEVELDRAIN. Rukrakia instead adds the line 200 LEVELDRAIN_WRONG.


Dependent on the insalled mods in the STATS.IDS sometimes are either the one or another symbolic identifiers listed, occasionally there are different identifiers be associated with one numberat the same time and another time some of them are missing.
So how could the engine know what is the right identifier to allocate to the number?
Will there be a mismatch because of the different relations?
How to fix that?
 



#2 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 23 March 2015 - 06:42 AM

Dependent on the insalled mods in the STATS.IDS sometimes are either the one or another symbolic identifiers listed, occasionally there are different identifiers be associated with one numberat the same time and another time some of them are missing.
So how could the engine know what is the right identifier to allocate to the number?
Will there be a mismatch because of the different relations?
How to fix that?
Well the extraproficiencies(the numbers 116-134) are not used in the game, as the player is never given the interface to put points to them, so the Detectable Spells (which is an AI support structure mod that most AI mods today mostly use, like the SCS, RR, aTweaks ... aTweaks is rumored to have the last one, so it's installed last for that) uses those proficiencies as a markers for different spells being applied to the creature. The rest are likely similar features, but more than duplicate entries are likely to confuse some of the AI's. So going and ask if this behavior is intended in each is desirable... yes that's a lot of work to sort those out, but it is beneficial for the whole community- and yes, you should mark down everyone of the mods that add the line, and then give those mods that knowledge.
One thing you should notice is that removing any of those entries will make larger bad effect than having all of them in the game.
But avoiding doubles is a good thing, unless you like the Liches that go full on melee and such.

Edited by The Imp, 14 April 2015 - 11:55 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.