Jump to content

EFF crap


devSin

Recommended Posts

Found two new ones and the IESDP still doesn't have a couple old ones:

0x0090	4 (dword)	Unknown

0x0090 4 (dword) Resource Type - type of resource the effect came from (0=None, 1=Spell, 2=Item)

 

0x009c	4*3 (dword)	Unknown

0x009c 4 (dword) Resource Flags - When resource type is Spell, these are the spell flags (4 bytes at 0x18); when resource type is Item, these are the ability flags (2 bytes at 0x26 in the extended header; these two are actually a single bitfield, with Bit0=StrBonus, Bit1=Breakable, Bit11=Recharge)

0x00a0 4 (dword) Source Projectile - this is the projectile number of the impact projectile (0 if none)

0x00a4 4 (dword) Source Item Slot - this is the slot (same order as CRE slots & SLOTS.IDS) the source item was in when cast (-1 if none)

 

0x0060	1 (char)	Parameter 3

Isn't this a DWORD? I have 0x60 4 (dword) Param3, 0x64 4 (dword) Param4 (the only use for this I know of is to set Charges3 for some item creation effects), 0x68 4 (dword) unknown/unused, 0x6c 4 (dword) unknown/unused.

Link to comment

You helped a lot with the resource type field.

If i understood you correctly, it is a dword right before the source resource field.

 

I already knew about the item slot and projectile fields, but the one before them is also new to me :)

 

There are 2 dwords at 0x60 and 0x64. (Parameter 3 and Parameter 4).

I'm sure i saw Parameter 4 used somewhere.

 

Most of these new fields are useless in an .eff file, they have only meaning in embedded and saved effects.

For example, the used item slot field lets the weapon colours to be drawn correctly when you wield the item in the shield slot.

The projectile field lets an effect to be resisted/bounced based on projectile resistances.

 

[edit]

Yeah, now i see you also said Param4 is used for charge3 in item creations.

Link to comment
You helped a lot with the resource type field.

If i understood you correctly, it is a dword right before the source resource field.

Correct. I uploaded a new build of NI that supports all the EFF fields and finally supports the explosion frequency (value in ticks, I believe) in PRO files. Stupid stuff like that. ;-)

 

I already knew about the item slot and projectile fields, but the one before them is also new to me ;)
Yeah, my NI has had those two for forever (whenever I last stopped hacking it a year or two ago), but they weren't in the IESDP.

 

I wonder if there are any flags in the spell header that changes the way the EFF is handled? (Otherwise, I don't see any reason for preserving them here, but whatever. Unless the engine doesn't parse the flags until the projectile hits and it just purges the spell file and carries the constructed EFFs along with the projectile from the very beginning, I guess.)

 

Most of these new fields are useless in an .eff file, they have only meaning in embedded and saved effects.
Yeah, that's why I pointed out None(0) (every attached effect will have a resource type unless it came preattached with the CRE file or came from hardcode). I do all the testing from the GAM file precisely because these fields have no use outside memory. :-)
Link to comment

Unsummon creature (68) - Parameter 1 is 'Text notification.' If set to 0, the string (defined in EFFTEXT.2DA) does not run when the effect fires. If set to 1, the string does run.

 

For the interested (and if you're reading this, why wouldn't you be), I've updated my NI build to handle all this crap. I also made some adjustments so that script name checking is more consistent and reliable. BAM resources will now be picked up (in the Uses popup menu) if a VVC for CreateVisualEffect isn't found. Item names (in the ResourceRef lists or in scripts) will now be displayed with the unidentified name if the identified name is out of bounds or an empty string. Ambient sounds in areas will now show only sounds from predetermined BIFFs (sfxsound, ambsound, etc.) and the compressed BIFF containing the original WED (instead of those and every single sound from every compressed BIFF); applies also to the generic ambients in the songs struct. Some formatting changes yet again to make it still easier to compare to Jon's b19 sources.

Link to comment

You've been posting about WeiDU source lately, which grants you access. ;-) You can find links to the JAR and source archive here. (The part about "truly my final build" is always just wishful thinking...)

 

Note that 1.33 is a pretty substantial update from 1.32 (not quite a rewrite, but including the refactoring, everything got at least a few changes). Unfortunately, Jon never completed it, and there's nobody who's wanted to finish it up and make it a release-quality build (there are some bugs and other gotchas that make the beta unsuitable for editing some filetypes). The SourceForge sources should be up-to-date with the "official" 1.33b19 sources, and as soon as Fred finishes granting all three wishes to his latest summoner, the changes here will get rolled in (at which point, I'll kill the download and no longer pay attention to updating the source every year or so).

Link to comment

Not really. Adding/removing effects from items and spells can fail spectacularly (although less so with a couple changes I made). It would probably require trolling through AbstractStruct to truly fix, which is something I'm not going to do.

 

I'm sure there are other issues, but I don't routinely use NI for actual editing, so I'm unlikely to know about them and even less likely to fix them. It's also difficult because I only have access to BG/TotSC, BG2/ToB, and vanilla IWD, so every change I make runs the risk of breaking something for IWD/HoW/TotL, ID2, and Torment (luckily, all Aurora viewing is isolated, so it should work pretty much identical to Jon's build regardless of what I do).

Link to comment
(2 bytes at 0x26 in the extended header; these two are actually a single bitfield, with Bit0=StrBonus, Bit1=Breakable, Bit11=Recharge)
Bit10=Hostile (an ability with non-damaging effects will still turn the target hostile iff this bit is set and the effects are applied (not saved against, etc.)). Heavily suspect this to be a DWORD (not exactly a copy of the spell flags, but at least Bit 10 is the same).

 

#119 (0x77) Spell Effect: Mirror Image [119]
Parameter #1: Maximum Images
Parameter #2: Irrelevant
Description: 
Applies the mirror image effect to the targeted creature(s),
creating mirror images up to the 'Maximum Images' value.

It was confirmed some time ago that both parameters are irrelevant (BG2). The number of images (static 2-8) based on level is assigned in hardcode.

Link to comment

Archived

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

×
×
  • Create New...