BG(2)EE Identifiers

Relates to offset 0x0026 in the SPL file format, offset 0x002A in the ITM file format, and offset 0x00A0 in the V2 EFF file format.

IDS V1.0
0x0001 ARROW
0x0002 ARROWEX
0x0003 ARROWFLM
0x0004 ARROWHVY
0x0005 ARROW
0x0006 AXE
0x0007 AXEEX
0x0009 AXE
0x000A AXE
0x000B BOLT
0x000C BOLTEX
0x000E BOLT
0x000F BOLT
0x0010 BULLET
0x0011 BULLETEX
0x0013 BULLET
0x0014 BULLET
0x0016 SKYBOLT
0x0017 CHROMORB
0x001A DAGGER
0x001B DAGGEREX
0x001D DAGGER
0x001E DAGGER
0x001F DART
0x0020 DARTEX
0x0022 DART
0x0023 DART
0x0024 MAGICMIS
0x0025 FIREBALL
0x0027 LIGHTB
0x0028 STONE
0x0029 SLEEP
0x002E SPARKLBL
0x002F SPARKLGO
0x0030 SPARKLPU
0x0031 SPARKLIC
0x0032 SPARKLST
0x0033 SPARKLBK
0x0034 SPARKLCH
0x0035 SPARKLRE
0x0036 SPARKLGR
0x0037 SPEAR
0x0038 SPEAREX
0x003A SPEAR
0x003B SPEAR
0x003F WEB
0x0040 GAZE
0x004F FIREBOLT
0x005B FIRESTOR
0x005C LIGHTSTO
0x005D INAREA
0x005E CLOUD
0x005F TRAPSKUL
0x0061 ICESTORM
0x0063 TRAPGLYP
0x0064 GREASE
0x0065 ARROWFLG              
0x0066 ARROWFLB               
0x0067 FIREBLGR
0x0068 FIREBTBL
0x006B ACIDBLOB
0x006C SCORCHER
0x006E CGNECROM
0x006F CGALTERA
0x0070 CGENCHAN
0x0071 CGABJURA
0x0072 CGILLUSI
0x0073 CGCONJUR
0x0074 CGINVOCA
0x0075 CGDIVINA
0x0094 SPKLARBL
0x0095 SPKLARGO
0x0096 SPKLARPU
0x0097 SPKLARIC
0x0098 SPKLARST
0x0099 SPKLARBK
0x009A SPKLARCH
0x009B SPKLARRE
0x009C SPKLARGR
0x009D INAREAPA
0x009E INAREANP
0x009F SPARBLPA  
0x00A0 SPARGOPA  
0x00A1 SPARPUPA  
0x00A2 SPARICPA  
0x00A3 SPARSTPA  
0x00A4 SPARBKPA  
0x00A5 SPARCHPA  
0x00A6 SPARREPA  
0x00A7 SPARGRPA  
0x00A8 SPARBLNP  
0x00A9 SPARGONP  
0x00AA SPARPUNP  
0x00AB SPARICNP  
0x00AC SPARSTNP  
0x00AD SPARBKNP  
0x00AE SPARCHNP  
0x00AF SPARRENP  
0x00B0 SPARGRNP  
0x00B1 SPARMANP  
0x00B2 SPARORNP  
0x00B3 SPARMAPA  
0x00B4 SPARORPA  
0x00B5 SPKLARMA
0x00B6 SPKLAROR
0x00B7 SPARKLMA
0x00B8 SPARKLOR
0x00B9 INAREANS
0x00BA CLOUDKIL
0x00BB ARROWFLI                     
0x00BD HOLD
0x00BF ACIDBLMU
0x00C0 ACIDBLGR
0x00C1 ACIDBLOC
0x00CB FIREBLIC
0x00CC INAREASM
0x00CD LIGHTGRN
0x00CE LIGHTNB
0x00D0 SPBEHBLA
0x00D1 HOLDNECR
210 FIREBLNS
211 INAREANS
212 LIGHTCHA
213 TRAPSNAR
214 SMLLAREA
215 SMLLARNC
216 TRAPGLPN
217 SMLLNPC
218 SPGREORB
220 SPATTCK2
221 INMED
222 CLOUDPC
223 GOLCLOUD
224 ICEGLYP
225 BOLT2
226 INSEC1
227 INSEC2
228 METSWARM
229 INSEC3
230 ICGHIT
231 INSEC4
232 PSPEART
233 PFIRE2
234 PSKULLT
235 PCOMETT
236 PWILT
237 PFIELD
238 SAFEFIRE
239 TSKULLNP
240 NEWBOLT1
242 ENTANG2
243 DFIREBL
244 TRAPDART
245 DRAGRED
246 DRAGBLCK
247 DRAGSILV
248 CSPRAY
249 CONECOLD
250 PHOLYST
251 PUNHLST
252 PSPRAY
253 BIGNAREA
255 REDHIT
256 RDMIDDLE
257 PFIRE3
258 HOLDNECR
259 WEB1P
260 HOLYAREA
261 UNLYAREA
262 HOLDSUMM
263 BULLET2
264 STRMVENG
265 COMET
266 TRAPSPIK
267 TRAPTIME
268 TRAPBOOM
269 SPDRBRTH
270 SPENBLD
271 DRAGGREE
272 GREEHIT
273 ohdetevl
274 1PGSPORE
275 1PMANEGS
276 1PDEATHF
277 1PINCIND
278 1PICECLD
279 1PSLEEPC
280 1STAFM1
281 1STAFM0
282 1STAFM0C
283 1arow01
284 1arow02
285 1arow03
286 1arow04
287 1arow05
288 1arow07
289 1arow10
290 1arow11
291 1arow15
292 1axe05
293 1axe08
294 1axe09
295 1axe10
296 1axe16
297 1bolt01
298 1bolt02
299 1bolt03
300 1bolt04
301 1bolt05
302 1bolt06
303 1bolt09
304 1bull02
305 1bull03
306 1bull04
307 1bull05
308 1bull06
309 1dagg05
310 1dagg11
311 1dagg12
312 1dagg16
313 1dart01
314 1dart02
315 1dart03
316 1dart04
317 1dart05
318 1dart08
319 webtrav
320 cdbehbla
321 ddbreat
322 SPCL236
323 SPCL239
324 ohcl937
325 ohsymbol
326 ohrrock
327 aura10ns
328 aura10pa
329 wildzone
330 ohbicew
331 writhing
332 BDSPFIRE
333 BDETHRET
334 cddrblck
335 cddrsilv
336 ohvrpo
337 ohvrnp
338 BGLRY
339 FDAWN
340 BURNHAND
341 INVIS10
342 BDWOFOG
343 RANGE05
344 RANGE07
345 RANGE10



Info: The following are unlisted in PROJECTL.IDS, but are hardcoded: they have a projectile, just no resource to list, and most will ignore any entry in PROJECTL.IDS for their index anyway:

PROJECTL.IDS index: MISSILE.IDS label

#0: None
#21: Burning_Hands
#24: Cone_Of_Cold
#25: Cone_Of_Fire
#44: Smoke_Large
#65: Holy_Might (can be overwritten)
#66: Flame_Strike (can be overwritten)
#67 – #77: Magic_Missile_1 – Magic_Missile_11
#78: Invisible_Traveling
#80 – #90: Call_Lightning_Chain_1 – Call_Lightning_Chain_11
#96: Color_Spray
#109: Travel_Door
#118 – #148: Projectiles used by opcode 141 "Hit_(school)_(element)", "Hit_(Mushroom/Shaft/Swirl)_(Color)"
#188: Cow
#190: Scorcher_Ice
#194: Red_Holy_Might
#195 – #202: "Hit_(school)_Area"
#207: Hit_Finger_Of_Death
#241: Pillar_Of_Light
#254: Holylight_Pillar
Note: The rest of the unlisted (skipped) PROJECTL.IDS entries are just missing (no hardcoded projectile):

PROJECTL.IDS index: MISSILE.IDS label

#8: Axe_Flaming
#18: Bullet_Flaming
#28: Dagger_Flaming
#33: Dart_Flaming
#38: Ice_Fragments
#42: Skeleton_Animation
#43: Smoke_Ball
#45: Smoke_Large
#57: Spear_Flaming
#60: Star_Sprite
#61: Stoned
#62: Web_Travel
#98: Fire_Wall
#105: Potion
#106: Potion_Exploding
#219: Lightning_Bolt_No_Bounce


You can treat any unlisted, unhardcoded value as being functionally identical to projectile #1|None, except in respects to opcode #83/opcode #197 – but it would always be better to add a new custom projectile rather than using an unlisted entry if a functional duplicate of projectile #1|None was needed.
Note: A special note about what Near Infinity labels as Projectile #0|Default.
  • Normally, the index for that Projectile, in PROJECTL.IDS is -1 // 0xffffffff. It is simply an unlisted entry, no different from using projectile #357343 (some random unlisted value).
  • Adding an entry for it will cause the game to use that entry like any other projectile, except when it's in the subspell cast by one of these opcodes (326/333/146*p2=2), where it does the following:
    • The impact projectile is replaced with projectile #1|None.
    • The target of the opcode (326/333/146*p2=2) that cast the subspell becomes the target of any Original Caster effects in the subspell.
In short – don’t use projectile #0|Default in subspells, use projectile #1|None.