- Joined
- Aug 1, 2023
- Messages
- 76
Step -2. Implement the ability in C++, recompile the game and send patches to the people. If you can't do that, then go to Step -1, if you can, then you are lucky :^), go to Step 0.
Step -1. Find an ability that is already implemented, but not exposed to the Object Editor (this tutorial uses 1 such ability).
Step 0. Extract the files Units\ItemAbilityFunc.txt, Units\ItemAbilityStrings.txt, Units\AbilityData.slk and Units\AbilityMetaData.slk from War3Patch.mpq (or wherever you can find them) to the directory path\to\your\Warcraft III. Enable local files, using the Registry Editor, so that the Object Editor will read these files first.
The ability we are going to be exposing to the Object Editor has a fourcc code of AImn, it is an item ability that gives permanent mana points.
Step 1. Add an entry for AImn to file Units\ItemAbilityFunc.txt:
Step 2. Add an entry for AImn to file Units\ItemAbilityStrings.txt:
Step 3. Add an entry for AImn to file Units\AbilityData.slk by opening it in Excel/LibreOfficeCalc. Copy the already existing entry for AImh, then change the first value from AImh to AImn, then the second value from AImi to again AImn. Save the file as slk. You might have to clean the slk file, using a text editor, from Excel/LibreOfficeCalc's "garbage" fields, or not, I don't know.
Step 4. Open Units\AbilityMetaData.slk and add AImn to the list: AImm,AImb,AIbm => AImm,AImb,AIbm,AImn
Step 5. Open the Object Editor and make sure that the new item ability shows up in the Abilities tab (search for AImn). Open the Items tab and create a new item that uses the ability. Import Units\AbilityData.slk and Units\ItemAbilityFunc.txt to the map at the same paths Units\AbilityData.slk and Units\ItemAbilityFunc.txt (when you import a file, its path is set to war3mapImported\<filename>), so that the game can read our modified files.
Step -1. Find an ability that is already implemented, but not exposed to the Object Editor (this tutorial uses 1 such ability).
Step 0. Extract the files Units\ItemAbilityFunc.txt, Units\ItemAbilityStrings.txt, Units\AbilityData.slk and Units\AbilityMetaData.slk from War3Patch.mpq (or wherever you can find them) to the directory path\to\your\Warcraft III. Enable local files, using the Registry Editor, so that the Object Editor will read these files first.
The ability we are going to be exposing to the Object Editor has a fourcc code of AImn, it is an item ability that gives permanent mana points.
Step 1. Add an entry for AImn to file Units\ItemAbilityFunc.txt:
Code:
[AImn]
Art=ReplaceableTextures\CommandButtons\BTNManual.blp
Casterart=Abilities\Spells\Items\AIlm\AIlmTarget.mdl
Casterattach=origin
Step 2. Add an entry for AImn to file Units\ItemAbilityStrings.txt:
Code:
[AImn]
Name=Item Permanent Mana Gain
EditorSuffix=(+50)
Step 3. Add an entry for AImn to file Units\AbilityData.slk by opening it in Excel/LibreOfficeCalc. Copy the already existing entry for AImh, then change the first value from AImh to AImn, then the second value from AImi to again AImn. Save the file as slk. You might have to clean the slk file, using a text editor, from Excel/LibreOfficeCalc's "garbage" fields, or not, I don't know.
Step 4. Open Units\AbilityMetaData.slk and add AImn to the list: AImm,AImb,AIbm => AImm,AImb,AIbm,AImn
Step 5. Open the Object Editor and make sure that the new item ability shows up in the Abilities tab (search for AImn). Open the Items tab and create a new item that uses the ability. Import Units\AbilityData.slk and Units\ItemAbilityFunc.txt to the map at the same paths Units\AbilityData.slk and Units\ItemAbilityFunc.txt (when you import a file, its path is set to war3mapImported\<filename>), so that the game can read our modified files.
Last edited:


