Offset | Size (datatype) | Description |
---|---|---|
0x0000 | 4 (char array) | Signature (‘EFF ‘) |
0x0004 | 4 (char array) | Version (‘V2.0’) |
Offset | Size (datatype) | Description |
---|---|---|
0x0008 | 4 (char array) | External EFFs - the field is the same as the signature field from the header |
0x000c | 4 (char array) | External EFFs - the field is the same as the version field from the header |
0x0010 | 4 (dword) | Opcode number |
0x0014 | 4 (dword) | Target type
|
0x0018 | 4 (dword) | Power |
0x001c | 4 (dword) | Parameter 1 |
0x0020 | 4 (dword) | Parameter 2 |
0x0024 | 2 (word) | Timing mode
NB. all effects except those with Timing mode ‘9’ are removed by death. |
0x0026 | 2 (word) | Timing ? |
0x0028 | 4 (dword) | Duration |
0x002c | 2 (word) | Probability 1 |
0x002e | 2 (word) | Probability 2 Note: The BG1 engine treats probability as a single word, effects are applied in the range 0-probability. |
0x0030 | 8 (resref) | Resource |
0x0038 | 4 (dword) | Dice Thrown |
0x003c | 4 (dword) | Dice Sides |
0x0040 | 4 (dword) | Saving throw type
NB. If more than 1 saving throw type is specified, the target rolls against their best save |
0x0044 | 4 (dword) | Save bonus |
0x0048 | 4 (dword) | TobEx: Stacking ID. Checked when bit 25 of the Saving Throw Type is set. If two effects of the same opcode are applied, both have Limit Effect Stacking bit set, and both have the same stacking ID, then the latter applied effect is suspended in application until the former effect expires. Regardless of whether it is applied, the latter effect will expire at the same time that it would expire if it was applied. In other words, the total duration of some non-stacking effect opcode is not extended because more than one copy of the effect was applied. Stacking IDs are unique to the opcode being applied. To maintain uniqueness of stacking IDs between different mods, one recommendation is to use the higher word of Special as the modder’s Infinity Engine Community Prefix, then use the lower word as an identifying ID. For example, 0x41360001 (‘A6’ 0x0001). |
0x004c | 4 (dword) | Primary type (school) |
0x0050 | 4 (dword) | Unknown |
0x0054 | 4 (dword) | Parent resource lowest affected level |
0x0058 | 4 (dword) | Parent resource highest affected level |
0x005c | 4 (dword) | Resistance The default behaviour is that effects cannot be dispelled and ignore resistance.
This can also be presented in the more traditional way:
|
0x0060 | 4 (dword) | Parameter 3 |
0x0064 | 4 (dword) | Parameter 4 |
0x0068 | 4 (dword) | Parameter 5 |
0x006c | 4 (dword) | Parameter 6 |
0x0070 | 8 (resref) | Resource 2 (VVC in many effects) |
0x0078 | 8 (resref) | Resource 3 |
0x0080 | 4 (dword) | Caster X coordinate |
0x0084 | 4 (dword) | Caster Y coordinate |
0x0088 | 4 (dword) | Target X coordinate |
0x008c | 4 (dword) | Target Y coordinate |
0x0090 | 4 (dword) | Parent resource type (0=None, 1=Spell, 2=Item) |
0x0094 | 8 (resref) | Parent resource |
0x009c | 4 (dword) | Parent resource flags (from SPL 0x18 or ITM ext header 0x26) |
0x00a0 | 4 (dword) | Projectile |
0x00a4 | 4 (dword) | Parent resource slot |
0x00a8 | 32 (bytes) | Variable |
0x00c8 | 4 (dword) | Caster level |
0x00cc | 4 (dword) | FirstApply (internal flag) |
0x00d0 | 4 (dword) | Secondary Type |
0x00d4 | 4*15 (dword) | Unknown |