1. 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
  2. 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 havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  4. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  5. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  6. The results are out! Check them out.
    Dismiss Notice
  7. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  8. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  9. 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.

Icon/Model/Spell Team Contest - Hive Member[+100 Rep]

Discussion in 'Contest Archive' started by IcemanBo, Nov 5, 2017.

Thread Status:
Not open for further replies.
  1. FerSZ

    FerSZ

    Joined:
    May 9, 2016
    Messages:
    113
    Resources:
    13
    Models:
    13
    Resources:
    13
    @IcemanBo
     
  2. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,611
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    Freaking tree hugers.
     
  3. Stefan.K

    Stefan.K

    Joined:
    Dec 29, 2014
    Messages:
    1,447
    Resources:
    84
    Models:
    84
    Resources:
    84
    @Daffa the Mage agree to be our coder. We will think about the name of our team later. Btw, I'm doing the modeling job, @Exarch will do the icons and @Daffa the Mage will do the spells.
     
  4. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,611
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    Second code wip. Mostly utility stuff such as filtering out certain units, some BJ function removal, leak cleanup etc.

    Code (vJASS):

    native UnitAlive takes unit id returns boolean
    //! zinc
        library Charm requires Missile, TimedUnitScale, TimerUtils, GroupTools {
     
            constant real GROW_TIME = 1;
            constant integer SPELL_ID = 'A003';
            constant real MANIFEST_COLOR = 80;
            constant string MANIFEST_SPAWN_EFFECT = "Aph Effect.mdx";
            constant string MANIFEST_SPAWN_MISSILE = "aph Missile.mdx";
            constant real MANIFEST_SHRINK = 10;
            constant real MANIFEST_DURATION = 10;
         
            hashtable hash = InitHashtable();
            group g;

            function stun(unit u, real dur) {
                udg_STE_TARGET = u;
                udg_STE_DURATION = dur;
                udg_STE_STACK_TIME = true;
                udg_STE_ADD_STUN = true;
                TriggerEvaluate(udg_STE_TRIGGER);
            }
     
            struct Spawn {
                static method onFinish (Missile missile) -> boolean {
                    timer t;
                    integer h;
                    unit target = LoadUnitHandle(hash, missile, 0);
                    integer id = GetUnitTypeId(target);
                    unit u = CreateUnit(Player(13), id, missile.x, missile.y, missile.angle);
                 
                    DestroyEffect(AddSpecialEffect(MANIFEST_SPAWN_EFFECT, GetUnitX(u), GetUnitY(u)));
                    stun(u, GROW_TIME);
                    SetUnitInvulnerable(u, true);
                    SetUnitVertexColorBJ(u, MANIFEST_COLOR, MANIFEST_COLOR, MANIFEST_COLOR, 60);
                    SetUnitScalePercent(u, MANIFEST_SHRINK, MANIFEST_SHRINK, MANIFEST_SHRINK);
                    UnitScale[u].apply(1, GROW_TIME);
                 
                    t = NewTimer();
                 
                    h = GetHandleId(t);
                 
                    SaveBoolean(hash, GetHandleId(u), 1, true);
                 
                    SaveUnitHandle(hash, h, 0, u);
                    SaveUnitHandle(hash, h, 1, target);
                 
                    TimerStart(t, GROW_TIME, false, function() {
                        timer t = GetExpiredTimer();
                        integer id = GetHandleId(t);
                        unit u = LoadUnitHandle(hash, id, 0);
                        unit origin = LoadUnitHandle(hash, id, 1);
                     
                        IssueTargetOrder(u, "attack", origin);
                     
                        SetUnitInvulnerable(u, false);
                        UnitApplyTimedLife(u, 'BTLF', 10);
                     
                        FlushChildHashtable(hash, id);
                        ReleaseTimer(t);
                     
                        SaveUnitHandle(hash, GetHandleId(u), 0, origin);
                     
                        t = null;
                        u = null;
                        origin = null;
                    });
                 
                    FlushChildHashtable(hash, missile);
                 
                    u = null;
                    target = null;
                    t = null;
                    return true;
                }
                module MissileStruct;
            }
         
            function groupLoop() {
                unit u = GetEnumUnit();
                real x = GetUnitX(u);
                real y = GetUnitY(u);
             
                Missile m =  Missile.create(x, y, 75, GetRandomReal(0, 360), 400, 50);
             
                SaveUnitHandle(hash, m, 0, u);
             
                m.source    = GetTriggerUnit();
                m.speed     = 10.;
                m.model     = MANIFEST_SPAWN_MISSILE;
                m.arc       = bj_PI/4;
                m.owner     = GetTriggerPlayer();
                Spawn.launch(m);
             
                u = null;
            }
         
            function isManifestation(unit u) -> boolean{
                return LoadBoolean(hash, GetHandleId(u), 1);
            }
         
            function onCastFilter(unit u, player p) -> boolean {
                return UnitAlive(u) && !isManifestation(u) && IsUnitEnemy(u, p);
            }
         
            function onCast() {
                real x = GetSpellTargetX();
                real y = GetSpellTargetY();
                unit u = GetSpellAbilityUnit();
                integer h;
             
                g = NewGroup();
                GroupUnitsInArea(g, x, y, 300);
             
                h = GetHandleId(g);
                SavePlayerHandle(hash, h, 0, GetOwningPlayer(u));
             
                ForGroup(g, function () {
                    unit u = GetEnumUnit();
                    player p = LoadPlayerHandle(hash, GetHandleId(g), 0);
                    if(!onCastFilter(u, p)) {
                        GroupRemoveUnit(g, u);
                    }
                    p = null;
                    u = null;
                });
             
                FlushChildHashtable(hash, h);
             
                ForGroup(g, function groupLoop);
                ReleaseGroup(g);
                u = null;
            }
         
            function filter() -> boolean{
                return GetSpellAbilityId() == SPELL_ID;
            }
         
            function isSet(unit u) -> boolean {
                return u != null;
            }
         
            function onDamage() {
                unit origin = LoadUnitHandle(hash, GetHandleId(udg_DamageEventSource), 0);
                if (origin != udg_DamageEventTarget && isSet(origin)) {
                    udg_DamageEventAmount = 0.00;
                }
                origin = null;
            }
         
            function onDeathFilter() -> boolean{
                return isManifestation(GetFilterUnit());
            }
         
            function onDeath() {
                FlushChildHashtable(hash, GetHandleId(GetTriggerUnit()));
            }
         
            function onInit() {
                trigger t = CreateTrigger();
                TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT);
                TriggerAddCondition(t, Condition(function filter));
                TriggerAddAction(t, function onCast);
             
                t = CreateTrigger();
                TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_DEATH);
                TriggerAddCondition(t, Condition(function onDeathFilter));
                TriggerAddAction(t, function onDeath);
             
                t = CreateTrigger();
                TriggerRegisterVariableEvent(t, "udg_DamageModifierEvent", EQUAL, 1.00);
                TriggerAddAction(t, function onDamage);
             
             
             
                t = null;
            }
        }
    //! endzinc


    Which BJ functions are ok? I feel like the RegisterAnyUnitBJ is totally fine, it does not seem to contain unnecessary code.
     
  5. Daffa the Mage

    Daffa the Mage

    Map Moderator

    Joined:
    Jan 30, 2013
    Messages:
    7,662
    Resources:
    27
    Packs:
    1
    Maps:
    8
    Spells:
    16
    Tutorials:
    2
    Resources:
    27
    It doesn't matter whether we use GUI, Jass, vJass or Wurst right?
     
  6. Misha

    Misha

    Joined:
    Jun 9, 2008
    Messages:
    7,196
    Resources:
    71
    Models:
    62
    Icons:
    1
    Packs:
    2
    Skins:
    4
    StarCraft II Resources:
    2
    Resources:
    71
    I don't think it does .u.
     
  7. Daffa the Mage

    Daffa the Mage

    Map Moderator

    Joined:
    Jan 30, 2013
    Messages:
    7,662
    Resources:
    27
    Packs:
    1
    Maps:
    8
    Spells:
    16
    Tutorials:
    2
    Resources:
    27
    Alright then, time for the benefit of basic experience :D
     
  8. Fingolfin

    Fingolfin

    Joined:
    Jan 11, 2009
    Messages:
    3,191
    Resources:
    153
    Models:
    143
    Icons:
    1
    Packs:
    4
    Skins:
    2
    Maps:
    1
    Spells:
    1
    Tutorials:
    1
    Resources:
    153
    Sorry to hear about the kidney stones @MiniMage, my girlfriend's mom once told me that it's literally worse than childbirth. Hope everything went well.
     
  9. MiniMage

    MiniMage

    Joined:
    Jun 5, 2008
    Messages:
    1,741
    Resources:
    22
    Models:
    21
    Skins:
    1
    Resources:
    22
    My kidney stones aren't that bad, I think. Although I am saying this with morphine in my system, so idonno. The kidney stones she must've suffered with must've been big as hell. The biggest issue I am facing is figuring out what to eat. Because I've basically lived on a diet of meat, chicken, salt and spices. Which combined with my genetic kidney disease probably is why I ended up having kidney stones again, I've had it once before.

    If anyone of you guys know any good food to eat for people with kidney stones, leave a comment on my profile (As to not clutter this thread too much). The biggest issue now is basically hunger pains. You drink so much water that you basically piss out the nutrients and well, that's not a good thing. So far, I've lived on carrot soup. Because I was informed that Potatoes, Yellow Onions and Carrots are good to eat to avoid kidney stones. Red paprika appears to be good too, so I now I am equipped with something to eat for breakfast too.
     
  10. Hayate

    Hayate

    Joined:
    Oct 20, 2010
    Messages:
    2,608
    Resources:
    65
    Models:
    50
    Icons:
    14
    Spells:
    1
    Resources:
    65
    Spell Icon 90%
    BrushIconFinal.jpg


    Spell Icon WIP1 & 2
    BrushIcon.jpg
    BrushIcon.jpg




    Hero Portrait 90%
    LadyHiveFinal.jpg


    Hero Portrait WIP
    [​IMG]



    SpellWithHero WIP1, 2, 3

    3rdIcon.jpg
    3rdIcon2.jpg

    3rdIconWIP5.jpg




    Just a little push and Im done :D I want to get over with this already
     
  11. deepstrasz

    deepstrasz

    Map Reviewer

    Joined:
    Jun 4, 2009
    Messages:
    10,739
    Resources:
    1
    Maps:
    1
    Resources:
    1
    That's only if your kidneys and intestines don't do proper absorption.
    Anyways, urologists and nephrologists should know what to tell you on the matter.
     
  12. Kyrbi0

    Kyrbi0

    Joined:
    Jul 29, 2008
    Messages:
    7,882
    Resources:
    1
    Models:
    1
    Resources:
    1
    @Hayate Looking great! Particularly love the hero & spell icon!
     
  13. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,611
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    Seconding. I imagine it will look great downscaled (as an icon).
     
  14. Hayate

    Hayate

    Joined:
    Oct 20, 2010
    Messages:
    2,608
    Resources:
    65
    Models:
    50
    Icons:
    14
    Spells:
    1
    Resources:
    65
    BrushIconFinal.jpg LadyHiveFinal.jpg HeroWithSpellIconFinal.jpg
    Ok all near done, Just add in the border and I will upload it


    [​IMG] [​IMG] [​IMG]


    ~ApherazLucentHeroHiRes.jpg
    ~ApherazLucentSpellHiRes.jpg
    ~SpellBrushHiRes.jpg

     
    Last edited: Dec 3, 2017
  15. Exarch

    Exarch

    Joined:
    Mar 23, 2014
    Messages:
    157
    Resources:
    7
    Icons:
    7
    Resources:
    7
    @IcemanBo we want our team name to be CHAMPIONS and the colour should be gold #ffbf00
     
  16. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,611
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    @Hayate
    Maybe make the hair a bit broader, it is barely visible on the downscaled version (even it looks great fullscale)

    And yes I am allowed to give criticism since I am in his team.
     
  17. Mike

    Mike

    Joined:
    Jan 1, 2013
    Messages:
    318
    Resources:
    61
    Models:
    60
    Maps:
    1
    Resources:
    61
    Im interested in making hero based on General Frank.
     
  18. Hayate

    Hayate

    Joined:
    Oct 20, 2010
    Messages:
    2,608
    Resources:
    65
    Models:
    50
    Icons:
    14
    Spells:
    1
    Resources:
    65
  19. Cokemonkey11

    Cokemonkey11

    Wurst Reviewer

    Joined:
    May 9, 2006
    Messages:
    3,240
    Resources:
    18
    Tools:
    1
    Maps:
    5
    Spells:
    3
    Tutorials:
    2
    JASS:
    7
    Resources:
    18
    Yes, all are okay - I am happy to judge entries from all of these (and that's the key requirement) :)
     
  20. Exarch

    Exarch

    Joined:
    Mar 23, 2014
    Messages:
    157
    Resources:
    7
    Icons:
    7
    Resources:
    7
    Trying to define @Direfury as Dark Paladin.. I sadly can't work on spell icons yet, waiting for my team.
    Wip
    direfury_standwip08.jpg
     
Thread Status:
Not open for further replies.