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

Race Building Contest #3 - Mini Melee Race

Status
Not open for further replies.

Deleted member 177737

D

Deleted member 177737

Here's the "almost finished" WIP of my race, there's only a few more units to make & triggers to fix.




















 
Level 11
Joined
Jul 2, 2008
Messages
601
Yeah, Dingo, this works only if I lose :) But that's the matter, as you has already told, I'm pretty sure everybody can get, if they have already won or not. Or just type in "I see dead people" and find out it at 100%. Thanks for this code, dude.

Also I like all of your WIPs. Hope, they are also interesting to play, not just a punch of custom models :p

Yayoi,
You should change icons for researches, I think.
 
Level 22
Joined
Jun 23, 2007
Messages
3,242
ok, im completely finished with the Infantry Regiment, excluding the hero. Gonna get started on the Armored Regiment. I MIGHT not have enough space left to include a few skins/models/icons for the Inquisitorial Levy after the Armored Regiment. In that case, Levy will be taken out, and more custom icons/skins/models will be imported for the 2 remaining subraces.
other than that doing pretty fine.
 
Level 17
Joined
Sep 8, 2007
Messages
994
WIP No. 2

Another WIP. Now I made the units...
Worker.jpg
Lightning.jpg
Water.jpg
Same thing here - anything can change, I am not 100% sure with this.
 

Deleted member 177737

D

Deleted member 177737

yayoi, will change the ground texture?
and I think those succubus is upgrade right? you may want to disable the upgraded succubus

Its the only ground texture that worked for them, the rest looked ugly as hall xP
 
Level 11
Joined
Feb 14, 2009
Messages
884
Am I the only one that hasn't posted a WIP yet? o_O
Me and baassee. My WIPs suck at the moment, I really hope I can post some nice ones soon.
 
Level 11
Joined
Feb 14, 2009
Messages
884
That's the point! My models are mainly W3 models :))
Anyway, when I finish with all the units and the buildings, I'll post a WIP. I'm working with upgrades and abilitiez at the moment...
 

Deleted member 177737

D

Deleted member 177737

The unit spell are bothering me now. There is ton good and useful hero spells but when it comes to simple units choices are limited. Hive spells are just to advanced to be used on units.

I completely agree, its rlly hard to make good unit spells.:thumbs_up:
 
Level 22
Joined
Jun 23, 2007
Messages
3,242
really? unit spells are hella fun to make. a lot easier than dealing with multi-level hero spells.
you dont HAVE to have all 3 types of spells. I'm pretty sure im not gonna add a summon spell. I MIGHT, but probably wont.
If theyre at a disadvantage because they dont have healing spells, then give them an edge over the original races in a different area.
 
Level 10
Joined
Sep 6, 2008
Messages
423
I've got to say I'm dropping out (I wasn't even on the contestants list for some reason..) I haven't really got far yet and due to a very limited access to a computer that actually works without crashing or freezing every 5 minutes I don't think I will ever be able to finish it in time :sad:

Since I've dropped out I can tell you that I was working on a parasitic race that can swarm with weak units (lots of weak units) or build up a small force with really really strong units, the workers would spawn 3 of the smallest weakest units on death (3 food cost on workers instead of 1 and increased limit on how much gold/wood it could carry) the smallest units could also heal other units by running up to the unit they want to heal and then kill themselfes.

That was basicly how my race would work, hadn't come up with a hero yet and I only had come up with 4 unit types 2 diffrent buildings..
 
Well VIPs show mostly models and we all know that models don't make race.

Also has anyone noticed a slight advantage over original races in your races?

I mostly use skins or enchanting orginal wc3 units/buildings. There isnt many hell units, most of them is used in the original undead race, wich doesnt make a race unique if its the same models over and over.
 
  • Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Clicked dialog button) Equal to Custom_Buttons[1]
      • Then - Actions
        • -------- Replace Units here. --------
        • Set tally = (tally + 1)
      • Else - Actions
        • Set tally = (tally + 1)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • AmntOfPlayers Equal to tally
      • Then - Actions
        • Countdown Timer - Destroy (Last created timer window)
        • Trigger - Turn off Timer <gen>
      • Else - Actions
how to add a townhall there
 
Level 11
Joined
Jul 2, 2008
Messages
601
For those of you, who still has problems with creating a Custom Race system, that's how I did it:

First step: Remove "Enforce melee Defeat/Victory conditions" line from the "Melee Intitialization" trigger.

Second step: Create new trigger, convert it into custom text (for those, who has JNGP) and post this code, produced by xxdingo93xx:

JASS:
scope TownHallFix initializer Init
//===========================================================================
    globals
        private group TmpGroup
    endglobals
//===========================================================================
    private function Conditions takes nothing returns boolean
        return IsUnitType(GetTriggerUnit(), UNIT_TYPE_STRUCTURE) == true or IsUnitType(GetTriggerUnit(), UNIT_TYPE_PEON) == true
    endfunction
//===========================================================================
    private function Enum takes nothing returns boolean
        return GetUnitState(GetFilterUnit(), UNIT_STATE_LIFE) > 0.405
    endfunction
//===========================================================================
    private function Actions takes nothing returns nothing
        local player trig = GetOwningPlayer(GetTriggerUnit())
        local player death = GetOwningPlayer(GetDyingUnit())
        local integer Count = 0
        local unit f
        call GroupEnumUnitsOfPlayer(TmpGroup, death, Condition(function Enum))
        loop
            set f = FirstOfGroup(TmpGroup)
            exitwhen f == null
            set Count = Count + 1
            call GroupRemoveUnit(TmpGroup, f)
        endloop
        if Count <= 0 then
            call CustomDefeatBJ(death, "Defeat!")
        endif

        if GetPlayers() <= 1 then
            call CustomVictoryBJ(trig, true, true)
        endif

    endfunction
//===========================================================================
    private function Init takes nothing returns nothing
        local trigger tri = CreateTrigger()
        call TriggerRegisterAnyUnitEventBJ(tri, EVENT_PLAYER_UNIT_DEATH)
        call TriggerAddCondition(tri, Condition(function Conditions))
        call TriggerAddAction(tri, function Actions)
        set TmpGroup = CreateGroup()
    endfunction
endscope

Just a note: If you don't have JNGP, you can find the Blizzard Jass version in this thread either, it's also posted by xxdingo93xx. Here

Step three: Create these variables (I'll post the names, I've given to them): TempDBut (Type: Dialog Button); TempLoc (Type: Location); TempGroup (Type: Unit Group) and TempPG (Type: Player Group).

Step four: Recreate the triggers, posted above:

  • Race Choice
    • Events
      • Time - Elapsed game time is 1.00 seconds
    • Conditions
    • Actions
      • Dialog - Change the title of TempDialog to Which race do you w...
      • Dialog - Create a dialog button for TempDialog labelled Goblins
      • Set TempDBut = (Last created dialog Button)
      • Dialog - Create a dialog button for TempDialog labelled Close
      • Set TempPG = (All players)
      • Player Group - Pick every player in TempPG and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked player) controller) is Player
            • Then - Actions
              • Dialog - Show TempDialog for (Picked player)
            • Else - Actions
      • Custom script: call DestroyForce(udg_TempPG)
Just a note: The title for me states "Which race do you want to play?"

  • Goblins Choosen
    • Events
      • Dialog - A dialog button is clicked for TempDialog
    • Conditions
      • (Clicked dialog button) equal to TempDBut
    • Actions
      • Set TempLoc = ((Triggering player) start location)
      • Set TempGroup = (Units owned by (Triggering player))
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Remove (Picked unit) from the game
      • Custom script: call DestroyGroup(udg_TempGroup)
      • Unit - Create 1 <Town Hall Building> for (Triggering player) at TempLoc facing 270 degrees
      • Unit - Create 5 <Workers> for (Triggering player) at TempLoc facing 270 degrees
      • Custom script: call RemoveLocation(udg_TempLoc)
Just a note: If you have different base units (as Undead does), don't forget to fix this issue by adding another line with unit creating and change the numbers.


And don't forget, that you can't win with this system. Under "win" the end of the game with a message is meant. Nevertheless, you can lose, so that's the main point.
 
Last edited:
Level 11
Joined
Jul 2, 2008
Messages
601
You don't have simply to remove the action "enforce victory/defeat conditions", and then after created the units, add the actions "enforce victory/defeat conditions"?

This won't help cause:

1) If no single player wants to play this race (Hmm... strange, yeah? What's the matter in playing this map then? :) ) this will lead to that there are not victory/defeat conditions at all.

2) Most important. The races have constants with Town Halls. Since there are only four races in game, w/o changing them I can't change the link between Town Hall and Race. This means, that if I play with Undead, remove units, create units and then enforce melee conditions, this will also lead to the fact, that I don't have Necropolis as the Town Hall. My custom created Town Hall won't be treated as Necropolis anyway. Got it? If you have a working system - share it, please. This will help not just me, but a whole community and this contest especially also.
 
Level 13
Joined
Mar 6, 2008
Messages
525
Can't. This action must be initialized so you can't just call it while playing.

Ok...alright...so make a trigger like that:
  • Defeat
  • Events
    • Unit - A unit dies
  • Conditions
    • (Dying unit) is a Building equal to true
    • Number of units owned by ((Owner of (Dying unit)) matching (Matching unit) is a Building equal to TRUE)) equal to 0
  • Actions
    • Player - Defeat owner of (Dying unit)
 
Status
Not open for further replies.
Top