• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • It's time for the first HD Modeling Contest of 2025. Join the theme discussion for Hive's HD Modeling Contest #7! Click here to post your idea!

War's Legacy v1.1 (Draenei Update)

This bundle is marked as high quality. It exceeds standards and is highly desirable.

Created by wa666r

301554-21725bf5a31f24371b1fc037bcaf9649.png



After many requests and much anticipation, I am proud to present War's Legacy—a project I’ve been working on for quite some time. It currently features 14 fully custom factions in a single map, all updated to the latest versions, surpassing even the standalone versions I’ve previously uploaded. As of version 1.0, this project includes 558 custom units, 101 custom items, 1,222 custom abilities, 415 custom buffs/effects, 84 custom upgrades, over 1,100 custom triggers, and nearly 5,000 custom assets.

Each faction also comes with its own custom melee AI. Creating these required me to learn the fundamentals of AI design, and with the help of a few friends, I was able to bring them to life. However, it should be noted that some perform better than others, especially given the limitations of Warcraft 3’s AI system—most notably, the constraints on custom gold mines.

I’ve done my best to optimize this project, but there are still occasional moments of instability. Whether due to my own limited skill set or the constraints of the game engine, please keep in mind that this is an enormous project, and some issues are inevitable.




301568-1d7bd445cf0ccdc02d828f9566729c72.png

301555-b864eaff206cb44de20b125618aefaf1.png
301556-bff2fba3b884cdab953b6c537845039b.png
301557-42119da6a67b408e05aa7629fc6f208a.png
301558-73fdf5307493a1c491109e2a133045ac.png
HUMAN

The Human Alliance is a coalition of noble kingdoms united to protect Azeroth from external threats, emphasizing honor, faith, and perseverance. They value cooperation and fight to preserve their heritage against encroaching darkness.
ORC

The Orcish Horde, forged in blood and strength, embraces a culture of survival and unity. Driven by honor and a desire for freedom, they rally under Warchiefs to overcome any challenge.
NIGHT ELF

Ancient guardians of nature, the Night Elves wield druidic magic and shadowy power to protect the world from destruction. Their civilization thrives in harmony with the wilds they revere.
UNDEAD

The Undead Scourge is an unholy army of mindless and malevolent creatures, raised to serve under the will of their dark masters. They exist to spread plague and death across Azeroth.

301559-a2d9d0e239ee03e4cbb2c0a005265074.png
301560-33367994743ba978c9e9dd2f1ba450ab.png
301590-5717b9a4d3c2a3b873ff83aaa1158297.png
301576-bc582b9febea986b6ae6040fcc6e369c.png
BRONZEBEARD CLAN

The Bronzebeard Clan are hardy and industrious dwarves, known for their unmatched craftsmanship and stalwart resolve. Loyal and dependable, they form the backbone of Ironforge's strength.
DARK IRON CLAN

Masters of fiery magic and shadowy intrigue, the Dark Iron Clan is a faction of rebellious dwarves who serve darker powers. They forge alliances of convenience to further their ambitions.
WILDHAMMER CLAN

The Wildhammer Clan are adventurous and nature-revering dwarves, famed for their mastery of gryphons and lightning-infused weaponry. They live in harmony with the wilds of the Hinterlands and beyond.
FEL HORDE

Twisted by demonic influence, the Fel Horde is a savage and merciless faction of orcs and allies. Fueled by fel magic, they bring ruin to all who oppose them.

301561-ba781b94a8014f8b4544a6281a424d12.png
301562-7caba15376d87602c9bd428d73ae20d2.png
301578-e7bf087a9f793bc5941de602d6ce16db.png
301563-ec8105dc9c64f9593aee35d1503808d0.png
DARK HORDE

The Dark Horde is a splinter group of brutal and unrelenting orcs who rejected redemption. They align with monstrous allies to wage war and reclaim their lost dominance.
VOID ELVES

Void Elves are former blood elves who embraced the mysterious power of the Void. Balancing the temptation of corruption, they use their shadowy gifts to protect Azeroth from the Void's horrors.
QIRAJI

The Qiraji are an insectoid race driven by the will of their Old God masters. Bound to their ancient city of Ahn'Qiraj, they plot to spread their dark influence across the world.
ICE TROLLS

The Ice Trolls are fierce and resilient natives of the frozen north, clinging to their shamanistic traditions. They are often hostile to outsiders encroaching on their lands.

301564-add45bdbce57b7fe2361a1aa032328dc.png
301565-e28b702b1ded3617e7685553a65c140d.png
301566-830ac1e93feb8455f73f674e3d8117f5.png
301567-b77661e1c6c43442883ec95c2207a390.png
FACELESS ONES

Servants of the Old Gods, the Faceless Ones are eldritch horrors who embody madness and chaos. They dwell in the depths, seeking to bring about the return of their masters.
FELBLOOD ELVES

Felblood Elves are blood elves corrupted by demonic fel energy, trading their grace for monstrous power. Their thirst for power makes them dangerous and unpredictable.
UNDEAD NERUBIANS

Undead Nerubians are the cursed remnants of the once-great nerubian empire, enslaved by the Scourge. They serve as cunning and relentless agents of undeath.
LIVING NERUBIANS

The Living Nerubians are the last free descendants of a fallen empire, defending their subterranean kingdoms with unmatched intelligence and resilience. Fiercely independent, they struggle against overwhelming odds.


full
full
EXODAR DRAENEI

The Exodar Draenei are a resilient and mystical race, deeply connected to the Light and advanced technology, using Arkonite Crystals to empower their troops with auras that boost strength and resilience. Their divine Gift of the Naaru enhances healing capabilities, while their mechanical units and technological prowess make them a formidable force in any conflict.
LIGHTFORGED DRAENEI

The Lightforged Draenei are a devout and tenacious race, blessed with radiant abilities and exceptional durability, excelling in prolonged battles and restoration. Their light-based powers bolster their ranks, ensure swift recovery, and illuminate the path to victory with unwavering faith and robust defenses.




301570-6271a0185d21f9eb28201e2f65805963.png


301572-542faf093b02b18ff96ea961327b4986.png
301573-bac6d2dee0db7dfa3237f086906b9083.png
301574-b3f7884889b340c99eceae77ce90151a.png
301575-eff786fa02a2da85b92fc1f2535ce92f.png
301577-55da97fc90d88841e3c064efc3b98f42.png










301569-aa64f8931085bdd85e0d08a52b734bc8.png

Player 1 will act as the Host, selecting the races for the Computer players at the start of the game. The difficulty can also be adjusted here.

Make sure the Computer's race is not set to Night Elf. (Even if you wish to face Night Elf opponents, selecting them can cause non-Night Elf AIs to malfunction.)

Once the match begins, each player will proceed to a custom race selection screen.









301571-ad2a2f7aa07903120a1268ee493a4f64.png

Factions yet to be added:

301587-99de4b05a7ef03e758f583db1efb7f11.png
301588-62342561a8c2362e97f034078bd8403c.png
301586-32fdb3f3d4591cc9921cbb802ce7a805.png
301585-cf35e2e5932377c6e778c69584165f9f.png
301584-4f4a850209dcbb34a3c84746c802afc3.png
301583-cea2285402f9bbd4f4af3e65cc319889.png
301582-5d99f9349a0323321173dc9a41bc7c10.png
301581-2ccc168c8fbeca15d6481329f4de89d6.png
301580-afd881370ce4bf0d0c82de82fc16b2de.png
IllidariHigh Elf RamnentForsakenKirin TorNightborneLost OnesScarlet CrusadeHigh ElvesWorgen

  • While working on this project, I discovered an interesting limitation: the gameplay constants in Warcraft III do not provide infinite slots for heroes and town halls. To address this, a new system was implemented with the help of Riki. This system introduces a custom tier and hero limit mechanism. However, one limitation remains: once you select a hero, you cannot choose another until the current hero has finished summoning or reviving.
  • I am uncertain about the stability of the engine and whether it can support adding all my factions into a single map file. While I aspire to eventually complete and implement all my factions, the feasibility of this goal remains unclear.
  • This project is designed to be played on Warcraft 3 version 2.0+.
  • If anyone is interested in creating exclusive melee maps for this project, let me know. I think it would be cool to have maps based on each faction.
  • Looking for anyone who can optimize code, particularly GUI and jass. I am trying to make this as optimized as I can so that I can fit all my factions.



305809-c07ac475d5ac051a398f749a227dc424.png

full
Added Exodar Draenei to the race pool.
full
Added Lightforged Draenei to the race pool.









First release




- New UI system implemented, allowing all factions to have their own UIs.
full
full
full
full
full
full
full
full
full
full
full
full





  • Exodar Draenei added.
  • Lightforged Draenei added.









  • 00110000
  • 13lackDeath
  • 67chrome
  • A.R.
  • Aleister
  • Alethos
  • Alpain
  • Amaruak
  • AndrewOverload519
  • AnemicRoyalty
  • assasin_lord
  • bakr
  • Battleborn
  • biridius
  • BlackDoom
  • BLazeKraze
  • Bleeq
  • Blizzard Entertainment
  • Bribe
  • bu3ny
  • Callahan
  • Carrington2k
  • Cavman
  • Champara
  • Bros
  • chr2
  • CloudWolf
  • CRAZYRUSSIAN
  • CreatorD3292
  • Daelin
  • Darkfang
  • Deolrin
  • Devine
  • Diego
  • Delgado
  • dickxunder
  • Direfury
  • dlrlwns
  • Donach
  • donut3.5
  • doom_sheep
  • Dx666xN
  • EdwardSwolenToe
  • EnetheruAnuon
  • Ether
  • eubz
  • eXciTe
  • Fingolfin
  • Frankster
  • FrIkY
  • Fuzzyfury
  • General Frank
  • Glitzage
  • GooS
  • Gottfrei
  • GreyArchon
  • Grendel
  • HandCLAW
  • HappyCockroach
  • Hantoo
  • Hate
  • Hawkwing
  • HerrDave
  • Himperion
  • Horn
  • Hyunrai
  • IamMclovin
  • JetFangInferno
  • Jhonny Janbo
  • johnwar
  • Kacpa2
  • Kangyun
  • kellym0
  • KelThuzad
  • keepitmovin
  • KYTON
  • Kyrbi0
  • Kolbosa
  • Kuhneghetz
  • kuanish
  • leyrender
  • Lender
  • Lichkings slave
  • Lockheart
  • Lord_T
  • Mad
  • Manastorm
  • MatiS
  • MasterHaosis
  • Mc !,
  • M0rbid
  • Mr ogre man
  • Mythic
  • Nasrudin
  • NatDis
  • nightelfbuilder
  • NightSkyAurora
  • Nilas Aran
  • nGy
  • Norinrad
  • PeeKay
  • Power
  • Praytic
  • PrincePhoenix
  • PrinceYaser
  • PROXY
  • ratamahatta
  • Red XIII
  • ReplikanT
  • Retera
  • Riot Games
  • ROMICH UA
  • Saelendious
  • Salmon
  • Scias
  • s4nji
  • Sellenisko
  • Shardeth
  • Shorka
  • Shyrony
  • Sin'dorei300
  • SinisterX
  • skrab
  • SnooBvip
  • Spellbound
  • Stan0033
  • T.J.
  • Tasyen
  • Tarrasque
  • Tauer
  • The_Silent
  • Thrikodius
  • Totoro
  • Tranquil
  • trinc
  • Trokkin
  • Ujimasa Hojo
  • Uncle fester
  • Valve
  • valkemiere
  • viiva
  • Villagerino
  • Vinz
  • Volvox
  • War_Golum
  • WILL THE ALMIGHTY
  • Windrunner29
  • Winter
  • Wolffman
  • Zack1996
  • ZiBitheWand3r3r


(If I missed any please let me know)


Contents

War's Legacy - Bane Burrow v1.1 (Map)

War's Legacy - Candlestick v1.1 (Map)

War's Legacy - Encircled v1.1 (Map)

War's Legacy - Enfold Spinach v1.1 (Map)

War's Legacy - Legion's Demise v1.1 (Map)

War's Legacy - Lilious v1.1 (Map)

War's Legacy - Over Rainbow v1.1 (Map)

War's Legacy - Reipjaw v1.1 (Map)

War's Legacy - Sorrel Autumn v1.1 (Map)

War's Legacy - The Juggernaut v1.1 (Map)

War's Legacy - Vanguard Point v1.1 (Map)

War's Legacy - Winterly Magic v1.1 (Map)

Reviews
deepstrasz
Without further ado, I bring to you, Approved. If you want more reviews, you should participate in the The Grand Review Exchange! R U L E S Site Rules Map Submission Rules M A P - D E S C R I P T I O N BB CODES BB Codes | HIVE MELEE MAPS...
Level 26
Joined
Feb 19, 2011
Messages
712
Are you mad? In a good way, of course. There is a lot of content to showcase...
By the way - all races feature some new content, right? Especially I see interesting Qiraji race...
All of the factions have had some updates. Some more than others. And you could also showcase them as allies or enemies since all have an ai here.
The Qiraji are a brand new faction that does not have a standalone upload. Kinda an exclusive.
 
Level 28
Joined
Jun 11, 2017
Messages
903
All of the factions have had some updates. Some more than others. And you could also showcase them as allies or enemies since all have an ai here.
The Qiraji are a brand new faction that does not have a standalone upload. Kinda an exclusive.
BTW, I tried to play as Qiraji and Dark Horde against Human & Bronzebeard. For an unknown reason, I froze and then crashed. I played on Sorrel Autumn map.
 
Even though I don't play melee, there's so much interesting content that you want to play it anyways, a really huge effort was put into it 👊 The biggest clash I've ever seen, great work! I wish your maps become as popular as they are enjoyable and unique 👍

I made the choice man, they are freaking cool :vw_love:These scions and their mechanic is something :vw_death:
Снимок экрана 2024-12-16 021037.png
Снимок экрана 2024-12-16 021415.png

Снимок экрана 2024-12-16 022906.png
Снимок экрана 2024-12-16 022928.png

So damn good 💙
 
Last edited:
Level 26
Joined
Feb 19, 2011
Messages
712
Will there be a version for patch 1.31
Nice work btw
Unlikely. You can try running it on 1.31, but I dont know if it will run well.
BTW, I tried to play as Qiraji and Dark Horde against Human & Bronzebeard. For an unknown reason, I froze and then crashed. I played on Sorrel Autumn map.
And of we go with the bug reports. Let me know if you find other issues.
Even though I don't play melee, there's so much interesting content that you want to play it anyways, a really huge effort was put into it 👊 The biggest clash I've ever seen, great work! I wish your maps become as popular as they are enjoyable and unique 👍

I made the choice man, they are freaking cool :vw_love:These scions and their mechanic is something :vw_death:
View attachment 501140View attachment 501141
View attachment 501142View attachment 501143
So damn good 💙
It was a crazy amount of work. I hope y'all will enjoy it.
 
I tried to play this but I encountered java.nio.file.InvalidPathException: Illegal char <"> at index 13: Melee_V1\28;K"ReplaceableTextures\Splats"\28;K"HumanUberSplat".blp error and it crashed game. So I changed my SLK parser, which was apparently bugged, and recompiled the game.

Then I got

Code:
runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at CreateNeutralHostile(war3map.j:20673)
    at CreateAllUnits(war3map.j:20996)
    at main(war3map.j:66301)

This is apparently because you are spawning a unit called Blood Wizard that isn't present in my unit data.

So then I recompiled my game to ignore an unknown unit type in these cases (random creep spawn or whatever), and then I got this problem:

Code:
JassException: Max jass array size exceeded
    at InitGlobals(war3map.j:18425)
    at main(war3map.j:66316)

So then I recompiled my game with a bigger max array size, noting that I could solve the problem by increasing only by 1 to a size of 32769 instead of 32768 because you're only writing 1 out of bounds write. Then I got this:

Code:
JassException: runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at sc___prototype2_evaluate(war3map.j:4513)
    at h__TriggerRegisterVariableEvent(war3map.j:4518)
    at InitTrig_Unit_In_Action(war3map.j:21364)
    at InitCustomTriggers(war3map.j:65383)
    at main(war3map.j:66317)

I don't really know what happened there so for the time being I programmed the system to ignore TriggerEvaluate calls on a null trigger. Then I got this:


Code:
JassException: runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at DFavour___init(war3map.j:8460)
Caused by: java.lang.IndexOutOfBoundsException: Index 16 out of bounds for length 16

That was just me, sorry, I had 16 players loaded instead of 28 players mode. So I was being cheezy, changed to 28 players, then of course had

Code:
java.lang.IllegalStateException: Missing texture: ReplaceableTextures\TeamColor\TeamColor16.blp

Because I was being lame and using a 1.27 install as an art asset source for my recompiled game. I guess that one's on me.

So I switched to using art files from 1.29, but then I got this:

Code:
JassException: runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at DFavour___init(war3map.j:8460)
Caused by: java.lang.IndexOutOfBoundsException: Index 28 out of bounds for length 28

Man, what are we doing here? I was wrong about needing 28 player mode. The problem is an out-of-bounds player access! Am I not crazy?

JASS:
    // Hotkeys
    loop
        set i=i + 1
        exitwhen i > 5
        set HotkeyListener[i]=CreateTrigger()
    endloop
    set i=- 1
    loop
        set i=i + 1
        exitwhen i > bj_MAX_PLAYER_SLOTS
        call BlzTriggerRegisterPlayerKeyEvent(HotkeyListener[1], Player(i), OSKEY_Q, s__OSKEY_META_CTRL, true)
        call BlzTriggerRegisterPlayerKeyEvent(HotkeyListener[2], Player(i), OSKEY_W, s__OSKEY_META_CTRL, true)
        call BlzTriggerRegisterPlayerKeyEvent(HotkeyListener[3], Player(i), OSKEY_E, s__OSKEY_META_CTRL, true)
        call BlzTriggerRegisterPlayerKeyEvent(HotkeyListener[4], Player(i), OSKEY_R, s__OSKEY_META_CTRL, true)
        call BlzTriggerRegisterPlayerKeyEvent(HotkeyListener[5], Player(i), OSKEY_T, s__OSKEY_META_CTRL, true)
    endloop

The second part of this pretty obviously should have been set to exitwhen i >= bj_MAX_PLAYER_SLOTS.

It's pretty late where I am staying, so I think I will sleep on this. I don't feel like making fake error players for out of bounds calls like Player(28) when it's zero-indexed, why is that even a concept that your map requires?

So then I went ahead and changed Player(28) to return null instead of a crash, because that makes sense.

That led me to this problem:
Code:
JassException: runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at InitializeUnitIndexer(war3map.j:23998)
Caused by: java.lang.NullPointerException: Cannot invoke "Trigger.addEvent(RemovableTriggerEvent)" because "t" is null

Now, it seems that for the problem above, we didn't agree on what ExecuteFunc should really mean. Apparently this unit indexer is expecting GetTriggeringTrigger to still work inside the ExecuteFunc call, which is a new one on me. On my side, I had been thinking that ExecuteFunc created a new context, where GetTriggeringTrigger wouldn't have a meaningful return value and therefore was returning null.

But my definition of ExecuteFunc had the following code comment in the native implementation anyway (lol!):

Code:
                        // TODO below TriggerExecutionScope.EMPTY is probably not correct

So I went ahead and told this thing to run with the scope of its caller.

That got me to the following:

Code:
JassException: runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at FavourLoop___onPeriod(war3map.j:19431)
Caused by: java.lang.NullPointerException: Cannot invoke "CPlayerJass.getController()" because "player" is null

But why do we have a null error when the script line count is pointing at the DestroyGroup? I'm pretty sure in this case, the JASS debug mode that I'm using in my recompiled engine is busted and has a bad line number tracker on this loop.

If we think for a moment about the broader concept, it's failing because player.getController() can't be called on a null player. So....


Code:
    local integer i= - 1
    local integer cVal
    local player play
    local string path
    local unit u
    loop
        set i=i + 1
        exitwhen i > bj_MAX_PLAYER_SLOTS

... it's this scat again. You're looping 0 - 28 and treating each as a player, for a total of 29 players. I'll try changing native GetPlayerController to return null if called on null instead of a crash, but my life would sure be easier if I didn't have to do that. Can you stop looping at only 28 players, which means Player(27), please?

The null player controller got me to the sweet success... of the void!



But obviously the problem here, based on your screenshots, is that you're using the UI natives. I didn't bother to add those to my recompiled game yet, so, too bad, I'm going to bed. Have a good night. Thank you for participating in this aperture science computer aided enrichment activity. Your specimen has been processed, and we now ready to begin the test proper.
 
Last edited:
Level 2
Joined
Mar 31, 2021
Messages
5
Great work man, the 3rd ability(passive or aura) of some heroes is bugged, only shows lvl 1 and lv2 effects on the upgrade tab, but besides that great faction customization, and they feel atleast a bit balanced.
 
Level 26
Joined
Feb 19, 2011
Messages
712
A lot of your races have inspired me to make my own, and it's a dream come true to see them all in action. Thank you!:grin:
Well I hope this well continue to inspire ya to make more!

I tried to play this but I encountered java.nio.file.InvalidPathException: Illegal char <"> at index 13: Melee_V1\28;K"ReplaceableTextures\Splats"\28;K"HumanUberSplat".blp error and it crashed game. So I changed my SLK parser, which was apparently bugged, and recompiled the game.

Then I got

Code:
runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at CreateNeutralHostile(war3map.j:20673)
    at CreateAllUnits(war3map.j:20996)
    at main(war3map.j:66301)

This is apparently because you are spawning a unit called Blood Wizard that isn't present in my unit data.

So then I recompiled my game to ignore an unknown unit type in these cases (random creep spawn or whatever), and then I got this problem:

Code:
JassException: Max jass array size exceeded
    at InitGlobals(war3map.j:18425)
    at main(war3map.j:66316)

So then I recompiled my game with a bigger max array size, noting that I could solve the problem by increasing only by 1 to a size of 32769 instead of 32768 because you're only writing 1 out of bounds write. Then I got this:

Code:
JassException: runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at sc___prototype2_evaluate(war3map.j:4513)
    at h__TriggerRegisterVariableEvent(war3map.j:4518)
    at InitTrig_Unit_In_Action(war3map.j:21364)
    at InitCustomTriggers(war3map.j:65383)
    at main(war3map.j:66317)

I don't really know what happened there so for the time being I programmed the system to ignore TriggerEvaluate calls on a null trigger. Then I got this:


Code:
JassException: runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at DFavour___init(war3map.j:8460)
Caused by: java.lang.IndexOutOfBoundsException: Index 16 out of bounds for length 16

That was just me, sorry, I had 16 players loaded instead of 28 players mode. So I was being cheezy, changed to 28 players, then of course had

Code:
java.lang.IllegalStateException: Missing texture: ReplaceableTextures\TeamColor\TeamColor16.blp

Because I was being lame and using a 1.27 install as an art asset source for my recompiled game. I guess that one's on me.

So I switched to using art files from 1.29, but then I got this:

Code:
JassException: runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at DFavour___init(war3map.j:8460)
Caused by: java.lang.IndexOutOfBoundsException: Index 28 out of bounds for length 28

Man, what are we doing here? I was wrong about needing 28 player mode. The problem is an out-of-bounds player access! Am I not crazy?

JASS:
    // Hotkeys
    loop
        set i=i + 1
        exitwhen i > 5
        set HotkeyListener[i]=CreateTrigger()
    endloop
    set i=- 1
    loop
        set i=i + 1
        exitwhen i > bj_MAX_PLAYER_SLOTS
        call BlzTriggerRegisterPlayerKeyEvent(HotkeyListener[1], Player(i), OSKEY_Q, s__OSKEY_META_CTRL, true)
        call BlzTriggerRegisterPlayerKeyEvent(HotkeyListener[2], Player(i), OSKEY_W, s__OSKEY_META_CTRL, true)
        call BlzTriggerRegisterPlayerKeyEvent(HotkeyListener[3], Player(i), OSKEY_E, s__OSKEY_META_CTRL, true)
        call BlzTriggerRegisterPlayerKeyEvent(HotkeyListener[4], Player(i), OSKEY_R, s__OSKEY_META_CTRL, true)
        call BlzTriggerRegisterPlayerKeyEvent(HotkeyListener[5], Player(i), OSKEY_T, s__OSKEY_META_CTRL, true)
    endloop

The second part of this pretty obviously should have been set to exitwhen i >= bj_MAX_PLAYER_SLOTS.

It's pretty late where I am staying, so I think I will sleep on this. I don't feel like making fake error players for out of bounds calls like Player(28) when it's zero-indexed, why is that even a concept that your map requires?

So then I went ahead and changed Player(28) to return null instead of a crash, because that makes sense.

That led me to this problem:
Code:
JassException: runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at InitializeUnitIndexer(war3map.j:23998)
Caused by: java.lang.NullPointerException: Cannot invoke "Trigger.addEvent(RemovableTriggerEvent)" because "t" is null

Now, it seems that for the problem above, we didn't agree on what ExecuteFunc should really mean. Apparently this unit indexer is expecting GetTriggeringTrigger to still work inside the ExecuteFunc call, which is a new one on me. On my side, I had been thinking that ExecuteFunc created a new context, where GetTriggeringTrigger wouldn't have a meaningful return value and therefore was returning null.

But my definition of ExecuteFunc had the following code comment in the native implementation anyway (lol!):

Code:
                        // TODO below TriggerExecutionScope.EMPTY is probably not correct

So I went ahead and told this thing to run with the scope of its caller.

That got me to the following:

Code:
JassException: runThreads() encountered exception
    at <unknown function>(<unknown source>:-1)
    at FavourLoop___onPeriod(war3map.j:19431)
Caused by: java.lang.NullPointerException: Cannot invoke "CPlayerJass.getController()" because "player" is null

But why do we have a null error when the script line count is pointing at the DestroyGroup? I'm pretty sure in this case, the JASS debug mode that I'm using in my recompiled engine is busted and has a bad line number tracker on this loop.

If we think for a moment about the broader concept, it's failing because player.getController() can't be called on a null player. So....


Code:
    local integer i= - 1
    local integer cVal
    local player play
    local string path
    local unit u
    loop
        set i=i + 1
        exitwhen i > bj_MAX_PLAYER_SLOTS

... it's this scat again. You're looping 0 - 28 and treating each as a player, for a total of 29 players. I'll try changing native GetPlayerController to return null if called on null instead of a crash, but my life would sure be easier if I didn't have to do that. Can you stop looping at only 28 players, which means Player(27), please?

The null player controller got me to the sweet success... of the void!

View attachment 501221

But obviously the problem here, based on your screenshots, is that you're using the UI natives. I didn't bother to add those to my recompiled game yet, so, too bad, I'm going to bed. Have a good night. Thank you for participating in this aperture science computer aided enrichment activity. Your specimen has been processed, and we now ready to begin the test proper.
This is all to do with Warmash right?


Great work man, the 3rd ability(passive or aura) of some heroes is bugged, only shows lvl 1 and lv2 effects on the upgrade tab, but besides that great faction customization, and they feel atleast a bit balanced.
Tooltips have been quite an issue here and there. Another reason I'm not crazy sure about adding more. The Executioner hero from Fel Horde kept having her tooltips dysfunction. Which hero are you referring to?
 
This is all to do with Warmash right?
That might be the case, but the Player(28) stuff is a very real part of your map, if I'm not mistaken. As is the out-of-bounds write to an array. Do those things matter or cause issue on Reforged 2.0? I do not know for certain.
 
Level 26
Joined
Feb 19, 2011
Messages
712
That might be the case, but the Player(28) stuff is a very real part of your map, if I'm not mistaken. As is the out-of-bounds write to an array. Do those things matter or cause issue on Reforged 2.0? I do not know for certain.
Im pretty sure Player 28 is neutral passive "Player." I use it for the dummy recycler system.
 

deepstrasz

Map Reviewer
Level 74
Joined
Jun 4, 2009
Messages
19,958
Without further ado, I bring to you,
Approved.


If you want more reviews, you should participate in the The Grand Review Exchange!

R U L E S

Site Rules
Map Submission Rules

M A P - D E S C R I P T I O N
BB CODES
BB Codes | HIVE

MELEE MAPS
Description Guide - Melee Maps
Describing Your Melee Map
Melee Map Description Generator v1.3


MAPS IN GENERAL
The importance of a Description
Description Guide - Maps
Map Thread Guide
Map Description Making: Good & Bad
Map Description - Templates
Map Description Generator [1.2]

How to Add a Screenshot to your Map Description


ADDITIONAL NECESSARY INFORMATION
  • A credits list in the map thread description is required where the names of the resource (models, skins, icons, spells, sound etc.) authors are mentioned along with the specific resource. It would be a luxury to have links leading to the used resources. Credits in the Quest Log would be appreciated too.
  • A detailed changelog in the first post would be helpful to reviewers and notify fans about the newest implementations to your map.
  • Map thread tags are important. Please use those that fit and not more or none.


M A P - C R E A T I O N - G U I D E S

If you're not satisfied with the review and wish another opinion, contact the other reviewers or use the staff contact:
https://www.hiveworkshop.com/forums/staff-contact.692/
 
Level 2
Joined
Mar 31, 2021
Messages
5
Well I hope this well continue to inspire ya to make more!


This is all to do with Warmash right?



Tooltips have been quite an issue here and there. Another reason I'm not crazy sure about adding more. The Executioner hero from Fel Horde kept having her tooltips dysfunction. Which hero are you referring to?
3rd ability war master (dark horde), 3rd ability star binder (void elves), deploy shield(2nd ability) from technician (dark iron clan).
Another thing that would make this better is maybe more maps and bigger ones.
 
Level 26
Joined
Feb 19, 2011
Messages
712
3rd ability war master (dark horde), 3rd ability star binder (void elves), deploy shield(2nd ability) from technician (dark iron clan).
Another thing that would make this better is maybe more maps and bigger ones.
Tooltip.png


None of those had the issue you mentioned. Maybe its something player per player bases.
Noted.
 
Level 3
Joined
Apr 8, 2024
Messages
6
What an amazing set of alternate melee maps, I haven't tried most of the factions but the Faceless ones is definitely a favorite.
One of their main gimmick of cloning/copying units is extremely fun! Using a manipulator to clone a powerful creep and using more manipulators on the first one allows me to mass-produce that cloned creep. The High Disciple is also a fun hero due to the fact you can slowly build up an army of copied units without food cost with the only major downside of time investment and chip damage causing them to potentially despawn by accident. Also you can clone/copy workers than can build, lol.
Unfortunately the AI for the Faceless ones seems a bit broken, I couldn't get an allied one to mine gold so it just goes afk after spending its initial gold. The map I tried this on was Vanguard Point. (It also had a terrible habit on building next to the other gold mine when spawning in the middle, this upsets the creeps and causes them to start raiding its base) Hopefully it gets fixed in the future since I want to try out other factions vs this monster of a faction!

Absolutely looking forward to the Kirin Tor and Illidari factions being added. :thumbs_up:
 
Level 28
Joined
Jun 11, 2017
Messages
903
Played it before the recent patch release.

At first, I tried to play 2 vs 2 and got a crash. I was playing as Qiraji and I liked your implementation of such an ancient and mystical race. Personally, as a self-proclaimed qiraji-silithid expert, I would distinguish Qiraji and Silithid into 2 different races, but anyway - I like your implementation.

In added video I'm playing 1 vs 1 as Dark Iron Dwarf and oh Ragnaros - they are crazy:
  • Gain free unit from farm in cost of farm damage;
  • MOVABLE resource drop spot. You can take goldmine expansion without building an expensive town hall and it's even cooler than an undead mine takeover.
  • Nice coverage of dark iron lore, but I would like to see more fire elementals - probably I didn't reach them in T3.
I played against Bronzebeard Clan (kinda lore-wise and logical, believe me) and oh dear - I smashed them like a knife through butter.

This map shows very cool stuff, so like and 5 stars.
 
Level 26
Joined
Feb 19, 2011
Messages
712
What an amazing set of alternate melee maps, I haven't tried most of the factions but the Faceless ones is definitely a favorite.
One of their main gimmick of cloning/copying units is extremely fun! Using a manipulator to clone a powerful creep and using more manipulators on the first one allows me to mass-produce that cloned creep. The High Disciple is also a fun hero due to the fact you can slowly build up an army of copied units without food cost with the only major downside of time investment and chip damage causing them to potentially despawn by accident. Also you can clone/copy workers than can build, lol.
Unfortunately the AI for the Faceless ones seems a bit broken, I couldn't get an allied one to mine gold so it just goes afk after spending its initial gold. The map I tried this on was Vanguard Point. (It also had a terrible habit on building next to the other gold mine when spawning in the middle, this upsets the creeps and causes them to start raiding its base) Hopefully it gets fixed in the future since I want to try out other factions vs this monster of a faction!

Absolutely looking forward to the Kirin Tor and Illidari factions being added. :thumbs_up:

I'm glad you enjoyed them. They're a fun and unique faction for sure.

Did you happen to set the computer player to random or night elf?

Played it before the recent patch release.

At first, I tried to play 2 vs 2 and got a crash. I was playing as Qiraji and I liked your implementation of such an ancient and mystical race. Personally, as a self-proclaimed qiraji-silithid expert, I would distinguish Qiraji and Silithid into 2 different races, but anyway - I like your implementation.

In added video I'm playing 1 vs 1 as Dark Iron Dwarf and oh Ragnaros - they are crazy:
  • Gain free unit from farm in cost of farm damage;
  • MOVABLE resource drop spot. You can take goldmine expansion without building an expensive town hall and it's even cooler than an undead mine takeover.
  • Nice coverage of dark iron lore, but I would like to see more fire elementals - probably I didn't reach them in T3.
I played against Bronzebeard Clan (kinda lore-wise and logical, believe me) and oh dear - I smashed them like a knife through butter.

This map shows very cool stuff, so like and 5 stars.

Nice! Thanks for sharing.

Well I build them from whatever the wiki stated.

I wanted to avoid Fire Elementals too much, these ones are based on AFTER they were liberated from Ragnoros.
Funny enough, Bronzebeard has the weakest ai because a lot of their abilities the AI cant use. I'm hoping that when Riki returns he can help me implement more ai changes.
 
Level 3
Joined
Apr 8, 2024
Messages
6
I'm glad you enjoyed them. They're a fun and unique faction for sure.

Did you happen to set the computer player to random or night elf?
I usually set the AIs to human or orc, never selecting night elf as the map suggest nor random (chance for a night elf).
I tried testing it out again - On Vanguard Pont, making 4 allied players play as undead, human, orc and night elf. Then Juggernaught, same scenario except each with different teams. They all seemed to play normally except Nelf, as expected.
By the looks of it, it got fixed on it's own? Maybe it was the PC restart or Scan & Repair I did, Warcraft 3 is jank :ugly:. The middle gold mine is still a bit janky though. First picture was the yellow Nelf on my testing, second one was a red Human from a separate test.
 

Attachments

  • WC3ScrnShot_122324_103827_000.png
    WC3ScrnShot_122324_103827_000.png
    3.9 MB · Views: 37
  • WC3ScrnShot_122324_105332_000.png
    WC3ScrnShot_122324_105332_000.png
    4.1 MB · Views: 39
Level 2
Joined
Mar 31, 2021
Messages
5
I found a weird bug in ai for the felblood elves, they only build towers for some reason, i set up every AI for human, undead or orc, no random or night elf. Sometimes the ai bugs in another ways, like not setting up a base, one game the ai is dumb and then you play another map with the same race, and they are ok.
Maybe is because i selected normal, but i don't know, sometimes it bugs with insane.
Captura de Ecrã (8).png
Captura de Ecrã (7).png
 
Last edited:
Level 26
Joined
Feb 19, 2011
Messages
712
I usually set the AIs to human or orc, never selecting night elf as the map suggest nor random (chance for a night elf).
I tried testing it out again - On Vanguard Pont, making 4 allied players play as undead, human, orc and night elf. Then Juggernaught, same scenario except each with different teams. They all seemed to play normally except Nelf, as expected.
By the looks of it, it got fixed on it's own? Maybe it was the PC restart or Scan & Repair I did, Warcraft 3 is jank :ugly:. The middle gold mine is still a bit janky though. First picture was the yellow Nelf on my testing, second one was a red Human from a separate test.
I found a weird bug in ai for the felblood elves, they only build towers for some reason, i set up every AI for human, undead or orc, no random or night elf. Sometimes the ai bugs in another ways, like not setting up a base, one game the ai is dumb and then you play another map with the same race, and they are ok.
Maybe is because i selected normal, but i don't know, sometimes it bugs with insane.
View attachment 503544View attachment 503545

It's a miracle that the ai works at all.

Its also probably the most tedious and difficult element to test and improve.
 
Level 3
Joined
Jun 28, 2018
Messages
14
Great job Wa666r. Even though I have not trying out this map, but according to the review in this site, all of my thought is your project would be a big successful one. If I may suggest, it would be even more greater if you add Naga as a playable race in this map. Ok. That's it. Applause.
 
I'm kind of curious to see what you do with the Illidari, since I believe that was one of your least favourite faction designs so far

I also hope you're able to overcome the engine limitations for how many custom town halls you can include, it would be such a pain to come this far only to suffer a limitation like that - although I'm a little surprised, how did Ultimate Battle not encounter this complication?
 
Level 26
Joined
Feb 19, 2011
Messages
712
Great job Wa666r. Even though I have not trying out this map, but according to the review in this site, all of my thought is your project would be a big successful one. If I may suggest, it would be even more greater if you add Naga as a playable race in this map. Ok. That's it. Applause.

Highly unlikely that I'll make a Naga faction. Or Blood Elves. Both are highly saturated. However; I have them in my Illidari faction.

I'm kind of curious to see what you do with the Illidari, since I believe that was one of your least favourite faction designs so far

I also hope you're able to overcome the engine limitations for how many custom town halls you can include, it would be such a pain to come this far only to suffer a limitation like that - although I'm a little surprised, how did Ultimate Battle not encounter this complication?

Well my Illidari revamp is already completed. Just gotta implement it here. Which sounds easier than its done.

That issue has already been overcome. Riki the genius found a solution with a custom tier and hero system.
 
Highly unlikely that I'll make a Naga faction. Or Blood Elves. Both are highly saturated. However; I have them in my Illidari faction.



Well my Illidari revamp is already completed. Just gotta implement it here. Which sounds easier than its done.

That issue has already been overcome. Riki the genius found a solution with a custom tier and hero system.
Damn, Illidari is already revamped? I'd love to check them out if given the chance :D
 
Level 17
Joined
Sep 24, 2009
Messages
1,584
Perfection.

My favorite race are Wildhammer Dwarfs. Just one nitpick. That axethrower, siege guy makes no sense with siege weapon-like way of attacking and with over 1000+ range.
 
Level 13
Joined
Mar 4, 2014
Messages
234
This is probably the best altered melee map out there. Each race is nuanced, unique, and well-designed, which is really impressive. However, I’m finding that they are so nuanced that it takes a long time to get used to them. I feel somewhat familiar with the Living Nerubian race because it is a fully developed campaign you made, but I'm not so familiar with the others. Each of these new races could benefit from having their mini-campaigns to help players understand them better.

We tend to take the first four classic races for granted since we had extensive campaigns for them that allowed us to get to know and love them over time. With these new races, we don’t have that experience, which makes them feel foreign in a negative way, even though they are unique, beautiful, and complex.

Overall, I didn’t encounter too many bugs, but the main issue I faced was random FPS drops. Sometimes the game also freezes and crashes, which might be caused by certain spells; I’m not sure. There needs to be more testing done to figure it out. Of course, it doesn’t help that the new versions of Deforged keep coming out and breaking the custom maps and their codes. This is the reality that Warcraft III map makers have to deal with. You guys are living life on hardcore mode when it comes to making maps for this game! Not only do you have to navigate the challenges of map creation, but you also have to contend with game-breaking updates. It must be a nightmare!

My rating for this map is 𝓢 Tier (Masterpiece) with 97 out of 100 points!
 
Level 28
Joined
Jun 11, 2017
Messages
903
Played it again as Qiraji. Everything as said before is still actual, looking forward to see new additions to this map and new races to be explored!
It seems that the most stable for now from the whole pack are 1 vs 1 map. At least for myself.
And I played this map again, now with newly added Draenei & Lightforged Draenei.
Hell, Draenei feel so Protoss-like. At first, I thought that you would make Lightforged closer to Purifiers from Starcraft 2 LOTV & Fenix/Talandar Commander from SC2 Co-Op.

You must construct additional pylons!
 
Level 26
Joined
Feb 19, 2011
Messages
712
Perfection.

My favorite race are Wildhammer Dwarfs. Just one nitpick. That axethrower, siege guy makes no sense with siege weapon-like way of attacking and with over 1000+ range.
They workout a lot. And at the time there were no long-ranged siege models for Wildhamnmer.

oh you updated the uploaded version? I had no idea this happened so recently, maybe I will check it out after all :D
was particularly curious about what you'd do differently with it when you got back to it :D
Maybe you should check it out :D They're fun I think.

This is probably the best altered melee map out there. Each race is nuanced, unique, and well-designed, which is really impressive. However, I’m finding that they are so nuanced that it takes a long time to get used to them. I feel somewhat familiar with the Living Nerubian race because it is a fully developed campaign you made, but I'm not so familiar with the others. Each of these new races could benefit from having their mini-campaigns to help players understand them better.

We tend to take the first four classic races for granted since we had extensive campaigns for them that allowed us to get to know and love them over time. With these new races, we don’t have that experience, which makes them feel foreign in a negative way, even though they are unique, beautiful, and complex.

Overall, I didn’t encounter too many bugs, but the main issue I faced was random FPS drops. Sometimes the game also freezes and crashes, which might be caused by certain spells; I’m not sure. There needs to be more testing done to figure it out. Of course, it doesn’t help that the new versions of Deforged keep coming out and breaking the custom maps and their codes. This is the reality that Warcraft III map makers have to deal with. You guys are living life on hardcore mode when it comes to making maps for this game! Not only do you have to navigate the challenges of map creation, but you also have to contend with game-breaking updates. It must be a nightmare!

My rating for this map is 𝓢 Tier (Masterpiece) with 97 out of 100 points!
Appreciate your input. I'm glad you enjoy it.
Making a mini-campaign for each race is far, FAR easier said than done. It is some I have thought about, but yeah, its not a venture I want to get into. If anything I might make "coop commanders" like scenarios where you play against ai in a campaign-like mission.

Its an endless fight against blizzard and their updates. We just have to wait and see what they'll break next. It really doesnt feel like they care much for the mapmakers. Everything they implement is thrown in haphazardly.



And I played this map again, now with newly added Draenei & Lightforged Draenei.
Hell, Draenei feel so Protoss-like. At first, I thought that you would make Lightforged closer to Purifiers from Starcraft 2 LOTV & Fenix/Talandar Commander from SC2 Co-Op.

You must construct additional pylons!

Love the vids. I hope you'll keep 'em coming for all the factions. They both got some Protoss in them.
 
Level 17
Joined
Sep 24, 2009
Messages
1,584
@bakr made catapult for them maybe you can use it?
Or he could use something like this: Birdiepult

But, my point was that not every race needs catapult or ballista. They could also be siege unit without siege weapon-like mechanics. Let him be a unit with 300-400 range, siege attack, with decent movement and attack speed. Or even better, give him normal attack with tooglable ability to throw flaming axes, where he gains siege attack and burn effect, but reduce his attack and movement speed while active. Something like that.
 
Level 26
Joined
Feb 19, 2011
Messages
712
@bakr made catapult for them maybe you can use it?
Naw. That Siegebreaker grew on me. Maybe in the future, but I like them as is now.
Or he could use something like this: Birdiepult

But, my point was that not every race needs catapult or ballista. They could also be siege unit without siege weapon-like mechanics. Let him be a unit with 300-400 range, siege attack, with decent movement and attack speed. Or even better, give him normal attack with tooglable ability to throw flaming axes, where he gains siege attack and burn effect, but reduce his attack and movement speed while active. Something like that.

Every race needs to have a long-ranged siege option. Without it, players can just tower spam with the other player having no recourse against it. Long ranged siege is a must for every race.
 
Level 17
Joined
Sep 24, 2009
Messages
1,584
Respectefully disagree with you. That way you are just homogenizing races.
Give to one of your other units, let’s say “Napalm Bomb”, long range ability that only works on buildings where it gives building a DoT and 100% miss chance for the duration, and you have resolved the issue.

Also, every race should have some clear weaknesses. That is one of the biggest problems of your races.
While all of them are unique in their own way, the core design of units is samey if you play them long enough.
 
Level 26
Joined
Feb 19, 2011
Messages
712
Respectefully disagree with you. That way you are just homogenizing races.
Give to one of your other units, let’s say “Napalm Bomb”, long range ability that only works on buildings where it gives building a DoT and 100% miss chance for the duration, and you have resolved the issue.

Also, every race should have some clear weaknesses. That is one of the biggest problems of your races.
While all of them are unique in their own way, the core design of units is samey if you play them long enough.
And I in turn respectfully disagree with you. Every race needs to have some standards along with unique features. There needs to be play and counterplay involved. Thing like detection, siege, items, etc. A player shouldn't be able to have free reign to exploit a race that wasn't designed to have a counter to a certain method.

The vanilla races are also samey if you play them long enough. I am also limited in scope to what I can do with the engine itself. Mainly in regards to building methods and harvesting.
 
Naw. That Siegebreaker grew on me. Maybe in the future, but I like them as is now.
I also like the idea of a throwing axe guy being a long-ranged siege unit, it's a lot more unique but also I think if you switched to a catapult, there's already quite a few races with a version of the catapult, so it becomes a bit samey in unit design

Respectefully disagree with you. That way you are just homogenizing races.
Give to one of your other units, let’s say “Napalm Bomb”, long range ability that only works on buildings where it gives building a DoT and 100% miss chance for the duration, and you have resolved the issue.

Also, every race should have some clear weaknesses. That is one of the biggest problems of your races.
While all of them are unique in their own way, the core design of units is samey if you play them long enough.
Unfortunately, Warcraft 3 race design in its own right needs to follow a design philosophy that is symmetrical in nature. I think there are some ways to push the envelope in some ways and come up with some unique elements for unit designs, but there's also some things that often need to be introduced freely.

That being said, I do prefer the assymetric design philosophy, so maybe one day I'll see just how much I can get away with in custom race design again. Tbh though it would be hard to top the excitement of seeing all these custom races by wa666r fighting against each other using AI - especially with the capacity for all three dwarven races to compete against each other.
 
Top