splprot.2da

This file defines target groups based on certain stats.
The first column contains the row name which is ignored by the engine.
The second column defines a value from STATS.IDS if < 0x100 or a pseudo stat. See below for more information.
The meaning of the values of the third and fourth column depend on the STAT value.

In BG2EE we have:

2DA V1.0
0xffff
STAT VALUE RELATION
0_EA>=0 0x10a 0 4
1_GENERAL=UNDEAD 0x10b 4 1
2_GENERAL!=UNDEAD 0x10b 4 5
3_STAT(RESISTFIRE)>=100 14 100 4
4_STAT(RESISTFIRE)<100 14 100 2
5_GENERAL=HUMANOID 0x10b 1 1
6_GENERAL!=HUMANOID 0x10b 1 5
7_GENERAL=ANIMAL 0x10b 2 1
8_GENERAL!=ANIMAL 0x10b 2 5
9_RACE=ELEMENTAL 0x10c 145 1
10_RACE!=ELEMENTAL 0x10c 145 5
11_RACE=MYCONID 0x10c 164 1
12_RACE!=MYCONID 0x10c 164 5
13_PERSONALSPACE>3 0x102 3 3
14_PERSONALSPACE<=3 0x102 3 0
15_RACE=ELF 0x10c 2 1
16_RACE!=ELF 0x10c 2 5
17_RACE=UMBERHULK 0x10c 130 1
18_RACE!=UMBERHULK 0x10c 130 5
19_RACE=HALF_ELF 0x10c 3 1
20_RACE!=HALF_ELF 0x10c 3 5
21_ENTRIES=(5||7) 0x103 5 7
22_ENTRIES!=(5||7) 0x104 5 7
23_STATEBITS=STATE_BLIND 0x111 0x40000 8
24_STATEBITS!=STATE_BLIND 0x111 0x40000 9
25_STAT(RESISTCOLD)>=100 15 100 4
26_STAT(RESISTCOLD)<100 15 100 2
27_RACE=GOLEM 0x10c 144 1
28_RACE!=GOLEM 0x10c 144 5
29_RACE=MINOTAUR 0x10c 171 1
30_RACE!=MINOTAUR 0x10c 171 5
31_ENTRIES=(1||11) 0x103 1 11
32_ENTRIES!=(1||11) 0x104 1 11
33_ALIGNMENTBITS=MASK_GENEUTRAL 0x110 2 9
34_ALIGNMENTBITS!=MASK_GENEUTRAL 0x110 2 8
35_ALIGNMENTBITS=MASK_GOOD 0x110 1 9
36_ALIGNMENTBITS!=MASK_GOOD 0x110 1 8
37_ALIGNMENTBITS>=MASK_EVIL 0x110 3 7
38_ALIGNMENTBITS<MASK_EVIL 0x110 3 11
39_CLASS=PALADIN 0x10d 6 1
40_CLASS!=PALADIN 0x10d 6 5
41_MORALALIGNMENT_MATCHESCASTER 0x105 217 1
42_!MORALALIGNMENT_MATCHESCASTER 0x105 217 5
43_SOURCE 0x100 * *
44_!SOURCE 0x101 * *
45_SPECIFIC=150 0x10e 150 1
46_SPECIFIC!=150 0x10e 150 5
47_ENTRIES=(31||27) 0x103 31 27
48_ENTRIES!=(31||27) 0x104 31 27
49_ALLIES 0x113 1 1
50_!ALLIES 0x113 1 5
51_ENEMIES 0x114 1 1
52_!ENEMIES 0x114 1 5
53_ENTRIES=(3||25) 0x103 3 25
54_ENTRIES!=(3||25) 0x104 3 25
55_ENTRIES=(1||27) 0x103 1 27
56_ENTRIES!=(1||27) 0x104 1 27
57_GENDER=MALE 0x10f 1 1
58_GENDER!=MALE 0x10f 1 5
59_ALIGNMENTBITS=MASK_LCNEUTRAL 0x110 0x20 9
60_ALIGNMENTBITS!=MASK_LCNEUTRAL 0x110 0x20 8
61_ALIGNMENTBITS>=MASK_CHAOTIC 0x110 0x30 7
62_ALIGNMENTBITS<MASK_CHAOTIC 0x110 0x30 11
63_EVASIONCHECK 0x109 * *
64_RACE=ORC 0x10c 143 1
65_RACE!=ORC 0x10c 143 5
66_SPLSTATE=DEAFENED 0x112 38 1
67_SPLSTATE!=DEAFENED 0x112 38 5
68_SPLSTATE=MOLD_TOUCH 0x112 46 1
69_SPLSTATE!=MOLD_TOUCH 0x112 46 5
70_SPLSTATE=STATIC_CHARGE 0x112 116 1
71_SPLSTATE!=STATIC_CHARGE 0x112 116 5
72_SPLSTATE=SHROUD_OF_FLAME 0x112 47 1
73_SPLSTATE!=SHROUD_OF_FLAME 0x112 47 5
74_GENERAL=DEAD 0x10b 3 1
75_GENERAL!=DEAD 0x10b 3 5
76_SPLSTATE=n 0x112 -1 1
77_STAT(RESISTPOISON)>=100 74 100 4
78_STAT(RESISTPOISON)<100 74 100 2
79_STAT(RESISTACID)>=100 17 100 4
80_STAT(RESISTACID)<100 17 100 2
81_STAT(RESISTELECTRICITY)>=100 16 100 4
82_STAT(RESISTELECTRICITY)<100 16 100 2
83_STAT(MAGICDAMAGERESISTANCE)>=100 73 100 4
84_STAT(MAGICDAMAGERESISTANCE)<100 73 100 2
85_RACE=ANKHEG 0x10c 101 1
86_RACE!=ANKHEG 0x10c 101 5
87_RACE=LICH 0x10c 150 1
88_RACE!=LICH 0x10c 150 5
89_TIMEOFDAY=6-20 0x107 6 20
90_TIMEOFDAY=21-5 0x107 21 5
91_STATEBITS=STATE_PANIC 0x111 0x00000004 8
92_STATEBITS!=STATE_PANIC 0x111 0x00000004 9
93_UNUSED * * *
94_UNUSED * * *
95_UNUSED * * *
96_UNUSED * * *
97_UNUSED * * *
98_UNUSED * * *
99_UNUSED * * *
100_UNUSED * * *
101_UNUSED * * *
102_EA=n 0x10a -1 1
103_GENERAL=n 0x10b -1 1
104_RACE=n 0x10c -1 1
105_CLASS=n 0x10d -1 1
106_SPECIFIC=n 0x10e -1 1
107_GENDER=n 0x10f -1 1
108_ALIGNMENTBITS=n 0x110 -1 8
109_STAT(KIT)BITS=n 152 -1 8
110_SPLSTATE=n 0x112 -1 1
111_SPLSTATE!=n 0x112 -1 5
112_EA!=n 0x10a -1 5
113_GENERAL!=n 0x10b -1 5
114_RACE!=n 0x10c -1 5
115_CLASS!=n 0x10d -1 5
116_SPECIFIC!=n 0x10e -1 5
117_GENDER!=n 0x10f -1 5
118_ALIGNMENT!=n 0x110 -1 9
119_ENTRIES!=(20||21) 0x104 20 21
120_SPLSTATE=SCROLL_OF_PROTECTION_FROM_UNDEAD 0x112 101 1
121_SPLSTATE=WILD_MAGIC_AREA 0x112 102 1
122_STAT(DEX)>=n 40 -1 4
123_STAT(DEX)<n 40 -1 2
124_STAT(STR)>=n 36 -1 4
125_STAT(STR)<n 36 -1 2
126_STAT(CON)>=n 41 -1 4
127_STAT(CON)<n 41 -1 2
128_STAT(INT)>=n 38 -1 4
129_STAT(INT)<n 38 -1 2
130_STAT(WIS)>=n 39 -1 4
131_STAT(WIS)<n 39 -1 2
132_STAT(CHR)>=n 42 -1 4
133_STAT(CHR)<n 42 -1 2
134_SUMMONEDNUM>=n 0x115 -1 4
135_SUMMONEDNUM<n 0x115 -1 2
136_CHAPTER>=n 0x116 -1 4
137_CHAPTER<n 0x116 -1 2
138_STATEBITS=n 0x111 -1 8
139_STATEBITS!=n 0x111 -1 9
140_STATEBITS=STATE_INVISIBLE 0x111 16 8
141_STATEBITS=STATE_IMPROVEDINVISIBILITY 0x111 4194304 8
142_ENTRIES=(140||141) 0x103 140 141
143_ENTRIES!=(140||141) 0x104 140 141
144_CURRENTHP>=n 0x000 -1 4
145_CURRENTHP<n 0x000 -1 2


Pseudo stats are defined as follows: Relations are defined as follows: