Spy
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220
|
I can't help it. I want to know what things are used for if they are accessible. The array of text called wDamageTbl, what is it used for? I thought it would be able to modify the actual damage listed in weapons, but it won't. That is generated strictly by the tag. And what exactly does No Attribute Damage mean?
Anyways, it's been a frustrating afternoon with HL, I've been working on the harder aspects of things, and meeting internal coding walls for things I really wish I had access to. Anyhow, does anyone know the answer to these questions? Thanks. |
#1 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
While viewing the weapon's fields, take a look at the various rows of wDamageTbl. Look at the value of wCurrEquip (a few items above wDamageTbl) - compare the row of wDamageTbl that corresponds to what wCurrEquip currently is with the damage that's actually printed - they'll be the same. wDamageTbl stores the final text that's been generated for the weapon's damage, for all the possible equip scenarios. Try different combinations of main hand, off-hand, both hands, and dual-wielding to watch wCurrEquip change.
To see the difference between the no attribute and normal versions of the damage, make sure your test character has a strength bonus to damage. |
#2 |
Spy
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220
|
Duh, I was testing the attribute version of a normal 10 strength, brainless of me. I was actually thinking it was attribute damage (such as from a shadow). Brain lock.
As for the wCurrEquip, I knew that was tied to it, just because of the double weapons. However, the text determined wCurrEquip is still somehow overwritten afterwards. Thus, making the wDamageTbl array fields... uhm, unnecessary. Or am I missing something? I'm just assuming there is an internal piece of code that checks the values against the tags, and changes them back. Hmmm, gets me wondering about another approach... Last edited by Kendall-DM; June 30th, 2011 at 04:22 PM. |
#3 |
Spy
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220
|
Nah, that appproach didn't work either. Oh well, I'm just going to have to livename extra damage (which is what I was already doing, just thought I'd take a shot at adding the extra damage types, such as fire or acid, to the damage).
|
#4 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
Try after Final/500000 - that's when wDamageTbl is filled in
|
#5 |
Spy
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220
|
Yeah, I'm doing it at 500001, the table itself is filled in, I can see it when I open it in the debugger. However, the actual thing applied to the damage is strictly that damage dice. I've gone so far as to fill in every entry in the damage table, but still it doesn't change the damage for text, just puts the damage die in there and nothing else. My suspicion is that the table is filled out at 500000 and also output at 500000 to the damage text, thus my refilling the table in at 500001 is moot. Seems to be a timing issue that I can't interrupt. No biggie, it was just my attempt and doing something cool, and spending my afternoon vapor locked on it, when it just wasn't solvable. As a programmer, I always think there is a way to get something done, just doesn't seem to be a way in this case. Thanks for the info Mathias!
And still, I think I can crack this nut. Hard headed eh? |
#6 |
Senior Member
Volunteer Data File Contributor
Join Date: Mar 2007
Posts: 1,245
|
That's a familiar problem, the filled and output at the same time thing. In the community files there are several specials that replace the defaults specifically to split the timing up so there is a period in the middle to make changes.
|
#7 |
Senior Member
Volunteer Data File Contributor
Join Date: Mar 2007
Posts: 1,245
|
For actual tables though, I don't think you can solve that with a replacement.
|
#8 |
Spy
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220
|
Oh, I've replaced the table. I just can't do it with the necessary timing, thanks to the calculating and fetching happening at the same time. Now, I have started playing around with the Timing button, though I'm not sure what it does as yet. My attempts to put the table change between when it is filled out and when it is fetched from has met with failure. Currently pouring through some documentation to try and learn a bit more about the Timing button and how I can use it to fix this problem. Just got to understand how it's to be used.
|
#9 |
Senior Member
Volunteer Data File Contributor
Join Date: Mar 2007
Posts: 1,245
|
Where is the timing button in the editor? Do you mean the Phase and Priority sections above eval scripts and such?
|
#10 |
|
|