HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Ability Level 4?

12-05-2002, 08:45 AM#1
Guest
Is it possible to make a custom ability that can go over three
levels? Sure you can change the number in the level box in the
ability.slk but after level three there aren't any options to
upgrade it. If is possible how would you change those?
12-05-2002, 02:13 PM#2
Berry2K
Nope, the number of spell levels is hardcoded, you can't change it.
12-06-2002, 09:17 AM#3
Guest
there is a map that has spells that can go up to lvl6 i got it i think it was this map cant remeber exacly
12-06-2002, 09:42 PM#4
Draco
IT used triggers to "fake" its way though, if my memory serves me correctly. IT's a different spell with just the (race)AbilityStrings changed and uses trigger actions to make it 'seem' to be level 6.

Not a bad idea, though.
12-07-2002, 10:03 PM#5
Guest
Not directly trying to argue with Berry2K...

I just gave this a shot myself. I added additional columns to AbilityData.slk for Skill Level 4. I added the necessary data for the skill I wanted to test and filled the other boxes with the placeholder for other fields in the file. Set the max level to 4, then added the Tips into the Strings file for Level 4.

The result? World Editor recognized that the skill had 4 levels, so I started the map and checked the hero's upgrade page. It listed all 4 levels in the upgrade tip with the values being read correctly from AbilityData.slk.

But when I started adding points to the skill, it disappeared from the Upgrade tab once I put the 3rd point in. I went back to World Editor and set it to start at level 4, but the game only put 3 points into it and left the 4th point available on the hero.

So it is indeed possible that the Level 3 limit is hardcoded, but it might also be possible that it's hiding in a config file somewhere.

Does anyone know what file it is supposed to be hardcoded into?
12-08-2002, 12:21 AM#6
Draco
The game.dll perhaps?
12-08-2002, 06:37 AM#7
Guest
Bah! I opened game.dll in a Hex Editor and through my basic understanding of software began looking for string codes in the ASCII where there might be function calls or some published variables. Didn't find anything even remotely resembling the options for MaxHeroLevel, etc which might be applied to the skill limit of Level 3.

It did lead me to the value in UnitMetaData.slk referencing the max hero skills of 5 (Line 93 using Excel). Not sure if it's just there for reference or actually works though. Didn't find anything in MetaData mentioning the Skill Level Limit...

One thing that did hit me about the limit of Level 3 and it possibily being hardcoded: Is it possible that they actually made the variable just using 2 bits???
12-08-2002, 11:41 AM#8
BlacKDicK
There are no references on game.dll to skills tags lvl 4. You can find things like "Area3", "Data34" and all tags for levels 1-3, not for lvl 4 or above. I guess war3 will only read the tags from the slk that re on the game.dll , that's why even if you add tags for lvlv 4 on the slk it will still ignore them.

I guess we "need to instruct" game.dll to read more tags from the slk, but this is far away from my knowledge.
12-08-2002, 03:14 PM#9
Guest
Yeah, I see what you mean...

Since I'm a database programmer, I can understand the inability for this to work. Trying to work with dynamic column names usually gives me fits too. Of course since the column names are in the first line of the SLK you think they could parse it rather than relying on the hardcoded values.

What drove me nuts was the ToolTips I built displaying the values for Level 4 correctly. But then I was the one who added the references to Dur4, Data41, etc into the Strings file. By puttting that in there, I gave it the ability to read those fields. The DLL is another story...