Jump to content

Some more random bits


Ascension64

Recommended Posts

GAME V1.1 Character stats

0x0013 1(byte) stores the first letter of the resname before it gets the *

Pretty useless because the first letter doesn't get restored

 

ARE V1.0 Actors

0x002c 2(word) Has been spawned (0=no, 1=yes)

This is a word not dword

 

0x002e 1(byte) stores the first letter of the resname before it gets the *

Pretty useless because the first letter doesn't get restored

 

0x0038 4 (dword) Actor removal timer (seconds) (usu. -1 to avoid removal)

This is seconds in the ARE file, not ticks as currently stated in IESDP

 

0x3e 2(word) Movement restriction distance when moving to an object (matches spawn point 0x82)

 

ARE V1.0 Spawn Points

0x7a 2(word) Spawn method

Bit 1: One-time-spawnpoint (checked for after the spawning, and disables the spawn point if set).

Setting this bit also spawns creatures for a finite period of time as set by 0x7c

 

0x7c 4(dword) Spawn creature removal timer (in seconds; requires bit1 of Spawn method)

0x80 2(word) Movement restriction distance (matches Actor 0x3C)

0x82 2(word) Movement restriction distance when moving to an object (matches Actor 0x3E)

 

STATS.IDS BG2/ToB

166 DISABLEOVERLAY

Set by opcode 284

 

This stat is incorrectly labelled. It should be MELEETHAC0MOD

 

 

Edit: Just added ARE in front of V1.0 so you know I'm not talking about ITM or something weird.

Link to comment

These should all be right in NI (Taimon posted all this I think in 2009), except the initial res character in ARE actors (something new to BG2, and like you note, seemingly useless).

 

According to Taimon, "Movement restriction distance when moving to an object" is overridden always before use (just set to 0)?

("Movement restriction distance" is used at least in RandomWalk.)

Link to comment

A revisitation of item ability effect target types. Targetting actually differs slightly with ranged vs non-ranged. Most of it is already in IESDP.

 

(for RANGED weapon)

1: applied to self

2: added to the projectile at 2Ah (i.e. target)

3: IGNORE_SPELL_LEVEL_RESISTANCE and applied to entire party

4: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area

5: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area except party/familiars

6: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area matching specific of attacker (if party member is attacker, entire party)

7: IGNORE_SPELL_LEVEL_RESISTANCE and not applied

8: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area except self

9: IGNORE_RESISTANCE and added to projectile at 2Ah (i.e. target ignore resistance)

 

(from non-RANGED weapon)

1: self

2: target

3: IGNORE_SPELL_LEVEL_RESISTANCE and applied to entire party

4: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area

5: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area except party/familiars

6: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area matching specific of attacker (if party member is attacker, entire party is entire party

7: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area matching specific of the target

8: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area except self

9: self (no difference from 1)

Link to comment

BG2ToB SPL V1.0

 

You probably know this, but it doesn't seem well documented in IESDP.

 

0x006e 2 (word) Casting Feature Block offset (must have target self)

0x0070 2 (word) Casting Feature Block count

 

This Casting Feature Block stuff (or global FX according to NearInfinity) appears to contain effects to apply when beginning to cast the spell. They sit within the same procedure that determines and queues the casting sound and creates the casting orb/sparkle.

 

I don't think 0x006e is actually used, as the effect index is interpreted in reference to the effects offset.

 

As for targetting, it is not just self.

 

(from global effect of SPL)

1: self

2: results in a assertion failed crash

3: IGNORE_SPELL_LEVEL_RESISTANCE and applied to entire party

4: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area

5: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area except party/familiars

6: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area matching specific of caster (if party member is caster, this matches the entire party)

7: same as 6

8: IGNORE_SPELL_LEVEL_RESISTANCE and applied to all in area except self

9: self (no difference from 1)

Link to comment
BG2ToB

 

Action

34 UseItemSlot(O:Target*, I:Slot*)

 

Also supports

34 UseItemSlotAbility(O:Target*, I:Slot*, I:Ability*)

where I:Ability* is the ability index to use

Hah, good to know. I did this in GemRB, but only because i thought it would be nice to have.

Since ReallyForceSpell does this even in PST and BG1, do you think this is ToB only?

 

[edit]

Just checked, PST has this feature too.

Link to comment
Is this used by opcodes 200, etc.? Don't they purge instead?

 

-Galactygon

 

I think...

 

Internally:

0xc8 - FirstApply

0xcc - Secondary type

0x110 - Purge effect

 

in file:

0xcc - FirstApply

0xd0 - Secondary Type

0x114 - Purge effect

 

The first apply/purge effect field is probably useless in external effects.

GemRB will definitely ignore it.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...