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. Weave light to take you to your highest hopes - the 6th Special Effect Contest is here!
    Dismiss Notice
  5. Lead your forces to battle in the 15th Techtree Contest. The call is yours, commander!
    Dismiss Notice
  6. 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 VariableSet BelHash = (Last created hashtable)
    -------- ============================= --------
    -------- Damage --------
    Set VariableSet BelDam = 40.00
    -------- Starting Height --------
    Set VariableSet BelBaseHeight = 50.00
    -------- Starting rate it moves outward. --------
    Set VariableSet BelBaseMoveOut = 2.00
    -------- Special "Volcano" effect. Sadly, the volcano used in Warcraft 3's death animation is crap, this is used. --------
    Set VariableSet BelSFXA = Abilities\Spells\Other\Volcano\VolcanoDeath.mdl
    -------- The starting height movement rate. --------
    Set VariableSet BelConstant1 = 16.00
    -------- Starting rate the balls move outward. --------
    Set VariableSet BelConstant2 = 0.10
    -------- The starting spin rate. --------
    Set VariableSet BelConstant3 = 2.35
    -------- The Area of effect. Increases with each level by: (BelConstant4 + ((BelConstant4 / BelConstant15) * Level)) --------
    Set VariableSet BelConstant4 = 150.00
    -------- The explode height --------
    Set VariableSet BelConstant5 = 800.00
    -------- Starting fall rate. --------
    Set VariableSet BelConstant6 = -5.60
    -------- Starting fall move outward rate. --------
    Set VariableSet BelConstant7 = 5.00
    -------- Fall spin rate. --------
    Set VariableSet BelConstant8 = -0.75
    -------- First speed up point --------
    Set VariableSet BelConstant9 = 600.00
    -------- First speed up fall rate. --------
    Set VariableSet BelConstant10 = -8.00
    -------- Second speed up rate. --------
    Set VariableSet BelConstant11 = 550.00
    -------- Second speed up move outward rate. --------
    Set VariableSet BelConstant12 = 0.34
    -------- Second speed up fall rate. --------
    Set VariableSet BelConstant13 = 0.35
    -------- Death height. --------
    Set VariableSet BelConstant14 = 70.00
    -------- Determines if SFX appear. Mostly used for testing, however, it may prove useful for lagging games. --------
    Set VariableSet BelBool4 = True
    -------- AoE multiplier per level. --------
    Set VariableSet BelConstant15 = 3.75
BelCast
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Belhammer
  Actions
    Set VariableSet BelCast = (Triggering unit)
    Set VariableSet BP = (Position of BelCast)
    Set VariableSet BelLev = (Level of Belhammer for BelCast)
    Set VariableSet BelRealA = (Facing of BelCast)
    -------- ================================ --------
    Unit - Create 1.Belhammer Dummy for (Owner of BelCast) at BP facing Default building facing degrees
    Set VariableSet 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 VariableSet 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 VariableSet BelCast = (Picked unit)
        Set VariableSet BP = (Position of BelCast)
        Custom script: set udg_Handle_Bel = GetHandleId(udg_BelCast)
        Set VariableSet BelBool1 = (Load 11 of Handle_Bel from BelHash.)
        Set VariableSet BelBool2 = (Load 12 of Handle_Bel from BelHash.)
        Set VariableSet BelRealA = (Load 8 of Handle_Bel from BelHash.)
        Set VariableSet BelRealB = (Load 9 of Handle_Bel from BelHash.)
        Set VariableSet BelRealC = (Load 13 of Handle_Bel from BelHash.)
        Set VariableSet BelRealD = (Load 14 of Handle_Bel from BelHash.)
        Set VariableSet 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 VariableSet 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 VariableSet BelDummy = (Load BelLoop of Handle_Bel in BelHash.)
            Set VariableSet BelReal = (Facing of BelDummy)
            Set VariableSet 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 VariableSet BelDummy = (Load 17 of Handle_Bel in BelHash.)
                Set VariableSet BelReal = (Load 7 of Handle_Bel from BelHash.)
                Set VariableSet 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 VariableSet 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 VariableSet 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 - (stringnoformat) as A substring
  Conditions
  Actions
    Set VariableSet BelReal = (Real((String((Real((Entered chat string))), 2, 5))))
    Set VariableSet BelConstant8 = BelReal
Untitled Trigger 003
  Events
    Player - Player 1 (Red) types a chat message containing ! (stringnoformat) 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 VariableSet BelBool4 = False
      Else - Actions
        Set VariableSet BelBool4 = True