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

Demon Tag [By Mumbis]

Mumbis Presents

DEMON TAG V1.3
Created by Mumbis

Map Info:

This is a tag map, where Demons hunt Cats and the other way around.

Demons are supposed to kill all the cats before they have a chance to grow strong
and to establish an army which is a threat to the demons.
Cats are supposed to hide at first, create a base, build up a strong defence to protect
themselves against the Demons, then create an army strong enough to slay the demons.
Work together to beat the other team!

Demons only have 2 chances.
If a demon dies, both demons only has one chance left.
So, the first demon which is killed gets ressurected after 30 seconds.
However, the next time a demon dies they have both lost. Even if it's the same demon
which dies again.
So the Demons really has to work together.

Features:

Upcomming in later patches.

Additional Information:

This is an opensource map. Feel free to learn by opening up the map.
Feel free to check triggers for errors etc and comment them below so I may
change them and improve them if I have any errors in them.
It should be leakfree, but I might have missed something, no one's perfect ;)

Also, this version is complete, but alot more items, units, upgrades, balances
will be made as soon as I get some good response on this, so I know it's worth
to keep updating the map.

Change Log:




First Release.



Demon Tag V1.1
By Mumbis

Added Leave triggers. If a player leaves the game, his units will be removed.
Added "Demon Check" triggers. Demons will only spawn if it's controlled by a player.
Fixed Tooltip for Hero and removed its lumber cost.
Fixed hotkeys.
Increased Demons hp Regen.
Fixed income triggers.



Demon Tag V1.2
By Mumbis

Fixed the income trigger! (Credits to -kobas- for this!)
Fixed hotkeys for Paladin spells (And placements).
Lowered duration of Divine Shield for Paladin.
Holy Light can now be cast upon self.
Added a custom Preview Screen and Loading Screen.
Added a credits tab.



Demon Tag V1.2
By Mumbis

Fixed terrain parts as requested.



Credits:


Triggers

-kobas- for a solution to the income trigger!
Author's notes:

I've only used icons and models that already exists in warcraft 3.
Except this icon:
Curse of Sargeras
Created by Blizzard Entertainment.

Also, there seems to be no category for TAG maps, or I might just have gone blind, Dunno x)

Map Description Template Created by -Kobas-
Find more here: Map Description - Templates


Keywords:
Demon Tag, Tag, Hunt, Defence, defending, cats, demons, cat, fun, map
Contents

Demon Tag [By Mumbis] (Map)

Reviews
Vengeancekael Date: 2013/Jan/22 18:23:04 [Please do not send me a message, use Staff Contact] Comment:Originality-wise there's not much to cite, however this is of acceptable quality. Although you should improve the building tooltips, etc...

Moderator

M

Moderator

Vengeancekael
Date: 2013/Jan/22 18:23:04
[Please do not send me a message, use Staff Contact]

Comment:
Originality-wise there's not much to cite, however this is of acceptable quality.
Although you should improve the building tooltips, etc. (add colors, more rows, etc.)
And the fountain in the middle shouldn't be in the ground, just raise it to a normal level.​
Not Rated
[tr]​

reportV2_animated.jpg
Rules
 
You could just disable the income for player x trigger if that specific player isn't in-game.
You wouldn't need to check it everytime that way.
Or just merge them all into one trigger, but that could overload the cpu a bit.
Also for 'cat income', just pick every player in the game and give that much gold to picked players.
However the 'cat dies' triggers can really be merged into one trigger.
Just change the event to 'A unit dies', then use different if then elses checking which unit has died.

A custom preview image wouldn't hurt either =)

I'll have a more detailed look at the map on friday.
 
Level 9
Joined
Jul 23, 2008
Messages
261
@Vengeancekael
The income trigger can not be merged, I just split it after having a merged one ;o
If it is merged, it all goes... kinda messed up, everybody gets insane amounts of gold if there's more than one player building stuff etc etc, that is why it is split :)
Did the same for the "Die" trigger to avoid truble with it, don't know if it works to merge it, but I could give it a try if you think it'll work! :)

I will add a custom preview image, I just need to get some time to do so ;)
probably will do it in the weekend :D
 
Trigger is bad and, horrible inefficient.
Just convert it into custom script and replace that code with this:
JASS:
function Income_Loop takes nothing returns nothing
    if GetUnitTypeId(GetEnumUnit()) == 'h00C' then
        call SetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD) + 2)
    endif
    if GetUnitTypeId(GetEnumUnit()) == 'h00D' then
        call SetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD) + 5)
    endif
    if GetUnitTypeId(GetEnumUnit()) == 'h00E' then
        call SetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD) + 8)
    endif
    if GetUnitTypeId(GetEnumUnit()) == 'h00F' then
        call SetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD) + 10)
    endif
endfunction

function Income_Actions takes nothing returns nothing
    local integer i = 0
    local group G = CreateGroup()
    loop
        exitwhen i > 8
        call GroupEnumUnitsOfPlayer(G, Player(i), null)
        call ForGroup(G, function Income_Loop)
        call GroupClear(G)
        set i = i + 1
    endloop
    call DestroyGroup(G)
    set G = null
endfunction

//===========================================================================
function InitTrig_Income takes nothing returns nothing
    set gg_trg_Income = CreateTrigger(  )
    call TriggerRegisterTimerEvent(gg_trg_Income, 5.00, true)
    call TriggerAddAction( gg_trg_Income, function Income_Actions )
endfunction

It work flawlessly :)
 
Nice, you've removed the memory leaks! =)

Now just fix the ugly terrain parts shown in the screenshots below:

First image: Remove those blizzard cliffs and use the height tool. Also add more terrain tile variation and maybe use custom animated grass models.

Second image: Remove the cliff under the fountain.

Fix that and it'll get approved. Rejected until updated.
 

Attachments

  • 1.PNG
    1.PNG
    1.6 MB · Views: 269
  • 2.PNG
    2.PNG
    387.2 KB · Views: 186
Level 9
Joined
Jul 23, 2008
Messages
261
Fixed as requested! (In a way I thought were appropriate ;P):thumbs_up:

Nice, you've removed the memory leaks! =)

Now just fix the ugly terrain parts shown in the screenshots below:

First image: Remove those blizzard cliffs and use the height tool. Also add more terrain tile variation and maybe use custom animated grass models.

Second image: Remove the cliff under the fountain.

Fix that and it'll get approved. Rejected until updated.
 
Top