1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. Fill your cup and take your pick among the maps best suited for this year's Hive Cup. The 6th Melee Mapping Contest Poll is up!
    Dismiss Notice
  5. Shoot to thrill, play to kill. Sate your hunger with the 33rd Modeling Contest!
    Dismiss Notice
  6. Do you hear boss music? It's the 17th Mini Mapping Contest!
    Dismiss Notice
  7. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

[GUI] Tribe System

Submitted by Xetanth87
This bundle is marked as awaiting update. A staff member has requested changes to it before it can be approved.
Tribe System

Inspired by the RTS game Totem Tribe, the Tribe System can be used to create buildings that house a certain number of units and retrain them whenever the old ones die. In this template we have Pig Farms that train a maximum of 3 Peons and Barracks that train a maximum of 5 Grunts. Units are free and take no food supply, but the building will not train more units than its limit. In the original game, if you had let's say 2 Barracks and 10 Grunts and 1 Barracks was destroyed, if a Grunt from the not destroyed Barracks died, instead of starting training a new grunt, it would assign one of the homeless grunts to its group, until there were no more homeless grunts, and then it would start training new grunts. Also newly created buildings would do the same if there were any matching homeless units. This is quite a pain to do, so instead I made it so when a building is killed all its units will become hostile (you can change this if you don't like my idea).
Contents

Tribe System [GUI] (Map)

Reviews
MyPad
Alright, I think I got this to work. Odd thing is that in reference to this quote, I would've suggested adding an option where this happens, until further inspection of triggers convinced me otherwise. Review: Upon closer inspection of the...
  1. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,902
    Resources:
    17
    Maps:
    1
    Spells:
    10
    Tutorials:
    6
    Resources:
    17
    I'd call this a custom food system rather than a tribe system.

    Seems like an interesting addition to footmen frenzy maps.
     
  2. Oliver

    Oliver

    Joined:
    May 7, 2006
    Messages:
    147
    Resources:
    5
    Models:
    2
    Icons:
    3
    Resources:
    5
    It would be pretty cool if the barracks/pig farm could order it's child units around, either via ability or rally point.
     
  3. xorkatoss

    xorkatoss

    Joined:
    Jul 12, 2010
    Messages:
    1,586
    Resources:
    7
    Models:
    5
    Maps:
    1
    Spells:
    1
    Resources:
    7
    @Oliver it can be easily done if you know your way around hashtables

    very nice and simple system good job! :thumbs_up:
     
  4. Xetanth87

    Xetanth87

    Joined:
    Apr 15, 2011
    Messages:
    100
    Resources:
    1
    Maps:
    1
    Resources:
    1
    I based it on the game's name since I didn't have a good name. I don't think that name works either.
    I didn't think of it as a footmen frenzy system, more of a melee system in which you build the structures, kinda like Nexus Wars, except you get to control the units and have a limit to them.

    In the game I mentioned, you couldn't control any units individualy. You had a Fighter Flag that sent all fighting units to attack move, a Scout Flag that could send Scouts (like Shades) to move, and a Building Construction site that would send all workers to work on a certain building. But that system is way easier to implement, and doesn't really need to be included in this system. (Make a Town Hall unit that has an ability with Carrion Swarm as a base. Remove all damage, and set range to 9999999. When this ability is used teleport your rally flag to the point of the ability cast. Periodically send every player's units of certain types to attack move at the position of the flag, owned by the respective player.)
     
  5. Nudl9

    Nudl9

    Joined:
    Nov 9, 2006
    Messages:
    2,366
    Resources:
    28
    Icons:
    11
    Skins:
    1
    Maps:
    16
    Resources:
    28
    Household system sounds more like it.
    Nice idea.
     
  6. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,501
    Resources:
    9
    Models:
    1
    Icons:
    2
    Maps:
    2
    Spells:
    3
    JASS:
    1
    Resources:
    9
    Is this testable in other copies in wc3 (testable -> can be loaded in wc3 as test map)? In my version, it does not appear in the list of openable maps, and in the World Editor, the map can be previewed/loaded but testing it leads to the former situation. This had to be saved again so that the map can properly load.
     
  7. Xetanth87

    Xetanth87

    Joined:
    Apr 15, 2011
    Messages:
    100
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Strange. I tried to test the map now and it doesn't work, but it worked flawlessly when I first posted it.
    Edit: My World Editor seems unable to test any map for some reason, not just this one. I can open it in world editor, it appears correctly
     
  8. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,501
    Resources:
    9
    Models:
    1
    Icons:
    2
    Maps:
    2
    Spells:
    3
    JASS:
    1
    Resources:
    9
    Hmm.... really strange circumstances. Guess they don't call it Friday the 13th for nothing.

     
  9. Xetanth87

    Xetanth87

    Joined:
    Apr 15, 2011
    Messages:
    100
    Resources:
    1
    Maps:
    1
    Resources:
    1
    I've reopened the world editor and tested a blank map and it worked fine. Now I teste this map and it also works fine. I don't think the map has a problem
     
  10. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,501
    Resources:
    9
    Models:
    1
    Icons:
    2
    Maps:
    2
    Spells:
    3
    JASS:
    1
    Resources:
    9
    Alright, I think I got this to work.

    Odd thing is that in reference to this quote, I would've suggested adding an option where this happens, until further inspection of triggers convinced me otherwise.


    Review:


    • Upon closer inspection of the triggers, it is clear that registering a unit-type to be automatically trained would require a bit of effort and memory. Instead, why not create a constructor function that does the registering for the user, like this:

      Code (vJASS):

      function TribeSystem_register takes integer unitId, integer buildingId, integer qty returns integer (returns index)
          // Core idea is to set the needed variables.
          set maxInst = maxInst + 1
          set someArr[maxInst] = unitId
          set otherArr[maxInst] = buildingId
          ...
          return maxInst
      endfunction
       


    • Trigger names in the system are generic, running the risk of having other triggers overlap with them due to their name. Suggested action is to rename them to be more unique.

    • Similarly, at most 1 variable needs to be renamed (BusyStructures can be somewhat broad)


    Set to

    Awaiting Update

     
    Last edited: Oct 4, 2019
  11. Wazzz

    Wazzz

    Joined:
    Feb 5, 2009
    Messages:
    3,070
    Resources:
    7
    Maps:
    6
    Tutorials:
    1
    Resources:
    7
    for some reason this system only seems to agree with public test realm, but is there anything in it that prevents it from being used in the latest version outside of public test realm?