• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[GUI] Belhammer v1.0

Belhammer

Spells & Systems Mini-Contest #20 Entry; Spell from Eternal Eyes

Ingame Description -


The user summons a volcano. The volcano will emit fire dragons from itself, and the dragons will rise upwards and then rain down, inflicting damage to units near the dragon.

Level 1 Damage - 40
Level 2 Damage - 80
Level 3 Damage - 120
Level 4 Damage - 160


  • 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 = AbilitiesSpellsOtherVolcanoVolcanoDeath.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.00 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) 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.00% 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)
170705-albums4602-picture47819.jpg
170705-albums4602-picture47820.jpg
170705-albums4602-picture47821.jpg


Keywords:
Spell,System,Contest,Wip,Bell,Bel,Hammer,Axe,Dragon,Fairy,Ball,Configurable,Gui,Mui,Herp,Derp,Angel,Arch,678,#,20,Blaaarg
Contents

Belhammer (Map)

Reviews
12:43, 18th Jul 2011 Maker: Approved. Well triggered and the effects look nice. You could replace WEAPON_TYPE_WHOKNOWS with null and the sound plays for too long when the spell is over.

Moderator

M

Moderator

12:43, 18th Jul 2011
Maker:
Approved. Well triggered and the effects look nice.
You could replace WEAPON_TYPE_WHOKNOWS with null and the sound plays for too long when the spell is over.
 
Top