For the 2nd, those seem quite straightforward to me.
Eh, I feel weird using abbreviations in the non-abbreviated versions.
By the way, how do people feel about aliases that aren't exactly consistent with the long form? Like, "aresGetAffixLineWeaponAffectsSelf" and "aresGetALWepOnSelf" - is this going to annoy/confuse people? This sometimes irritated me when I was working on the magic effect functions for OBSE.
Is there a reason they can't use the standard OBSE MagicEffect functions for those checkboxes? I believe we have most (if not all) of them exposed.
You're missing NoRecast, not that I know where that is. You're also missing the projectile type (ball/fog/bolt/spray) field, which I tried to find but couldn't. At any rate, I can't use those because these are not actually EffectSetting's - without knowing the constructor for those, I couldn't really use them (and Scruggs advised against it, in any case). So the GetMagicEffectValue and each of the individual functions would have to be replicated for my pseudo-EffectSetting class objects.
just go with the flag... and write out a handy reference of what each flag is on the wiki
Of course.
I really really like #2's possibilities and I think they seem fine.
Glad to see some more great looking progress.
Pacific Morrowind
Cool, cool.
I'm comfortable with a bitfield. (Which I assume your function would basically be; 2048 is an example with only one bit set, right?) However, if the OBSE functions can be used that'd be handy. Also, perhaps you could provide a set of intuitively-named constants which contain the appropriate bit values? "aresGetMagicEffectFlag aresFlagSPELLMAKING"
Edit: Re-reading I see that this particular function probably doesn't work with a bitmask. How about aresGetMagicEffectFlags (plural) just returns the entire mask, aresSetMagicEffectFlags asserts the entire mask, and we can do things like this:
aresSetMagicEffectFlags ( aresGetMagicEffectFlags & !(aresFlagSPELLMAKING | aresFlagENCHANTING) )
(Clear enchanting and spellmaking flags, leave the others intact.)
Or to see if the enchanting flag is set,
if (aresGetMagicEffectFlags & aresFlagENCHANTING)
Yes, it is a bit-field, and yes, I can write those functions. OK, sounds good, and I can probably put those constants in the esm.
"AffectWielder" / "EnhanceAttack"
Hmm. I like those.
We can build two different affix lines which use the same effect but have different sequence and item type lists, right? If so I see no issue, even hypothetically.
Yes, every effect can have multiple affix lines (limited only by the storage space in a 32-bit integer, which is probably pointless because I'm not sure ObScript is capable of passing a number that high back and forth...