Avenger Posted April 29, 2006 Share Posted April 29, 2006 This is a snippet from PST creature structure as IESDP knows it. 0x0270 52 (bytes) Unknown 0x029c 4 (dword) XP (Secondary class) 0x02a0 4 (dword) XP (Tertiary class) on 0x294 there is an offset and on 0x298 a memory size (not header count). The offset points to a new structure which is basically a list of overlay effects on the actor. These overlays are applied by opcode #201 (whose param #2 is the overlay type, and resource field is the overlay bam). The overlay type seems to be a varied and haphazard group of effects which are implemented with different opcodes in bg2. Such spells as Shield, Armour, Balance in all things (a kind of fireshield). So, a PST creature has a secondary effect list (mixed visual/stat affecting) to make my life harder [edit] The structure of this new subheader is not determined yet. The first 8 bytes contain a resref (the overlay bam) The structure's length is 36 bytes (iirc) and also contains the effect type on a word. The effect type could be 0-18 i think (with 5,9,10 unused or nonexistent). Later i'll make a more specific list. Link to comment
Avenger Posted July 8, 2006 Author Share Posted July 8, 2006 Yeah, i guess you expect the detailed list for the effects I'll make it a bit later when i'm back into PST effect implementation. Now, i'm sidetracked into implementing a correct script decompiler which i can use Link to comment
igi Posted July 10, 2006 Share Posted July 10, 2006 If you can get this up in the next day or two, it will be in the next IESDP update (and you know how often they come around) Link to comment
Avenger Posted July 15, 2006 Author Share Posted July 15, 2006 Here is the list: p2 resref spell name effect 0 - SPWI304 - Cloak of Warding - absorbs 3d4+level damage then removed, or level*5 seconds expired 1 - SPWI111 - Shield - AC = 3, +1 to saving throws, removed after level*25 seconds 2 - SPWI203 - Black Barbed Shield - +2 AC, attackers suffer 1d6 damage, removed after 10d3 seconds 3 - SPWI209 - Pain Mirror - hostile creatures nearby suffer the same damage as the caster, removed after level*5 seconds or after triggered once 4 - SPWI704 - Guardian Mantle - deflects all attacks if attacker doesn't make saving throw -4 vs. spells, removed after 50+level*5 seconds 5 - ? 6 - SPWI504 - Enoll Eva's Duplication - double projectiles? 7 - SPWI101 - Armor - AC = 6, removed after 8+level damage 8 - SPWI601 - Antimagic Shell - disables all projectiles? disables casting? 9 - ? 10- ? 11- SPPR201 - Flamewalk - 50% fire resistance, +2 saving throws vs. fire 12- SPPR106 - Protection from Evil - +2 AC vs. evil, +2 saving throws vs. evil 13- SPWI902 - Conflagration - 2d6 damage on target per 5 seconds, anyone comes close also suffers it, but entitled to save vs. spells 14- SPWI312 - Infernal Shield - 150% fire resistance (fire heals half damage). 15- SPWI119 - Submerge the Will - AC = 2, +1 to saving throws, removed after level*12 seconds 16- SPWI314 - Balance in All Things - hostile creatures nearby suffer the same damage as the caster, removed after level*5 seconds, can be triggered level/4 times Link to comment
Avenger Posted July 15, 2006 Author Share Posted July 15, 2006 As you can see, the blackisle guys hardcoded quite diverse effects into this single opcode. The only common thing is that all of these use some overlay on the actor (it would be a vvc which follows actor in bg2). The overlays come along with diverse effects that might be triggered when the target is hit. (apply effect on condition in bg2) The overlays may disappear after some amount of damage suffered (no bg2 equivalent?) Some of the effects could be simulated with IDS targeting (protection from evil). Link to comment
igi Posted July 15, 2006 Share Posted July 15, 2006 So, the struct is like this: 0x00 8 (char array) resref 0x08 2 (word) effect type (0-16) 0x0a 26 (bytes) Unknown With the effect type being in the range you posted? EDIT: Fixed bb code. Link to comment
Avenger Posted July 15, 2006 Author Share Posted July 15, 2006 Yes, the effect type is that list i just supplied. The rest of the parameters might contain the absorbed damage, and probably the delay. I'll try to decypher the rest of the structure soon. Link to comment
Avenger Posted July 23, 2006 Author Share Posted July 23, 2006 To further increase weirdness, some projectiles also give out these overlays (with the additional effects). One such projectile is 229 (shroud of darkness). I start to hate those hackers at blackisle. [edit] The shroud of darkness projectile starts the overlay with type 5. So that's why i missed 5 (among some other numbers) from the list. The unknown at 0ch seems to be a timing method style field. If it is 0200 then the duration is relative. If it is 0300 then the duration is absolute (like in this example). Here is what i've learned so far: 00h BAM S048SPHR 08h UNKNOWN 00000040 0ch UNKNOWN 0300 0eh Type 0005 10h Duration ffb7a401 14h UNKNOWN 00000000 18h UNKNOWN 000000bc 20h UNKNOWN 00ffffff 24h UNKNOWN 00000000 Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.