• 🏆 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!

[Melee] Warcraft 3: Ability Draft

Status
Not open for further replies.
Level 13
Joined
Mar 6, 2008
Messages
852
144287-albums4222-picture92824.png

Hey girls and boys,
this project is my turn on the popular Dota 2 mode for the Warcraft 3 melee gameplay.
Started as a small side project for practicing wurst coding, it thrills me since more then a month by now.
My goal is to create an independent WurstScript code.
This means, I will be able to turn easily any melee map via compiletime function generated objects
and injected code into an A.D. map in seconds.
When I release this project, I will post the code in the description, because you won't find the code in the map.

Now some explanations for those who are not familiar with the game mode:
  • Players are given three random heroes.
  • Players take turns selecting abilities from a pool, given six seconds for each choice.
  • Different from Dota 2, the pool does not consist of the given hero abilities,
    rather than the whole ability pool of all 24 heroes.
  • Each player selects three normal abilities and one ultimate for each hero.
  • The maximum number of non AI-players will be 4 due to the current layout of the pick window
    and the overall pick time.
  • Only non AI-players will use the A.D.-heroes.
Limitations of the current build:
  • only 4 non-AI players possible
Special Thanks

Crigges - general help
WaterKnight - optimizing
Frotty and peq - WurstScript
Gorgonage - alpha testing
HammerFist132 - Button Model

I already take requests for transforming your favourite melee map into an A.D. map.
But if it is a non Blizzard map it will take some more time, because I'll have to ask the original author first.
I will not release all transformed maps in the maps section, rather then uploading only a dummy map
with the whole package attached to the description.

filmting%20permission.jpg

permission%20z.ky.jpg
Also check these out:

Heart of the Night is an innovative and ambitious AoS project.
I highly recommend to have a look at it.
Also we are still searching for additional members.

WurstScript is the new coding language for Warcraft. - Nuff said

The Funmap Evening. If you need someone to test your map in multiplayer
or if you just want to have fun playing various custom maps,
this is the right place for you.

The IRC Channel of the inWarcraft.de modding Community.
Feel free to join this channel if you want to contact me.
 
Last edited:
Level 13
Joined
Mar 6, 2008
Messages
852
Reserved for upcoming changes and known bugs

to-do list
  • normal abilities as hero abilities
  • campaign abilities as hero abilties
  • other pick modes

changes for version 0.4
  • one hero per attribut
  • Robogoblin available
  • Engineering Upgrade available


changes for version 0.3
  • total remake of the skillsystem

changes for version 0.2
  • the explanation texttags at the beginning of the game will be changed
  • tooltip improvements
  • zoom out a little bit for the pick table
  • name texttags for the pick heroes
  • adding visual highlights if one got a picked or random ability
  • actual random pick
  • preparations for 12 player maps
 
Last edited:
Level 6
Joined
Jan 17, 2014
Messages
166
I love ability draft and i'm using some sort of a system that abuses enginering upgrade to learn abilities to hero's. In my map, a dungeon crawler, its going to be a random x spells from a spellpool to choose from. So every game is something new and not the same imba build hero is going to show up.
I'm going to check it oit :)
 
Level 28
Joined
Oct 28, 2011
Messages
4,759
I already take requests for transforming your favourite melee map into an A.D. map.

Really?! Oh mha ghad please transform my melee map!

http://www.hiveworkshop.com/forums/maps-564/end-234607/
http://www.hiveworkshop.com/forums/maps-564/2-sanctuary-251050/
http://www.hiveworkshop.com/forums/maps-564/2-rocky-land-214662/

Its up to you want you want to do after transforming my maps(like uploading to other sites) but just make my map into that! Oh yeah but make sure you post it in the pastebin if you're sharing it here!
 
Level 13
Joined
Mar 6, 2008
Messages
852
Really?! Oh mha ghad please transform my melee map!

http://www.hiveworkshop.com/forums/maps-564/end-234607/
http://www.hiveworkshop.com/forums/maps-564/2-sanctuary-251050/
http://www.hiveworkshop.com/forums/maps-564/2-rocky-land-214662/

Its up to you want you want to do after transforming my maps(like uploading to other sites) but just make my map into that! Oh yeah but make sure you post it in the pastebin if you're sharing it here!
Your maps are altered melee maps. That'll be a little bit harder to transform but it is do-able.
For every custom object (units / doodads / etc) and every custom material, I have to add some code.
Because my stuff overwrites the existing object files of a map, which means everything you made custom, will be removed.
I'll transform one of your maps if you help me out as well. :p

I attached a text document called drafSetUp.
If you watch the video, you can see that the ability tooltips of the icons have these ugly id-codes e.g.

Level 1 - <nqb1,realHP> hit points, <nqb1,mindmg1> to <nqb1,maxdmg> damage.

and if you change them to:
Level 1 - 425 hit points, 13 to 15 damage.

That would be an immense help.
I am not asking you to do all. Only do as much as you want to invest :p


As for the uploads:

As long as this project is in development I upload it here:
http://warcraft.ingame.de/forum/showthread.php?p=5023450&postcount=1#post5023450
Edit: I just upload it to the hiveworkshop pastebin.

When this project leaves the beta phase I will release the maps like this:
http://www.hiveworkshop.com/forums/maps-564/sfa-theramore-isle-213584/?prev=d=list&r=20&t=41


Best video ever. :D (You and your damn owls :p )

Good luck with it!
Owls ftw! :D

Thank you all. I like that the project is already perceived positively.

Edit: Shit totally forgot that one has to be member of inwacraft to download something from there.
I'll add the maps to the hiveworshop pastebin immediately!


Edit2: Now the download links work properly!
 

Attachments

  • draftSetUp.txt
    53.4 KB · Views: 329
Last edited:
Level 28
Joined
Oct 28, 2011
Messages
4,759
Brutal object editor work? How can I resist?

I actually edited every default ability's tooltip before making them prettier with colors and better information so this one should be a piece of cake.


no Robogoblin
no Chemical Rage
no Metamorphosis
no Engineering Upgrade

This are the only thing that I shouldn't bother editing right?
 
Level 13
Joined
Mar 6, 2008
Messages
852
This are the only thing that I shouldn't bother editing right?
Yes, bothering with these abilities cost me nearly a month and the outcome always was pretty ugly. I will implement these abilities but later.

So, do you want to change the layout of the tooltips? That would be great.
They won't make it to the ingame abilities but the pick tooltips would benefit from this greatly. You won't have to bother with Manacost and Cooldown because I'll handle them differently, but if your style looks better I might change it to fit yours.

I'll do "Rocky Land" anyway because this map is only about the imported materials which is easy. So, which map do you want me to transform besides that?
 
Level 28
Joined
Oct 28, 2011
Messages
4,759
Hmmm, "In the End" have so many custom doodads so it might be a little hard. I prefer "In the End" since its my second favorite out of all my work but if you think it is too much then "the Sanctuary" is also fine.

Oh yeah, I'll work on this only when I'm taking a break or just have nothing else to do so it might take a little while.
 
Level 13
Joined
Mar 6, 2008
Messages
852
Then I will do "In the End" :)

I would love to try implement this in Ice Crown for sake of the old favorite, can I install the file into the map myself?
If it is a standard melee map, you could actually do it yourself. You just need the WurstScript WorldEditor (WurstWE) and my workspace folder.
If you move your map into the folder and save the map with the WurstWE, you just have to restart the editor, change one constant (Advanced -> Gameplay Constants)
and the map would be done.

I will release my workspace folder when this project leaves the alpha phase. At the moment I don't feel like it is going to be a good idea since I don't want
an unfinished project to spread.

But I can transform the map for you and upload it here with the changes of version 0.2 which I plan to release until new years eve.
So, which map are you refering too. I can't find any map called Ice Crown.
Keep in mind that this project is limited to 2-to-4-Player maps at this moment.
Edit: Well, the first 4 players only can use the random gameplay. For example, 12 Player maps are possible but you can only play 4 human players vs 8 AI players.
 
Last edited:
The original Blizzard Map (12)Ice Crown
I know it maybe sounds ridiculous, as it's kinda an ancient map from Blizzard.

I will wait for the file to be released, until them I'll stick with what already been made.

Is the linked maps on the first post are playable? If so, I would like to test it directly from those maps.

EDIT :
It's okay for me about 4vs8 Humans vs AIs
 
Level 13
Joined
Mar 6, 2008
Messages
852
The original Blizzard Map (12)Ice Crown
I know it maybe sounds ridiculous, as it's kinda an ancient map from Blizzard.
Ahh, a roc map :)
That's not problem.

Is the linked maps on the first post are playable? If so, I would like to test it directly from those maps.
Of course, otherwise I wouldn't link them :D
Also the map one can see in the video (Renegade City) is available at makemehost.com as "(4)ReCi_AD_0.1.w3x".

I already have some ideas for implementing 8 and 12 player maps.
The problem is the pick time. I think it would be acceptable if I let two or three players pick at the same time. That wouldn't change much, I just have to refresh the pick pool. But I have no idea how to visualize so many players.
 
Last edited:
Level 13
Joined
Mar 6, 2008
Messages
852
Finally, I got a working version again.
Nearly all changes I wanted to make for version 0.2 are done.

Now, one has player names as floating texttags, a visual highlight if one got the ability and the explanation texts are now differently made.
attachment.php
attachment.php
Also the game starts faster now.

What one can't see is, that I started making the systems compatible for up to 12 player maps, which also broke a lot of systems but it works now.
Nevertheless, I still stick to the 4 player limit for now.

Also the base pick order is actual random now. Before, player 1 always started to pick, then player 2, etc.
 

Attachments

  • Example1.jpg
    Example1.jpg
    188.4 KB · Views: 7,262
  • Example2.jpg
    Example2.jpg
    189.5 KB · Views: 5,372
Level 21
Joined
Mar 27, 2012
Messages
3,232
There are some things I don't understand about this.

1. Why do you not use proper hero icons for training? It's not that hard to do through techtree enabling/disabling and object editor data.
2. Skills do not have their proper icons or description for learning. It's possible to give hero abilities upon being trained, so this is unnecessary.
 
Level 13
Joined
Mar 6, 2008
Messages
852
EDIT :
Tried it, the first version is quite amazing, I was going nuts when I realize one or more of my heroes have funny skillset
Thank you very much :)

1. Why do you not use proper hero icons for training? It's not that hard to do through techtree enabling/disabling and object editor data.
2. Skills do not have their proper icons or description for learning. It's possible to give hero abilities upon being trained, so this is unnecessary.
I simply didn't know that these points are possible.
What is the native for giving hero abilities or is there another tricky way?
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
Just give the ability with the usual UnitAddAbility native. If this makes the ability start out learned, then set its level lower or something. I'm quite sure hero abilities can be added, as it has been done in maps such as Custom Castle Defense.

About the altars, make a few generic types like you have now. Then make all heroes trainable at every altar and Disable the invalid ones when you have randomed the heroes for each player.
 
Level 13
Joined
Mar 6, 2008
Messages
852
I guess the thing with the altar can be done easily for the next update.
Just give the ability with the usual UnitAddAbility native. If this makes the ability start out learned, then set its level lower or something. I'm quite sure hero abilities can be added, as it has been done in maps such as Custom Castle Defense.
I tried it that way, but it did not work.
What I have tried before was giving every hero every hero ability as normal ability and disabled them with
SetPlayerAbilityAvailable(whichPlayer, abilid, avail)
After the pick phase I enabled the abilities which were picked.
This worked fine but I had to give every hero their own ability set because the abilities would be enabled for all heroes of that player.
So, I had ca. 3000 objects and the map needed about 3-4 minutes to load.
Unfortunately the Widgetizer couldn't handle it anymore so there is no optimization possible at the moment. And there was another problem.
A lot of abilities work while they are disabled like Black Arrow or Spiked Carapace.
To solve this I added a fourth level which nulled all effects.
The problem with that was that the levels of the disabled abilities won't be taken if the hero uses a morph ability as Chemical Rage or Metamorphosis and Mirror Images as well.

If there is a way to add skillable hero abilities via Trigger and these abilities won't be removed if the hero morphs, then I will definitely do it.
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
Other possibilities:
Engineering upgrade - using this to replace dummy abilities with real ones
Hidden spellbooks with hero abilities.


Okay, I looked at the ability guide. In there is this method: Use engineering upgrade with a nonexistent base ability(the one that's supposed to be there before getting EU). Add and remove the engineering upgrade and it will use the fields of the previous ability(including level being 0) on the new one and will be learnable.
 
Level 13
Joined
Mar 6, 2008
Messages
852
Other possibilities:
Engineering upgrade - using this to replace dummy abilities with real ones
Hidden spellbooks with hero abilities.

Okay, I looked at the ability guide. In there is this method: Use engineering upgrade with a nonexistent base ability(the one that's supposed to be there before getting EU). Add and remove the engineering upgrade and it will use the fields of the previous ability(including level being 0) on the new one and will be learnable.
Sounds like a good plan. I will do that for version 0.3. If that works it's like a belated christmas present :D
Nevertheless, here is version 0.2.

Update Version 0.2 (2)Melting Valley by Blizzard

(4)Renegade City by Filmting

(4)Twisted Meadows by Blizzard

(12)Ice Crown by Blizzard (only 4 non-AI players possible)
  • the explanation texttags at the beginning of the game are changed
  • tooltip improvements
  • name texttags for the pick heroes
  • added visual highlights if one got a picked or random ability
  • actual random pick
  • preparations for 12 player maps

@sonofjay, I couldn't add any of your maps yet and I can't do (2)Rocky Land at all
because somehow the center of the map is somehow outside the map.
I guess you modified the map bounds and your shift the map only in one direction.
But I already started with "In the End" and it will come with the update 0.3.

@Daffa the Mage, Ice Crown is attached :)
(But still only 4 non-AI Players possible)


Edit: Maps removed due to new version update.
 
Last edited:
Level 13
Joined
Mar 6, 2008
Messages
852
Okay, I looked at the ability guide. In there is this method: Use engineering upgrade with a nonexistent base ability(the one that's supposed to be there before getting EU). Add and remove the engineering upgrade and it will use the fields of the previous ability(including level being 0) on the new one and will be learnable.
Adding the EU to replace a dummy ability works, but if I remove the engineering upgrade, the effect is also gone. And if I add EU without removing it and then use a morph ability, EU is also removed and the effect as well.

You can hold Rocky Land for now but how do I fix that problem? Anyway, can't wait for In the End. :)
If I knew how to fix it, I would do it :D
Haven't seen that before as well.
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
Adding the EU to replace a dummy ability works, but if I remove the engineering upgrade, the effect is also gone. And if I add EU without removing it and then use a morph ability, EU is also removed and the effect as well.

Try switching around the abilities, so that the effect would instead be applied when you remove EU. You might need to use some dummy abilities on the unit to make it happen.
 
Level 13
Joined
Mar 6, 2008
Messages
852
Try switching around the abilities, so that the effect would instead be applied when you remove EU. You might need to use some dummy abilities on the unit to make it happen.
Wow I could get it to work. I am so happy right now, because I struggled with it nearly two months.

This is how it works:

  • Hero has a dummy hero ability A
  • Hero gets an EU ability B that replaces dummy ability A with the ability you want to have in the end (C)
  • Hero gets another EU ability D which replaces ability C with another dummy ability E
  • Remove ability B
  • Remove ability D
  • et voilà, only the ability C is left, fully operational and skillable

Thank you so much Xonok.
This means I'll rework the whole skill system for version 0.3.
 
Last edited:
Level 13
Joined
Mar 6, 2008
Messages
852
It might even be possible to do it with less steps.

Refer to the ability guide for more precise instructions on how it's supposed to work.

Atm I am not willing to test those things myself, but maybe the success streak will keep going.
I got everything to work. One trains the heroes directly and one can skill the abilities directly as well. I even created every ability for the hotkeys Q W E R. It feels so much better now.

Version 0.3 will be a great update.
 
Level 13
Joined
Mar 6, 2008
Messages
852
During multiplayer testing of version 0.3, we had the problem that our abilities were mixed up due to me using a wrong index. Also the new way how I add abilities, caused a lag at the first spawn of each hero. I could solve both problems.

So, version 0.3a will come very soon. The only goal left for this version is the transformed map "In the End" by sonofjay.
 
Level 13
Joined
Mar 6, 2008
Messages
852
I got a lot of feedback yesterday by playtesting the version 0.3a and we encountered several bugs which are totally new to me again ...
But today, I will do some hotfixes so that I've got a stable version again and then I release the new version.
I already have so many points for version 0.4 again ^^
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
Tried the new version(0.3a) and it looks better.
A few more things:
*The picks are too fast to think even with a previously thought out set of abilities. I wish there was a way to freely pick abilities but without the stressful timing.
*The order of abilities seems random, even though the abilities are the same. What's with that?
 
Level 13
Joined
Mar 6, 2008
Messages
852
Tried the new version(0.3a) and it looks better.
A few more things:
*The picks are too fast to think even with a previously thought out set of abilities. I wish there was a way to freely pick abilities but without the stressful timing.
*The order of abilities seems random, even though the abilities are the same. What's with that?

Thank you.

*The pick time is 6 seconds at the moment. I don't think the project would benefit from a longer pick time.
The pick time of Dota 2 is 5 seconds so it is already a little bit longer.
The problem is, if you have a full house game there are "4 Players x 3 Heroes x 4 Abilities x 6 seconds" = 4.8 Minutes.
Every additional seconds increases the wait time a lot.
In Dota 2 there are less heroes overall but there are 10 seconds breaks between each pick cycle.
I don't want people to wait too long for the actual game.
For the single player mode I could remove pick time at all.
Maybe I could change the way the counter counts works.
I could increase the pick time to 7 seconds and if there are more then 3 seconds left for picking then it sets the counter to 3 seconds left.

*What do you mean with the order? Heroes get the abilities in the order which they are picked and so are the hotkeys Q W E R (I admit I have to change the tooltips for that.)
Or do you mean the abilities from the pick pool? I shuffled all abilities and put them into the limited pick pool. Because there are no 100 standard heroes like in dota, the pick table could look similar from time to time that's true.

@all: I would be really happy if you send me replays of multiplayer matches.
I discovered so many bugs and improveable points during multiplayer matches, it is insane.
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
Thank you.

*The pick time is 6 seconds at the moment. I don't think the project would benefit from a longer pick time.
The pick time of Dota 2 is 5 seconds so it is already a little bit longer.
The problem is, if you have a full house game there are "4 Players x 3 Heroes x 4 Abilities x 6 seconds" = 4.8 Minutes.
Every additional seconds increases the wait time a lot.
In Dota 2 there are less heroes overall but there are 10 seconds breaks between each pick cycle.
I don't want people to wait too long for the actual game.
For the single player mode I could remove pick time at all.
Maybe I could change the way the counter counts works.
I could increase the pick time to 7 seconds and if there are more then 3 seconds left for picking then it sets the counter to 3 seconds left.

*What do you mean with the order? Heroes get the abilities in the order which they are picked and so are the hotkeys Q W E R (I admit I have to change the tooltips for that.)
Or do you mean the abilities from the pick pool? I shuffled all abilities and put them into the limited pick pool. Because there are no 100 standard heroes like in dota, the pick table could look similar from time to time that's true.

@all: I would be really happy if you send me replays of multiplayer matches.
I discovered so many bugs and improveable points during multiplayer matches, it is insane.
Okay, this clarified things a bit.
I think it would make sense to have an all pick mode with the full ability pool and allowing duplicates. It wouldn't be draft pick, but it would be a very good alternative mode. This mode would also avoid the long pick time because every player can pick their abilities at the same time.

An alternative would be being able to vote for pick time in a wide range, because matches with less players can allow longer pick times per player.
 
Level 13
Joined
Mar 6, 2008
Messages
852
Okay, this clarified things a bit.
I think it would make sense to have an all pick mode with the full ability pool and allowing duplicates. It wouldn't be draft pick, but it would be a very good alternative mode. This mode would also

avoid the long pick time because every player can pick their abilities at the same time.

You descripe the non-official dota 2 mod Legends of Dota pretty well :D
In that mod you also have the possibility to pick a fifth ability which is a unit ability.
It would be a fun addition but it's not on of the things I want to implement before version 1.0.

The idea behind ability draft is to have a certain random situation where you have to adjust your playstyle while being able to counter spells of your opponent.
Because of the limited pick pool, the overall gameplay should feel different for every new game.
This is the type of game I really like. Technically I should implement some kind of draft for the units and buildings but I don't think this will happen anytime soon.
Possible stuff which is easy to implement is something like randomizing creep camps and mercanaries. But I will only implement that, if it is wanted.

The pick pool consits of 39 normal abilities and 13 ultimates due to having 12 hereos during a full house game.
I did not add one more set of abilities because this is also made in the dota 2 map rather than making certain abilities not possible to pick together on the same hero as Chemical Rage and Robo

Goblin, which just bug if they are used together.
Overall there are 72 normal abilities and 24 ultimates. I will make Robo Goblin and Engineering Upgrade available for verion 0.4.

An alternative would be being able to vote for pick time in a wide range, because matches with less players can allow longer pick times per player.
Sure, I think I will implement it. Maybe not for the next update but for the following one.

At the moment I have so many points for the next update that I don't know where to start :D
But that shouldn't hinder people to report more points :)
 
Level 13
Joined
Mar 6, 2008
Messages
852
Finished nearly everything I wanted to do for version 0.4.
All abilities work now and will be available. I only have to adjust the preload and some minor fixes.

Any standard melee map wishes?
(At the moment I encounter strange bugs if I use an altered melee map.
So, I can transform only maps without custom material.)
 
Level 13
Joined
Mar 6, 2008
Messages
852
Last edited:
Status
Not open for further replies.
Top