Soul Gathering UPDATE

This bundle is marked as approved. It works and satisfies the submission rules.
+ Remove worker icon of the dummy
+ Remove trigger Soul Gathering End, now trigger Soul Gathering Loop is include end event....
+ UPDATE


Creates a magicial soul and gathers all power of the darkness. That soul will explodeds when it's charged full. That soul deals 20/40/60/80 DPS, 50/100/150/200 when it explodes. The more power it's charged, the larger AoE. Increaes 120 AoE per second. The soul's charged full in 3/4/5/6 seconds.



  • Soul Gathering Init
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set SG_Spell = Soul Gathering
      • -------- Set Dummy Type --------
      • Set SG_DummyType = Soul Dummy MAIN
      • -------- Set Area of Effect increases per second --------
      • Set SG_AoEIncPerSec = 3.00
      • -------- Set Scale of Dummy increases per second --------
      • Set SG_ScaIncPerSec = 3.00
      • -------- Set Special Effect create every 0.04 second. --------
      • Set SG_SFX = Abilities\Weapons\SteamTank\SteamTankImpact.mdl
      • -------- Set Special Effect at the end of Skill --------
      • Set SG_SFX = Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
  • Soul Gathering Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to SG_Spell
    • Actions
      • Set TEMP_UNIT = (Triggering unit)
      • Set TEMP_LOC = (Target point of ability being cast)
      • -------- Create the dummy --------
      • Unit - Create 1 SG_DummyType for (Owner of TEMP_UNIT) at TEMP_LOC facing Default building facing degrees
      • Set ID = (Custom value of (Last created unit))
      • Unit Group - Add (Last created unit) to SG_MainDummyGroup
      • -------- Add expiration timer to dummy - Charged Time --------
      • Unit - Add a (2.00 + (1.00 x (Real((Level of SG_Spell for TEMP_UNIT))))) second Generic expiration timer to (Last created unit)
      • Unit - Change color of (Last created unit) to Black
      • -------- Starting Scale of the Dummy --------
      • Set SG_Scale[ID] = 50.00
      • -------- Starting Scale of the AoE --------
      • Set SG_AoE[ID] = 80.00
      • -------- Set Damage per 0.04 Second --------
      • Set SG_Dps[ID] = (0.80 x (Real((Level of SG_Spell for TEMP_UNIT))))
      • -------- Set damage at the end of the skill --------
      • Set SG_Damage[ID] = (50.00 x (Real((Level of SG_Spell for TEMP_UNIT))))
      • Custom script: call RemoveLocation(udg_TEMP_LOC)
      • Trigger - Turn on Soul Gathering Loop <gen>
  • Soul Gathering Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (SG_MainDummyGroup is empty) Not equal to True
        • Then - Actions
          • Unit Group - Pick every unit in SG_MainDummyGroup and do (Actions)
            • Loop - Actions
              • Set TEMP_UNIT = (Picked unit)
              • Set TEMP_LOC = (Position of TEMP_UNIT)
              • Set ID = (Custom value of TEMP_UNIT)
              • Set SG_Scale[ID] = (SG_Scale[ID] + SG_ScaIncPerSec)
              • Set SG_AoE[ID] = (SG_AoE[ID] + SG_AoEIncPerSec)
              • Animation - Change TEMP_UNIT's size to (SG_Scale[ID]%, SG_Scale[ID]%, SG_Scale[ID]%) of its original size
              • Special Effect - Create a special effect attached to the chest of TEMP_UNIT using SG_SFX
              • Special Effect - Destroy (Last created special effect)
              • Set TEMP_GROUP = (Units within SG_AoE[ID] of TEMP_LOC)
              • Unit Group - Pick every unit in TEMP_GROUP and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Picked unit) belongs to an enemy of (Owner of TEMP_UNIT)) Equal to True
                    • Then - Actions
                      • Unit - Cause TEMP_UNIT to damage (Picked unit), dealing SG_Dps[ID] damage of attack type Spells and damage type Magic
                    • Else - Actions
              • Custom script: call DestroyGroup(udg_TEMP_GROUP)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (TEMP_UNIT is alive) Not equal to True
                • Then - Actions
                  • Animation - Change TEMP_UNIT's size to ((SG_Scale[ID] / 2.00)%, (SG_Scale[ID] / 2.00)%, (SG_Scale[ID] / 2.00)%) of its original size
                  • Special Effect - Create a special effect attached to the chest of TEMP_UNIT using SG_SFXEnd
                  • Special Effect - Destroy (Last created special effect)
                  • Set TEMP_GROUP = (Units within SG_AoE[ID] of TEMP_LOC)
                  • Unit Group - Pick every unit in TEMP_GROUP and do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((Picked unit) belongs to an enemy of (Owner of TEMP_UNIT)) Equal to True
                        • Then - Actions
                          • Unit - Cause TEMP_UNIT to damage (Picked unit), dealing SG_Damage[ID] damage of attack type Spells and damage type Magic
                        • Else - Actions
                  • Unit Group - Remove TEMP_UNIT from SG_MainDummyGroup
                  • Custom script: call DestroyGroup(udg_TEMP_GROUP)
                • Else - Actions
              • Custom script: call RemoveLocation(udg_TEMP_LOC)
        • Else - Actions
          • Trigger - Turn off (This trigger)


CREDIT: BRIBE - "GUI UNIT INDEXER"

Email: [email protected]

Keywords:
wisp, soul, btdonald, gather, gathering
Contents

Soul Gathering (Map)

Reviews
Approved You could try to add something special to the ability You could deal damage less often, and create an effect on affected units Improve the tooltip, look at default Blizzard abilities for reference

Moderator

M

Moderator

Reviewed by Maker, Soul Gathering, 6th Apr 2012

Approved

You could try to add something special to the ability
You could deal damage less often, and create an effect on affected units
Improve the tooltip, look at default Blizzard abilities for reference
 
you should store the real conversion of the level of the ability in a variable so that you're not constantly converting it, other than that I suggest having a configuration in the setup trigger rather than having the config in the spell casting trigger - it may require more variables and make the code longer, but it does also make it easier for people to modify.

Also you need to add documentation to the triggers with comments, so people know what each part does.
 
Top