Taimon Posted August 4, 2009 Author Posted August 4, 2009 +0xf4 in the character section is the big unknown left here. (+0xf4 seems to just be a InParty toggle; +0xf5-6 unknown; and +0xf7 always has some value between like 40-100) Forgot about that one - it was rather boring. 0xf4 is just what you guessed, only a bool to keep track of in-party-status for the time statistics. 0xf5/0xf6 are as far as I can tell unused. 0xf7 is an ASCII character related to the CRE name. '*' comes to mind here. Also shares the same field in the CGameSprite class with the actor+0x2e byte. But I have something a little more interesting: The item abilities have an alternative set of dice values and damage bonus. They get used when the target has bit 13 of the CRE flags (quest critical?) set. 0x03 is alternative dice sides. (byte) 0x11 is alternative dice thrown. (byte) 0x13 is alternative damage bonus. (byte)
devSin Posted August 4, 2009 Posted August 4, 2009 0xf7 is an ASCII character related to the CRE name. '*' comes to mind here.Yeah, this byte is always 0x2a in the GAM, I think, but it ranges in the saved AREs (I think I posted years ago my suspicion that these two were related, so maybe the range isn't as great as I think). So just a remnant of attaching CRE resources (not important to figure out why they're storing it in any case)? But I have something a little more interesting:These show up in a fair number of BG items, but no CRE ever has any such flag set? NI combines the main and alternative dice values into words; they're always bytes, though, right (although, it seems pretty obvious somebody shoehorned these in after-the-fact)?
Taimon Posted August 5, 2009 Author Posted August 5, 2009 Yeah, this byte is always 0x2a in the GAM, I think, but it ranges in the saved AREs Maybe it's the first char of the CRE resref? So just a remnant of attaching CRE resources (not important to figure out why they're storing it in any case)? That's what I thought. But I'm not really sure. There was like one case where they actually used the value (CString::setAt(0, char)), but I failed to trigger this in my testings. These show up in a fair number of BG items, but no CRE ever has any such flag set? Maybe they set it ingame? But that's highly unlikely ... NI combines the main and alternative dice values into words; they're always bytes, though, right (although, it seems pretty obvious somebody shoehorned these in after-the-fact)? Yep, dice values are always bytes in the item ability. (But main damage bonus is a word.) That means speed and projectile type are bytes as well.
Taimon Posted August 7, 2009 Author Posted August 7, 2009 If a container item resref starts with "T2" (case-insensitive) a 2da file with the same name is loaded and all the items in there are added to the container.
Avenger Posted August 7, 2009 Posted August 7, 2009 wow. features over features. Does this work only for bags, or stores too?
Taimon Posted August 7, 2009 Author Posted August 7, 2009 Not sure what you mean. It's unrelated to stores (and bags). I was talking about area containers. /Edit: I see, that "container item resref" above is ambiguous.
Avenger Posted August 7, 2009 Posted August 7, 2009 Ok, you meant area containers... So, this is evaluated on first load of the .are? I still wonder if this works with .cre, or .sto Probably they resolve it in the same place where they resolve rnditems. Got any examples of cre/itm where this alternate dice gets used?
Taimon Posted August 9, 2009 Author Posted August 9, 2009 So, this is evaluated on first load of the .are? In the constructor of the container. I still wonder if this works with .cre, or .sto Should work on .cre inventory items, but I don't think anywhere else. Got any examples of cre/itm where this alternate dice gets used? The only item that has both alternate dice values set is morsword.itm. But as devSin already mentioned, there are no creatures with that flag. (Besides the two that have all flags set.) Two more "features": If an item name starts with a digit, its treated as misc07 (gold). atol(name) is used as the stack amount. ("123ign" => misc07 with 123 stack amount) You can set the stack amount with the item name. "scrl69*9" will give you 9 times scrl69.
lynx Posted August 9, 2009 Posted August 9, 2009 yeah, the stack amount is also used like that in 25stweap.2da.
Avenger Posted August 10, 2009 Posted August 10, 2009 Why it needs the *9 thing when there is a column for charges Would "arow01*9 20 0 0" create 9 stacks of arrows with 20 in each pack?
Taimon Posted August 10, 2009 Author Posted August 10, 2009 Why it needs the *9 thing when there is a column for charges This isn't tied to 2da stuff. It's checked together with the RND* thingies in the function that actually loads the item. Would "arow01*9 20 0 0" create 9 stacks of arrows with 20 in each pack? Why don't you go and try yourself? But I doubt it's working like that.
Avenger Posted August 10, 2009 Posted August 10, 2009 Why it needs the *9 thing when there is a column for charges This isn't tied to 2da stuff. It's checked together with the RND* thingies in the function that actually loads the item. Would "arow01*9 20 0 0" create 9 stacks of arrows with 20 in each pack? Why don't you go and try yourself? But I doubt it's working like that. They don't like if i play in worktime
Avenger Posted August 10, 2009 Posted August 10, 2009 Ok i tried these: 1 misc07*2 123 0 0 0 0 - created a stack of 2 gold coins 2 misc07 123 0 0 0 0 - created a stack of 123 gold coins 3 100*3 0 0 0 0 0 - created a stack of 100 gold coins
aVENGER_(RR) Posted August 11, 2009 Posted August 11, 2009 4xxx => SPCLxxx (already known, but not clear in the IESDP)nxxx => MARWxxx (for n != 1-4) Just out of curiosity, do the SPDRxxx and SPRAxxx spell groups have numeric designations?
Taimon Posted August 11, 2009 Author Posted August 11, 2009 Yeah, this byte is always 0x2a in the GAM, I think, but it ranges in the saved AREs Maybe it's the first char of the CRE resref? Tested this and it seems to be what I suspected. When an actor is saved for the first time, this is the first char of the .cre resref. Any additional save will lead to '*'. They don't like if i play in worktime That's not playing, that's research. Just out of curiosity, do the SPDRxxx and SPRAxxx spell groups have numeric designations? No, at least not in the function that normally decodes the spell id.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.