Can't say for sure, but Fire Lord does have the Arrow version, however if you level that ability up in game and check level of the Arrow version and Non-Arrow version, then you will find out that the Non-Arrow version is level up (but he does not have it in object editor). So it may be that the Arrow version is either swapped with the non-arrow version at the start of the game, or it takes data from the non-arrow version.
About hashtables:
First, you have to create hashtable and save it into variable:
-
Untitled Trigger 001
-
Events
-
Conditions
-
Actions
-
Hashtable - Create a hashtable
-
Set Hash = (Last created hashtable)
Hashtable can store practically everything (but watch out, some of the GUI options for saving stuff can crash your world editor, so if you are about to use one such action and you're not sure if its the faulty one or not, then you better save your map so you won't lost any data
)
Saving stuff works like this:
-
Hashtable - Save *something* as CHILD of PARENT in HASHTABLE
Child and Parent are your "key" words for identifying your saved stuff - it can be a string (= a sequence of characters) or an integer number (number without decimal point).
It's cool, because each unit, destructible (and many other things) are handles - that means they have their unique identification number upon creation. You can get this number and use it as a Child or Parent. Since this number is unique (and quite long), it's quite unprobable that you will accidentally replace stuff saved under this number.
Loading stuff from hashtable looks like this:
-
(Load CHILD of PARENT from Hash)
(note, this is an edited version, usually you have to use the loaded stuff immediately or set it into variable)
Anyway, the way game loads stuff from hashtable works like this:
1) Finds name of hashtable you specified
2) Find parent you specified
3) Finds child you specified
4) Finds the correct type of thing you want to load (e.g. integer, point, unit, ...)
5) Loads the value it found.
If it for example doesn't find specified parent, it stops there and won't load a thing (or may load the default value of the type of handle you wanted... e.g. default value for integers is 0; for boolean is false, etc.))