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 havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. 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
  5. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  6. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  7. The results are out! Check them out.
    Dismiss Notice
  8. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  9. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  10. 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.

Trigger Viewer

Belhammer.w3x
Variables
Initialization
BelhammerINT
BelCast
BelLoop
Other
Untitled Trigger 001
Untitled Trigger 002
Untitled Trigger 003
Enter map-specific custom script code below. This text will be included in the map script after variables are declared and before any trigger code.

		
Name Type Is Array Initial Value
BelBaseHeight real No
BelBaseMoveOut real No
BelBool1 boolean No
BelBool2 boolean No
BelBool3 boolean No
BelBool4 boolean No
BelCast unit No
BelConstant1 real No
BelConstant10 real No
BelConstant11 real No
BelConstant12 real No
BelConstant13 real No
BelConstant14 real No
BelConstant15 real No
BelConstant2 real No
BelConstant3 real No
BelConstant4 real No
BelConstant5 real No
BelConstant6 real No
BelConstant7 real No
BelConstant8 real No
BelConstant9 real No
BelDam real No
BelDestructible destructable No
BelDummy unit No
BelGroup group No
BelHash hashtable No
BelHeight real No
BelLev integer No
BelLoop integer No
BelReal real No
BelReal2 real No
BelRealA real No
BelRealB real No
BelRealC real No
BelRealD real No
BelRealE real No
BelSFXA string No
BelSFXB string No
BelTrigger integer No
BP location No
BP2 location No
Handle_Bel integer No
Default melee game initialization for all players
BelhammerINT
  Events
    Map initialization
  Conditions
  Actions
    Hashtable - Create a hashtable
    Set BelHash = (Last created hashtable)
    -------- ============================= --------
    -------- Damage --------
    Set BelDam = 40.00
    -------- Starting Height --------
    Set BelBaseHeight = 50.00
    -------- Starting rate it moves outward. --------
    Set BelBaseMoveOut = 2.00
    -------- Special "Volcano" effect. Sadly, the volcano used in Warcraft 3's death animation is crap, this is used. --------
    Set BelSFXA = Abilities\Spells\Other\Volcano\VolcanoDeath.mdl
    -------- The starting height movement rate. --------
    Set BelConstant1 = 16.00
    -------- Starting rate the balls move outward. --------
    Set BelConstant2 = 0.10
    -------- The starting spin rate. --------
    Set BelConstant3 = 2.35
    -------- The Area of effect. Increases with each level by: (BelConstant4 + ((BelConstant4 / BelConstant15) * Level)) --------
    Set BelConstant4 = 150.00
    -------- The explode height --------
    Set BelConstant5 = 800.00
    -------- Starting fall rate. --------
    Set BelConstant6 = -5.60
    -------- Starting fall move outward rate. --------
    Set BelConstant7 = 5.00
    -------- Fall spin rate. --------
    Set BelConstant8 = -0.75
    -------- First speed up point --------
    Set BelConstant9 = 600.00
    -------- First speed up fall rate. --------
    Set BelConstant10 = -8.00
    -------- Second speed up rate. --------
    Set BelConstant11 = 550.00
    -------- Second speed up move outward rate. --------
    Set BelConstant12 = 0.34
    -------- Second speed up fall rate. --------
    Set BelConstant13 = 0.35
    -------- Death height. --------
    Set BelConstant14 = 70.00
    -------- Determines if SFX appear. Mostly used for testing, however, it may prove useful for lagging games. --------
    Set BelBool4 = True
    -------- AoE multiplier per level. --------
    Set BelConstant15 = 3.75
BelCast
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Belhammer
  Actions
    Set BelCast = (Triggering unit)
    Set BP = (Position of BelCast)
    Set BelLev = (Level of Belhammer for BelCast)
    Set BelRealA = (Facing of BelCast)
    -------- ================================ --------
    Unit - Create 1 Belhammer Dummy for (Owner of BelCast) at BP facing Default building facing degrees
    Set BelDummy = (Last created unit)
    Unit - Hide BelDummy
    Custom script: set udg_Handle_Bel = GetHandleId(udg_BelDummy)
    For each (Integer BelLoop) from 1 to 6, do (Actions)
      Loop - Actions
        Unit - Create 1 Belhammer Dummy for (Triggering player) at BP facing (BelRealA + ((Real(BelLoop)) x 60.00)) degrees
        Hashtable - Save Handle Of(Last created unit) as BelLoop of Handle_Bel in BelHash
    Sound - Play VolcanoLoop <gen> at 100.00% volume, located at BP with Z offset 50.00
    Hashtable - Save (BelDam x (Real(BelLev))) as 7 of Handle_Bel in BelHash
    Hashtable - Save BelBaseHeight as 8 of Handle_Bel in BelHash
    Hashtable - Save BelBaseMoveOut as 9 of Handle_Bel in BelHash
    Hashtable - Save False as 11 of Handle_Bel in BelHash
    Hashtable - Save False as 12 of Handle_Bel in BelHash
    Hashtable - Save BelConstant1 as 13 of Handle_Bel in BelHash
    Hashtable - Save BelConstant2 as 14 of Handle_Bel in BelHash
    Hashtable - Save BelConstant3 as 15 of Handle_Bel in BelHash
    Hashtable - Save Handle OfBelCast as 17 of Handle_Bel in BelHash
    Hashtable - Save (BelConstant4 + ((BelConstant4 / BelConstant15) x (Real(BelLev)))) as 20 of Handle_Bel in BelHash
    Custom script: call DestroyEffect(AddSpecialEffectLoc(udg_BelSFXA, udg_BP))
    -------- ================================ --------
    Custom script: call GroupAddUnit(udg_BelGroup, udg_BelDummy)
    Set BelTrigger = (BelTrigger + 1)
    Trigger - Turn on BelLoop <gen>
    Custom script: call RemoveLocation(udg_BP)
BelLoop
  Events
    Time - Every 0.03 seconds of game time
  Conditions
  Actions
    Unit Group - Pick every unit in BelGroup and do (Actions)
      Loop - Actions
        Set BelCast = (Picked unit)
        Set BP = (Position of BelCast)
        Custom script: set udg_Handle_Bel = GetHandleId(udg_BelCast)
        Set BelBool1 = (Load 11 of Handle_Bel from BelHash)
        Set BelBool2 = (Load 12 of Handle_Bel from BelHash)
        Set BelRealA = (Load 8 of Handle_Bel from BelHash)
        Set BelRealB = (Load 9 of Handle_Bel from BelHash)
        Set BelRealC = (Load 13 of Handle_Bel from BelHash)
        Set BelRealD = (Load 14 of Handle_Bel from BelHash)
        Set BelRealE = (Load 15 of Handle_Bel from BelHash)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            BelRealA Greater than BelConstant5
            BelBool1 Equal to False
            BelBool2 Equal to False
          Then - Actions
            Sound - Play DragonYesAttack3 <gen> at 100.00% volume, located at BP with Z offset 500.00
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                BelBool4 Equal to True
              Then - Actions
                Unit - Create 1 Explosive Dummy for Neutral Passive at BP facing Default building facing degrees
                Set BelDummy = (Last created unit)
                Animation - Change BelDummy flying height to BelConstant5 at 0.00
                Unit - Add a 0.01 second Generic expiration timer to BelDummy
                Unit - Make BelDummy Explode on death
              Else - Actions
            Hashtable - Save BelConstant6 as 13 of Handle_Bel in BelHash
            Hashtable - Save BelConstant7 as 14 of Handle_Bel in BelHash
            Hashtable - Save BelConstant8 as 15 of Handle_Bel in BelHash
            Hashtable - Save True as 11 of Handle_Bel in BelHash
            Custom script: call DestroyEffect(AddSpecialEffectLoc(udg_BelSFXA, udg_BP))
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            BelRealA Less than or equal to BelConstant9
            BelBool1 Equal to True
            BelBool2 Equal to False
          Then - Actions
            Hashtable - Save BelConstant10 as 13 of Handle_Bel in BelHash
            Hashtable - Save True as 12 of Handle_Bel in BelHash
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            BelRealA Less than or equal to BelConstant11
            BelBool1 Equal to True
            BelBool2 Equal to True
          Then - Actions
            Hashtable - Save (BelRealD - BelConstant12) as 14 of Handle_Bel in BelHash
            Hashtable - Save (BelRealC - BelConstant13) as 13 of Handle_Bel in BelHash
          Else - Actions
        For each (Integer BelLoop) from 1 to 6, do (Actions)
          Loop - Actions
            Set BelDummy = (Load BelLoop of Handle_Bel in BelHash)
            Set BelReal = (Facing of BelDummy)
            Set BP2 = (BP offset by BelRealB towards BelReal degrees)
            Animation - Change BelDummy flying height to BelRealA at 0.00
            Unit - Make BelDummy face (BelReal + BelRealE) over 0 seconds
            Custom script: call SetUnitPositionLoc (udg_BelDummy, udg_BP2)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                BelRealA Less than or equal to BelConstant14
                BelBool1 Equal to True
                BelBool2 Equal to True
              Then - Actions
                Unit - Add a 0.01 second Generic expiration timer to BelDummy
                Unit - Make BelDummy Explode on death
                Set BelDummy = (Load 17 of Handle_Bel in BelHash)
                Set BelReal = (Load 7 of Handle_Bel from BelHash)
                Set BelReal2 = (Load 20 of Handle_Bel from BelHash)
                Custom script: set bj_wantDestroyGroup = true
                Unit Group - Pick every unit in (Units within BelReal2 of BP2 matching ((((Matching unit) is A flying unit) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an ally of (Owner of BelCast)) Equal to False) and ((Owner of (Matching unit)) Not equal to (Owner of BelCast))))))) and do (Actions)
                  Loop - Actions
                    Custom script: call UnitDamageTarget(udg_BelDummy, GetEnumUnit(), udg_BelReal, true, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE, WEAPON_TYPE_WHOKNOWS)
                -------- ===================================== --------
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    BelBool4 Equal to True
                  Then - Actions
                    Unit - Create 1 Explosive Dummy for (Owner of BelCast) at BP2 facing Default building facing degrees
                    Set BelDummy = (Last created unit)
                    Unit - Add a 0.01 second Generic expiration timer to BelDummy
                    Unit - Make BelDummy Explode on death
                    Animation - Change BelDummy's size to (135.00%, 135.00%, 135.00%) of its original size
                  Else - Actions
              Else - Actions
            Custom script: call RemoveLocation(udg_BP2)
        Hashtable - Save (BelRealA + BelRealC) as 8 of Handle_Bel in BelHash
        Hashtable - Save (BelRealB + BelRealD) as 9 of Handle_Bel in BelHash
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            BelRealA Less than or equal to BelConstant14
            BelBool1 Equal to True
            BelBool2 Equal to True
          Then - Actions
            Sound - Play ThunderClapCaster <gen> at 100% volume, attached to BelCast
            Custom script: call GroupRemoveUnit(udg_BelGroup, udg_BelCast)
            Hashtable - Clear all child hashtables of child Handle_Bel in BelHash
            Unit - Add a 0.01 second Generic expiration timer to BelCast
            Unit - Make BelCast Explode on death
            Set BelTrigger = (BelTrigger - 1)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                BelTrigger Equal to 0
              Then - Actions
                Trigger - Turn off (This trigger)
              Else - Actions
          Else - Actions
        Custom script: call RemoveLocation(udg_BP)
Untitled Trigger 001
  Events
    Map initialization
  Conditions
  Actions
    Game - Display to (All players) the text: Type -##### to change the turn rate.Type ! to turn the special effects on/off.
    Visibility - Disable fog of war
    Visibility - Disable black mask
Untitled Trigger 002
  Events
    Player - Player 1 (Red) types a chat message containing - as A substring
  Conditions
  Actions
    Set BelReal = (Real((String((Real((Entered chat string))), 2, 5))))
    Set BelConstant8 = BelReal
Untitled Trigger 003
  Events
    Player - Player 1 (Red) types a chat message containing ! as A substring
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        BelBool4 Equal to True
      Then - Actions
        Set BelBool4 = False
      Else - Actions
        Set BelBool4 = True