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

The Construct Quarter

Qbz Presents

Construct Quarter
Created by Qbz

Map Info:

An implementation of The Construct Quarter from Naxxramas in World of Warcraft. Lead a Horde party against mighty bosses.

Features:

Control a party of eight Heroes:

Samuro, the Blademaster
Larentor Dawnfury, the Paladin
Mokumbo, the Druid
Zelath Goldhide, the Priest
Rexxar, the Beastmaster
Eldin Sunstrider, the Mage
Joe, the Death Knight
Thrall, the Shaman


Defeat four Bosses:

Patchwerk, an abomination that attacks his targets furiously
Grobbulus, a plague giant that spawns slimes and poison clouds
Gluth, a plague dog that can heal by eating zombies
Thaddius, an undead construct that attacks with electricity

Some other stuff about map:

This map was developed with C# using Drake53's toolchain.
A tutorial for getting started with this toolchain can be found here.
Devblog talking about my experience working on this project can be found here.

Screenshots and Videos:


Image Description:
A view overlooking the map
5TVcAKX.png



Image Description:
A top-down view of the map
4Firk7E.png




Image Description:
The Heroes and Bosses
MQ7vYYW.png


Image Description:
The Mage
JqCE2a5.jpg


Image Description:
The Death Knight
VafR3lo.jpg


Image Description:
The Paladin
15vTo4X.jpg



Image Description:
The Druid
1LA5edx.jpg


Image Description:
The Beastmaster
ZElCT5Z.jpg


Image Description:
The Blademaster
ByfH9PO.jpg


Image Description:
The Shaman
wDA4FD3.jpg



Video Description:
Patchwerk


Video Description:
Grobbulus


Video Description:
Gluth


Video Description:
Thaddius




Change Log:




Initial Version



Fixed loading screen and forces name. With 1.31 issues broader than initially expected, locked map to 1.32HD for now.





Credits:


Previews
Contents

The Construct Quarter (Map)

Reviews
Shar Dundred
Map appears to be functional & doesn't break any rules. Approved.
Level 18
Joined
Jan 1, 2018
Messages
728
Checked the yt videos and dev blog, looks like a solid map, good job! Unfortunately I was unable to play it on 1.31 (due to usage of the 1.32 native BlzStartUnitAbilityCooldown, which made the map crash on loading screen).
If it's not too much effort, would you consider making a 1.31-compatible version of the map? (and maybe a multipler version too ^^)

One minor thing though, on your blog's credit section, it links to War3Map.Template twice (second one should link to War3Api).
 

qbz

qbz

Level 4
Joined
Dec 1, 2019
Messages
80
Checked the yt videos and dev blog, looks like a solid map, good job! Unfortunately I was unable to play it on 1.31 (due to usage of the 1.32 native BlzStartUnitAbilityCooldown, which made the map crash on loading screen).
If it's not too much effort, would you consider making a 1.31-compatible version of the map? (and maybe a multipler version too ^^)

One minor thing though, on your blog's credit section, it links to War3Map.Template twice (second one should link to War3Api).

Is there something else I can use that has similar functionality? I guess I could also remove the ability and re-add it. If I remember correctly that call is only used to prevent any nonsense w/ a reincarnation based ability during scripted hero kills like being locked out of the boss arena or using the -wipe command. Is there any way for me to test on 1.31? Can I roll back my wc3 somehow?

I originally planned for multi in that there's a pretty high apm requirement to play "perfectly" but then I just re-tweaked the numbers to be a bit better for one person. Probably doable but might need a hero select system to pick heroes assigned to each player and then I'd have to go through and replace all the GetLocalPlayer() probably? Maybe, but less likely than fixing for 1.31 which I'll def do if possible.
 
Last edited:
Level 18
Joined
Jan 1, 2018
Messages
728
Is there something else I can use that has similar functionality?
There's UnitResetCooldown and BlzSetUnitAbilityCooldown, you can try using those.
For future reference, I made this so you can check if the functions you're using are 1.31 compatible. If you're unable to keep compatibility for whatever reason, I also recommend you update your MapInfo object to reflect this (I may add a method to make this easier, but for now you can update the GameVersion and FormatVersion manually).

Is there any way for me to test on 1.31? Can I roll back my wc3 somehow?
You can download the 1.31 PTR somewhere on Blizzard's site, or get a backup 1.31 from here: Patch 1.31.1 Backup Files

I originally planned for multi in that there's a pretty high apm requirement to play "perfectly" but then I just re-tweaked the numbers to be a bit better for one person. Probably doable but might need a hero select system to pick heroes assigned to each player and then I'd have to go through and replace all the GetLocalPlayer() probably? Maybe, but less likely than fixing for 1.31 which I'll def do if possible.
Yeah I saw in the videos the apm seems pretty low, so it should be doable to solo all those heroes. I was mostly asking because I suck at micro, so I usually prefer maps where you control a single unit, but also since a map can be a lot more fun if you play with friends.
I can't really tell you how much you'd need to change to make it multiplayer-friendly. If it's too much effort I wouldn't bother, the map would probably need to be rebalanced as well or it'd be too easy.
Usage of GetLocalPlayer can work in multiplayer maps, it depends on how you use it though. You may find this helpful (the attached zip in that thread).
 

qbz

qbz

Level 4
Joined
Dec 1, 2019
Messages
80
Do I need to downgrade my War3 api packages to 1.31 as well or should I be fine so long as I never call 1.32 functions? That might be a good way to check though right? It would just turn 1.31 violations into compile errors?
 
Level 18
Joined
Jan 1, 2018
Messages
728
Do I need to downgrade my War3 api packages to 1.31 as well or should I be fine so long as I never call 1.32 functions? That might be a good way to check though right? It would just turn 1.31 violations into compile errors?
Downgrading to force compile errors is also a good way to check yeah, but it's not required. If you reference package v1.32 but never use 1.32 functions it'll work on 1.31
 

qbz

qbz

Level 4
Joined
Dec 1, 2019
Messages
80
Yeah I temporarily downgraded just to identify all the calls. I actually hit an issue trying to use 1.31.1, some xml parsing error. Idk i just switched back to 1.32.2 after replacing the problem calls. But hopefully should work now. Just replaced the BlzStartUnitAbilityCooldown with remove then re-add ability.
 
Level 18
Joined
Jan 1, 2018
Messages
728
Still crashes on loading screen. The .w3i and map script should be 1.31-compatible now though. Not sure what else could cause this, maybe object data, but I don't have an automated method to check that right now (for this I would have to extract certain data from some .slk files and then parse .w3u etc files).
 

qbz

qbz

Level 4
Joined
Dec 1, 2019
Messages
80
hm yeah I thought maybe I might have uploaded incorrectly but I did a quick test on my laptop. But again, that's using the newest wc3 version through bnet. You were able to recognize BlzStartUnitAbilityCooldown was the cause previously, is there any error or anything similar that might point in the direction of the problem?
 
Level 18
Joined
Jan 1, 2018
Messages
728
I only detected BlzStartUnitAbilityCooldown by using a tool I'm currently working on. It currently only supports .w3i, and some editor-only files that can't be the cause. It checks the map script simply using regex (so there can be false positives, but no false negatives). I'm currently implementing the object data compatibility checking, but if that yields no results I'm not sure what's left to cause incompatibilities.

EDIT: I checked the .w3u and found the unit fields 'uabs' and 'uhas' are possibly reforged-only (can't find them in 1.31 editor using ctrl+d ctrl+f), can you check what these values mean?
 
Last edited:

qbz

qbz

Level 4
Joined
Dec 1, 2019
Messages
80
Top