• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Problem with Custom abilities in new editor

Status
Not open for further replies.
Level 3
Joined
Nov 25, 2013
Messages
31
Not sure if this is the right forum for this but figured since it's related to the reforged editor i might as well try here. So i'm having a problem with custom abilities in the reforged editor. On the first screanshot here you can see the ability in the editor, it has a description, custom buff and icon.

1.png


On the second image here in game i have selected the unit who has the ability (sorry for it being a bit cropped here) The footman is ment to have charge (the custom ability) first and then defend as second. What happends here is that Charge gets the icon of defend and Charge get's the icon of the backpack. Charge also keepts it's original buff which is Bloodlust instead of my custom one. Another thing that also happends is that the custom ability has no description in game what so ever
2.png


I have no idea why this happends and i'm clueless to what i can do to fix it. Hero abilities seems to work just fine. I tried to create another custom ability to see if it was just this one but the same problem happends. Anyone else encountered this problem as well or have an solution?
 
Last edited:
Yes. I have been seeing this and it hits anyone who uses the Reforged Beta editor right now. I have developed a hacky solution but you have to do it per unit and sometimes per ability right now, as well as import nonsense SLK files to add more available settings in the object editor.

The problem happens because in order to support skins, Blizzard decided to give units *two* unit IDs: their skin ID and their unit ID. That system is working okay, and custom units usually skin to themselves.
But Blizzard also made a change to the way abilities work. They want to be able to make skins like the "Legendary skins" in League of Legends or whatever that modify all aspects of a character in the game. To facilitate this, Blizzard wants a unit who is a Footman but with the skin ID set to "The Captain" from the campaign to be able to load "The Captain" icons for Defend and other abilities.

It comes from pretty sound reasoning but for users accustomed to custom maps and the World Editor, the way this was implemented becomes a heaping pile of confusion. The root of the problem is that in order for a unit with Footman unit type and The Captain skin type to be able to load a different skin for his Defend ability, while keeping the same in-game ability behavior, Blizzard added a second ability list to each unit. It's very similar to "Abilities - Normal" that you see in the Unit Editor that decides the list of abilities for the unit.

So, I can provide you with a new metadata file (this file defines which fields on a unit are modifiable) and then if you import it into your map, it creates a second field on each unit called "Abilities - Normal Skin". Then after you have this import to basically hack the editor, you can go to each unit that has custom abilities and then copy his "Abilities - Normal" onto his "Abilities - Normal Skin". I have done prototype tests of this hack and it seems to be working well.

But, it only scratches the surface of the problem. Morphing abilities like Bear Form and Metamorphosis still have "Data - Alternate Form Unit" as they did before which defines the morphed unit type..... but now they have a new data field that represents the alternate form's Skin ID as well.
Not only is the alternate form Skin ID not available to be changed in the World Editor, but also it does not align with alternate form Unit ID. So if I make an Archer with a copy of Storm Crow Form that turns her into a Harpy, currently she always turns into a Storm Crow visually but that has Harpy physical stats. This is because the new 2 ID system has morphed her Unit ID to Harpy, but her Skin ID to Storm Crow.

So, then I made a hacked metadata import in my World Editor that can add "Data - Alternate Form Skin" onto these morphing abilities. Then you can change the alternate form skin and work around the problem.

But, even though I know this solution, it's a big hack. The hacked metadata files might stop working in any new patch, and this change would also mean that for each and every custom unit that you create, you must spend 2x as long assigning their abilities to now also assign their ability skinning data.

So, I'm eager to see what *Blizzard* will do about the problem, because I don't like my hack! It makes working in the editor much slower, even if I proved we can work around this problem!
 
Level 3
Joined
Nov 25, 2013
Messages
31
Yes. I have been seeing this and it hits anyone who uses the Reforged Beta editor right now. I have developed a hacky solution but you have to do it per unit and sometimes per ability right now, as well as import nonsense SLK files to add more available settings in the object editor.

The problem happens because in order to support skins, Blizzard decided to give units *two* unit IDs: their skin ID and their unit ID. That system is working okay, and custom units usually skin to themselves.
But Blizzard also made a change to the way abilities work. They want to be able to make skins like the "Legendary skins" in League of Legends or whatever that modify all aspects of a character in the game. To facilitate this, Blizzard wants a unit who is a Footman but with the skin ID set to "The Captain" from the campaign to be able to load "The Captain" icons for Defend and other abilities.

It comes from pretty sound reasoning but for users accustomed to custom maps and the World Editor, the way this was implemented becomes a heaping pile of confusion. The root of the problem is that in order for a unit with Footman unit type and The Captain skin type to be able to load a different skin for his Defend ability, while keeping the same in-game ability behavior, Blizzard added a second ability list to each unit. It's very similar to "Abilities - Normal" that you see in the Unit Editor that decides the list of abilities for the unit.

So, I can provide you with a new metadata file (this file defines which fields on a unit are modifiable) and then if you import it into your map, it creates a second field on each unit called "Abilities - Normal Skin". Then after you have this import to basically hack the editor, you can go to each unit that has custom abilities and then copy his "Abilities - Normal" onto his "Abilities - Normal Skin". I have done prototype tests of this hack and it seems to be working well.

But, it only scratches the surface of the problem. Morphing abilities like Bear Form and Metamorphosis still have "Data - Alternate Form Unit" as they did before which defines the morphed unit type..... but now they have a new data field that represents the alternate form's Skin ID as well.
Not only is the alternate form Skin ID not available to be changed in the World Editor, but also it does not align with alternate form Unit ID. So if I make an Archer with a copy of Storm Crow Form that turns her into a Harpy, currently she always turns into a Storm Crow visually but that has Harpy physical stats. This is because the new 2 ID system has morphed her Unit ID to Harpy, but her Skin ID to Storm Crow.

So, then I made a hacked metadata import in my World Editor that can add "Data - Alternate Form Skin" onto these morphing abilities. Then you can change the alternate form skin and work around the problem.

But, even though I know this solution, it's a big hack. The hacked metadata files might stop working in any new patch, and this change would also mean that for each and every custom unit that you create, you must spend 2x as long assigning their abilities to now also assign their ability skinning data.

So, I'm eager to see what *Blizzard* will do about the problem, because I don't like my hack! It makes working in the editor much slower, even if I proved we can work around this problem!

Wow, didn't anticipate the problem would be this big. Thanks so much for the response, for now i will wait and see if the problem will be adressed and handeled by blizzard themself. As you also say this might stop working in the next patches but will keep your solution in mind if nothing changes in the future. Cheers! :)
 

qbz

qbz

Level 4
Joined
Dec 1, 2019
Messages
80
I'm also having custom ability issues. I copy an ability, I don't modify it much at all, I give it to my custom unit, and I get chris metzen placeholder icon and "Tool tip Missing!". I'm not using custom imported icons or anything. Just copying searing arrows and giving it to a copy of a mountain king gives me this issue. I can still react to the spell being cast in jass and have it do whatever, but I cannot figure out why I'm getting icon and tooltip errors. Is there some new step in granting custom abilities? It doesn't seem like it's 100% the same as OP's issue although it might be similar.
 
That sounds like exactly the same problem to me. To have your ability load the icon and tooltip, you have to specify it on 2 lists for the unit. The ability must be on the "Abilities - Normal" as well as on the ability skin list for that unit. The ability skin list is named "abilSkinList" and requires external hacking tools to modify. I am not aware of a way to modify it directly from inside the editor.

Edit: However, it is possible to hack the editor and add the option to modify the abilSkinList

Edit: After the most recent patch that just released (Dec 03, 2019), issues with this should be fixed. I ran some tests and ability icons appear to be working correctly.

If you really want to, you can still use that world editor hack I was doing to "skin" your custom abilities to something different, still. You also have to enable the USE_CUSTOM_ABILITYSKIN setting in the Map Options. But the base case now works as expected.
 
Last edited:
Status
Not open for further replies.
Top