Skip to content
This repository has been archived by the owner on Mar 26, 2020. It is now read-only.

Object Editor Abilities - DataX# fields #28

Open
ChiefOfGxBxL opened this issue Jun 12, 2017 · 1 comment
Open

Object Editor Abilities - DataX# fields #28

ChiefOfGxBxL opened this issue Jun 12, 2017 · 1 comment
Assignees
Labels

Comments

@ChiefOfGxBxL
Copy link
Owner

Abilities is going to be the most difficult object editor type to implement because of confusing data fields:

  1. Data fields

By (1), I mean that it is unclear how Blizzard stores ability data. For example, take a look at the AbilityData.csv file found in WEdata/Units in this repo. On row 53 there is the Storm Bolt ability. The level 1 damage is stored in the DataA1 column (100).

But the ability Bash's DataA1 column actually stores the Chance to bash value. So it's not easy to say an ability's damage is stored in the A column. Is there anywhere in the war3.mpq where a file acts as a lookup table between ability fields and the column the data is stored in?

@ChiefOfGxBxL
Copy link
Owner Author

@Daniel-James-Lang

Here is the lead I found when helping on the issue: What is the difference between real and unreal? on WC3MapTranslator. Please read through that issue briefly to familiarize.

In war3.mpq and war3x.mpq, under the UI folder, there is a text file named WorldEditStrings.txt. The one I was looking at had a section called // Ability Specific Values around line 5873, which contains nearly 600 lines of data for the World Editor.

I noticed a correlation between the ID of an ability (e.g. Holy light is AHhb), and the WESTRING HHB1, whose value matches nicely with the data field on Holy Light. The number corresponds to the data column (A = 1, B = 2, ...).

Holy Light ("Holy Bolt") - (AHhb)
 - A: Amount Healed	WESTRING_AEVAL_HHB1=Amount Healed/Damaged

So I looked further just now for an ability that has more than one data field. Take Shadow Strike (AEsh). Looking in World Editor it has 5 data fields:
image

Use Ctrl + D to see the column letter (e.g. DataA1).

Let's check the World Editor Strings file to see what we can get for AEsh. (Remove the letter A from the start.... Esh, and then number them for as many data fields we have: Esh1, Esh2, Esh3, Esh4, Esh5).

WESTRING_AEVAL_ESH1=Decaying Damage
WESTRING_AEVAL_ESH2=Movement Speed Factor
WESTRING_AEVAL_ESH3=Attack Speed Factor
WESTRING_AEVAL_ESH4=Decay Power
WESTRING_AEVAL_ESH5=Initial Damage

which corresponds to (data obtained from World Editor):

 - A: Decaying Damage
 - B: Movement Speed Factor
 - C: Attack Speed Factor
 - D: Decay Power
 - E: Initial Damage

I believe this should work for all abilities. Please confirm for a handful of abilities, and please be sure to check the strings file from both RoC and TFT (war3.mpq vs. war3x.mpq).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants