Spellpack Emilia, the Dark Enchanter

Ayanami

칼리
Reaction score
288
Introduction (Version 1.2)
Well, was bored again and yet again, made another spell pack. Emilia is a nuker. I mean, 4 active skills @_@. Hope you like it. Here's a link to a video showing you the actual Emilia's skill in Granado Espada. Got the spell ideas from there. Click me!


Emilia
emiliag.png

  • Levitate [Active]
  • Third Element [Active]
  • Bloody Rose [Active]
  • Anathema [Active]

Details
- The spells are GUI.
- The spells should be leakless. Feedback will be appreciated if otherwise.
- It is MUI, meaning that the spell can run multiple times at the same instance.
- A character from Granado Espada


Requirements
- GDD


Other Trigger
Trigger:
  • Global Configurables
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Levitate --------
      • -------- Set this variable to the base ability "Levitate" --------
      • Set LeAbility[0] = Levitate
      • -------- Set this variable to the ability "Levitate (Movement Speed)" --------
      • Set LeAbility[1] = Levitate (Movement Speed)
      • -------- Set this variable to the ability "Levitate (Life)" --------
      • Set LeAbility[2] = Levitate (Life)
      • -------- Set this variable to the buff "Levitate" --------
      • Set LeBuff[0] = Levitate
      • -------- Set this variable to the buff "Levitate (Movement Speed)" --------
      • Set LeBuff[1] = Levitate (Movement Speed)
      • -------- Mana drained per level (%). Arrays (+ x) represent corresponding level values --------
      • Set LeRealGlobal[((1 x 4) + 1)] = 8.50
      • Set LeRealGlobal[((1 x 4) + 2)] = 7.00
      • Set LeRealGlobal[((1 x 4) + 3)] = 5.50
      • Set LeRealGlobal[((1 x 4) + 4)] = 4.00
      • -------- Height of levitation. Arrays (+ x) represent corresponding level values --------
      • For each (Integer A) from 1 to 4, do (Actions)
        • Loop - Actions
          • Set LeRealGlobal[((2 x 4) + (Integer A))] = 250.00
      • -------- Elemental effect chance increment (%). Arrays (+ x) represent corresponding level values --------
      • Set LeRealGlobal[((3 x 4) + 1)] = 20.00
      • Set LeRealGlobal[((3 x 4) + 2)] = 40.00
      • Set LeRealGlobal[((3 x 4) + 3)] = 60.00
      • Set LeRealGlobal[((3 x 4) + 4)] = 80.00
      • -------- Duration of Bloody Rose increment (seconds). Arrays (+ x) represent corresponding level values --------
      • Set LeRealGlobal[((4 x 4) + 1)] = 0.50
      • Set LeRealGlobal[((4 x 4) + 2)] = 1.00
      • Set LeRealGlobal[((4 x 4) + 3)] = 1.50
      • Set LeRealGlobal[((4 x 4) + 4)] = 2.00
      • -------- Number of shards of Anathema increment. Arrays (+ x) represent corresponding level values --------
      • Set LeRealGlobal[((5 x 4) + 1)] = 50.00
      • Set LeRealGlobal[((5 x 4) + 2)] = 100.00
      • Set LeRealGlobal[((5 x 4) + 3)] = 150.00
      • Set LeRealGlobal[((5 x 4) + 4)] = 200.00
      • -------- Third Element --------
      • -------- Set this variable to the base ability "Third Element" --------
      • Set TEAbility[0] = Third Element
      • -------- Set this variable to the ability "Third Element (Silence)" --------
      • Set TEAbility[1] = Third Element (Silence)
      • -------- Set this variable to the ability "Third Element (Movement Speed)" --------
      • Set TEAbility[2] = Third Element (Movement Speed)
      • -------- Set this variable to the buff "Third Element (Movement Speed)" --------
      • Set TEBuff = Third Element (Movement Speed)
      • -------- Set this variable to the unit "Third Element Earth Dummy" --------
      • Set TEDummyUnit[0] = Third Element Earth Dummy
      • -------- Set this variable to the unit "Third Element Ice Dummy" --------
      • Set TEDummyUnit[1] = Third Element Ice Dummy
      • -------- Damage dealt. Arrays (+ x) represent corresponding level values --------
      • Set TERealGlobal[((1 x 4) + 1)] = 150.00
      • Set TERealGlobal[((1 x 4) + 2)] = 190.00
      • Set TERealGlobal[((1 x 4) + 3)] = 230.00
      • Set TERealGlobal[((1 x 4) + 4)] = 270.00
      • -------- Damage dealt by earth. Arrays (+ x) represent corresponding level values --------
      • Set TERealGlobal[((2 x 4) + 1)] = 20.00
      • Set TERealGlobal[((2 x 4) + 2)] = 40.00
      • Set TERealGlobal[((2 x 4) + 3)] = 60.00
      • Set TERealGlobal[((2 x 4) + 4)] = 80.00
      • -------- Chance to inflict elemental effect (%). Arrays (+ x) represent corresponding level values --------
      • For each (Integer A) from 1 to 4, do (Actions)
        • Loop - Actions
          • Set TERealGlobal[((3 x 4) + (Integer A))] = 20.00
      • -------- Bloody Rose --------
      • -------- Set this variable to the base ability "Bloody Rose" --------
      • Set BRAbility = Bloody Rose
      • -------- Set this variable to the unit "Bloody Rose Dummy" --------
      • Set BRDummyUnit = Bloody Rose Dummy
      • -------- Number of dark energies summoned. Arrays represent corresponding level values --------
      • For each (Integer A) from 1 to 4, do (Actions)
        • Loop - Actions
          • Set BRIntGlobal[(Integer A)] = 12
      • -------- Damage dealt every 0.03 seconds by energy. Arrays (+ x) represent corresponding level values --------
      • Set BRRealGlobal[((1 x 4) + 1)] = 1.00
      • Set BRRealGlobal[((1 x 4) + 2)] = 2.00
      • Set BRRealGlobal[((1 x 4) + 3)] = 3.00
      • Set BRRealGlobal[((1 x 4) + 4)] = 4.00
      • -------- Area of effect. Arrays (+ x) represent corresponding level values --------
      • For each (Integer A) from 1 to 4, do (Actions)
        • Loop - Actions
          • Set BRRealGlobal[((2 x 4) + (Integer A))] = 800.00
      • -------- Duration of spell (seconds). Arrays (+ x) represent corresponding level values --------
      • For each (Integer A) from 1 to 4, do (Actions)
        • Loop - Actions
          • Set BRRealGlobal[((3 x 4) + (Integer A))] = 5.00
      • -------- Speed of energy (units/second). Arrays (+ x) represent corresponding level values --------
      • For each (Integer A) from 1 to 4, do (Actions)
        • Loop - Actions
          • Set BRRealGlobal[((4 x 4) + (Integer A))] = 3000.00
      • -------- Health restored factor (%). Arrays (+ x) represent corresponding level values --------
      • Set BRRealGlobal[((5 x 4) + 1)] = 5.00
      • Set BRRealGlobal[((5 x 4) + 2)] = 10.00
      • Set BRRealGlobal[((5 x 4) + 3)] = 15.00
      • Set BRRealGlobal[((5 x 4) + 4)] = 20.00
      • -------- Anathema --------
      • -------- Set this variable to the base ability "Anathema" --------
      • Set AnAbility[0] = Anathema
      • -------- Set this variable to the ability "Anathema (Armor)" --------
      • Set AnAbility[1] = Anathema (Armor)
      • -------- Set this variable to the ability "Anathema (Movement Speed)" --------
      • Set AnAbility[2] = Anathema (Movement Speed)
      • -------- Set this variable to the unit "Anathema Dummy" --------
      • Set AnDummyUnit = Anathema Dummy
      • -------- Total number of shards (Minimum of 50). Arrays represent corresponding level values --------
      • Set AnIntGlobal[1] = 100
      • Set AnIntGlobal[2] = 200
      • Set AnIntGlobal[3] = 300
      • -------- Damage dealt factor (%). Arrays (+ x) represent corresponding level values --------
      • For each (Integer A) from 1 to 3, do (Actions)
        • Loop - Actions
          • Set AnRealGlobal[((1 x 3) + (Integer A))] = 1.00
      • -------- Area of effect. Arrays (+ x) represent corresponding level values --------
      • For each (Integer A) from 1 to 3, do (Actions)
        • Loop - Actions
          • Set AnRealGlobal[((2 x 3) + (Integer A))] = 800.00
      • -------- Duration of spell (seconds). Arrays (+ x) represent corresponding level values --------
      • For each (Integer A) from 1 to 3, do (Actions)
        • Loop - Actions
          • Set AnRealGlobal[((3 x 3) + (Integer A))] = 10.00
      • -------- Duration of penalty (seconds). Arrays (+ x) represent corresponding level values --------
      • For each (Integer A) from 1 to 3, do (Actions)
        • Loop - Actions
          • Set AnRealGlobal[((4 x 3) + (Integer A))] = 5.00
      • -------- ----------------------------------------- --------
      • -------- Set this variable to the unit "Caster Dummy" --------
      • Set CasterDummy = Caster Dummy
      • -------- Set this variable to the unit "Hidden Dummy" --------
      • Set HiddenDummy = Hidden Dummy
      • -------- ----------------------------------------- --------
      • Hashtable - Create a hashtable
      • Set Hashtable = (Last created hashtable)


Trigger:
  • Remove Dummy
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to CasterDummy
    • Actions
      • Unit - Remove (Triggering unit) from the game


Spells

Levitate
levitate.png


Description:
Emilia uses the dark energies to levitate herself. While levitating, units have 50% chance to miss their damage while heroes have 10% chance. Emilia is able to travel over units but not physical obstacles. While levitating, her skills have extra effects and she have increased movement speed. Drains mana until deactivated.

Third Element - Increases chance to inflict an elemental effect. 20%/40%/60%/80%.
Bloody Rose - Increases duration of spell. 0.5/1.0/1.5/2.0 seconds.
Anathema - Increases number of shards. 50/100/150/200 shards.

Level 1 - Drains 8.5% of maximum mana per second. 6% increased movement speed.
Level 2 - Drains 7.0% of maximum mana per second. 9% increased movement speed.
Level 3 - Drains 5.5% of maximum mana per second. 12% increased movement speed.
Level 4 - Drains 4.0% of maximum mana per second. 15% increased movement speed.

Cast Range - Self
Spell Type - Activate/Deactivate
Cooldown - 0 seconds

Screenshot:

levitatess.jpg

Code:
Trigger:
  • Levitate Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to LeAbility[0]
    • Actions
      • Unit - Add LeAbility[1] to (Triggering unit)
      • Unit - Remove LeBuff[1] buff from (Triggering unit)
      • Unit - Set level of LeAbility[1] for (Triggering unit) to (Level of LeAbility[0] for (Triggering unit))
      • Unit Group - Add (Triggering unit) to LeUnitGroup
      • Set LeGroupInteger = (LeGroupInteger + 1)
      • Trigger - Turn on Levitate Periodic <gen>


Trigger:
  • Levitate Periodic - Initially off
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • LeGroupInteger Equal to 0
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Unit Group - Pick every unit in LeUnitGroup and do (Actions)
            • Loop - Actions
              • Set TempReal = (((LeRealGlobal[((1 x 4) + (Level of LeAbility[0] for (Picked unit)))] x (Max mana of (Picked unit))) / 100.00) x 0.10)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Mana of (Picked unit)) Less than TempReal
                      • ((Picked unit) has buff LeBuff[0]) Equal to False
                • Then - Actions
                  • Unit - Order (Picked unit) to Night Elf Demon Hunter - Deactivate Immolation
                  • Unit - Turn collision for (Picked unit) On
                  • Animation - Change (Picked unit) flying height to 0.00 at 1000000000.00
                  • Unit - Remove LeAbility[1] from (Picked unit)
                  • Unit - Remove LeBuff[1] buff from (Picked unit)
                  • Unit Group - Remove (Picked unit) from LeUnitGroup
                  • Set LeGroupInteger = (LeGroupInteger - 1)
                • Else - Actions
                  • Unit - Add Crow Form to (Picked unit)
                  • Unit - Remove Crow Form from (Picked unit)
                  • Animation - Change (Picked unit) flying height to LeRealGlobal[((2 x 4) + (Level of LeAbility[0] for (Picked unit)))] at 1000000000.00
                  • Set TempPoint = (Position of (Picked unit))
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Terrain pathing at TempPoint of type Walkability is off) Equal to True
                    • Then - Actions
                      • Unit - Turn collision for (Picked unit) On
                    • Else - Actions
                      • Unit - Turn collision for (Picked unit) Off
                  • Unit - Set level of LeAbility[1] for (Picked unit) to (Level of LeAbility[0] for (Picked unit))
                  • Unit - Set mana of (Picked unit) to ((Mana of (Picked unit)) - TempReal)
                  • Custom script: call RemoveLocation(udg_TempPoint)


Trigger:
  • Levitate Damage
    • Events
      • Game - GDD_Event becomes Equal to 0.00
    • Conditions
      • (GDD_DamagedUnit has buff LeBuff[0]) Equal to True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (GDD_DamageSource is A Hero) Equal to True
        • Then - Actions
          • Set TempInt = 10
        • Else - Actions
          • Set TempInt = 50
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than or equal to TempInt
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Life of GDD_DamagedUnit) + GDD_Damage) Greater than (Max life of GDD_DamagedUnit)
            • Then - Actions
              • Unit - Add LeAbility[2] to GDD_DamagedUnit
              • Unit Group - Add GDD_DamagedUnit to LeBlockGroup
              • Unit - Set life of GDD_DamagedUnit to 100.00%
              • Countdown Timer - Start LeBlockTimer as a One-shot timer that will expire in 0.00 seconds
            • Else - Actions
              • Unit - Set life of GDD_DamagedUnit to ((Life of GDD_DamagedUnit) + GDD_Damage)
          • Floating Text - Create floating text that reads miss! above GDD_DamageSource with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
          • Floating Text - Set the velocity of (Last created floating text) to 65.00 towards 90.00 degrees
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Change the lifespan of (Last created floating text) to 2.50 seconds
          • Floating Text - Change the fading age of (Last created floating text) to 2.50 seconds
        • Else - Actions


Trigger:
  • Levitate Block
    • Events
      • Time - LeBlockTimer expires
    • Conditions
    • Actions
      • Unit Group - Pick every unit in LeBlockGroup and do (Actions)
        • Loop - Actions
          • Unit - Remove LeAbility[2] from (Picked unit)
          • Unit Group - Remove (Picked unit) from LeBlockGroup


Third Element
thirdelement.png


Description:
Using the elements of earth, ice and lightning, Emilia unleashes a deadly strike in an area. Due to the mixture of elements, it causes pure damage and enemies have 20% chance to receive one of three elemetal effect.

Earth - Causes extra magic damage.
Ice - Slows attack and movement speed. Lasts 4 seconds.
Lightning - Silences enemies.

Level 1 - Deals 150 damage. Earth deals 20 magic damage. Ice slows by 10%. Silence lasts 1 second.
Level 2 - Deals 190 damage. Earth deals 40 magic damage. Ice slows by 15%. Silence lasts 2 seconds.
Level 3 - Deals 230 damage. Earth deals 60 magic damage. Ice slows by 20%. Silence lasts 3 seconds.
Level 4 - Deals 270 damage. Earth deals 80 magic damage. Ice slows by 25%. Silence lasts 4 seconds.

Cast Range - 600
Spell Type - Target Area of 300
Cooldown - 19/18/17/16 seconds

Screenshot:
thirdelementss.jpg

Code:
Trigger:
  • Third Element Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to TEAbility[0]
    • Actions
      • Set TempPoint = (Target point of ability being cast)
      • Set TempUnitGroup = (Units within 300.00 of TempPoint matching ((((Matching unit) is A structure) 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 enemy of (Owner of (Trigg
      • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause (Triggering unit) to damage (Picked unit), dealing TERealGlobal[((1 x 4) + (Level of TEAbility[0] for (Triggering unit)))] damage of attack type Chaos and damage type Universal
      • Unit - Create 1 TEDummyUnit[0] for (Owner of (Triggering unit)) at TempPoint facing Default building facing degrees
      • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
      • Unit - Create 1 TEDummyUnit[1] for (Owner of (Triggering unit)) at TempPoint facing Default building facing degrees
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Special Effect - Create a special effect at TempPoint using war3mapImported\Great Lightning.mdx
      • Special Effect - Destroy (Last created special effect)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Triggering unit) has buff LeBuff[0]) Equal to True
        • Then - Actions
          • Set TempReal = (TERealGlobal[((3 x 4) + (Level of TEAbility[0] for (Triggering unit)))] + LeRealGlobal[((3 x 4) + (Level of LeAbility[0] for (Triggering unit)))])
        • Else - Actions
          • Set TempReal = TERealGlobal[((3 x 4) + (Level of TEAbility[0] for (Triggering unit)))]
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random real number between 1.00 and 100.00) Less than or equal to TempReal
        • Then - Actions
          • Set TempInt = (Random integer number between 1 and 3)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • TempInt Equal to 1
            • Then - Actions
              • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
                • Loop - Actions
                  • Unit - Cause (Triggering unit) to damage (Picked unit), dealing TERealGlobal[((2 x 4) + (Level of TEAbility[0] for (Triggering unit)))] damage of attack type Spells and damage type Magic
                  • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
                  • Special Effect - Destroy (Last created special effect)
              • Floating Text - Create floating text that reads |cff8b008bEarth!|r above (Triggering unit) with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
              • Floating Text - Set the velocity of (Last created floating text) to 65.00 towards 90.00 degrees
              • Floating Text - Change (Last created floating text): Disable permanence
              • Floating Text - Change the lifespan of (Last created floating text) to 2.50 seconds
              • Floating Text - Change the fading age of (Last created floating text) to 2.50 seconds
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • TempInt Equal to 2
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • TECustomValue Less than 100
                • Then - Actions
                  • Set TECustomValue = (TECustomValue + 1)
                • Else - Actions
                  • Set TECustomValue = 1
              • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
                • Loop - Actions
                  • Unit - Add TEAbility[2] to (Picked unit)
                  • Unit - Set level of TEAbility[2] for (Picked unit) to (Level of TEAbility[0] for (Triggering unit))
                  • Unit Group - Add (Picked unit) to TEUnitGroup[TECustomValue]
              • Unit - Create 1 HiddenDummy for (Owner of (Triggering unit)) at TempPoint facing Default building facing degrees
              • Unit - Set the custom value of (Last created unit) to TECustomValue
              • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("TEduration"), 4)
              • Unit Group - Add (Last created unit) to TEDummyGroup
              • Set TEGroupInteger = (TEGroupInteger + 1)
              • Trigger - Turn on Third Element Periodic <gen>
              • Floating Text - Create floating text that reads |cff8b008bIce!|r above (Triggering unit) with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
              • Floating Text - Set the velocity of (Last created floating text) to 65.00 towards 90.00 degrees
              • Floating Text - Change (Last created floating text): Disable permanence
              • Floating Text - Change the lifespan of (Last created floating text) to 2.50 seconds
              • Floating Text - Change the fading age of (Last created floating text) to 2.50 seconds
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • TempInt Equal to 3
            • Then - Actions
              • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
                • Loop - Actions
                  • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\Bolt\BoltImpact.mdl
                  • Special Effect - Destroy (Last created special effect)
              • Unit - Create 1 CasterDummy for (Owner of (Triggering unit)) at TempPoint facing Default building facing degrees
              • Unit - Add TEAbility[1] to (Last created unit)
              • Unit - Set level of TEAbility[1] for (Last created unit) to (Level of TEAbility[0] for (Triggering unit))
              • Unit - Order (Last created unit) to Neutral Dark Ranger - Silence TempPoint
              • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
              • Floating Text - Create floating text that reads |cff8b008bLightning... above (Triggering unit) with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
              • Floating Text - Set the velocity of (Last created floating text) to 65.00 towards 90.00 degrees
              • Floating Text - Change (Last created floating text): Disable permanence
              • Floating Text - Change the lifespan of (Last created floating text) to 2.50 seconds
              • Floating Text - Change the fading age of (Last created floating text) to 2.50 seconds
            • Else - Actions
        • Else - Actions
      • Custom script: call DestroyGroup(udg_TempUnitGroup)
      • Custom script: call RemoveLocation(udg_TempPoint)


Trigger:
  • Third Element Periodic - Initially off
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • TEGroupInteger Equal to 0
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Unit Group - Pick every unit in TEDummyGroup and do (Actions)
            • Loop - Actions
              • Custom script: set udg_TempReal = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("TEduration"))
              • Set TempInt = (Custom value of (Picked unit))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • TempReal Less than or equal to 0.00
                • Then - Actions
                  • Unit Group - Pick every unit in TEUnitGroup[TempInt] and do (Actions)
                    • Loop - Actions
                      • Unit - Remove TEAbility[2] from (Picked unit)
                  • Unit Group - Remove all units from TEUnitGroup[TempInt]
                  • Unit Group - Remove (Picked unit) from TEDummyGroup
                  • Set TEGroupInteger = (TEGroupInteger - 1)
                  • Unit - Remove (Picked unit) from the game
                • Else - Actions
                  • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("TEduration"), udg_TempReal - 0.10)


Bloody Rose
bloodyrose.png


Description:
Using the darkness within her, Emilia releases a barrage of dark elements to strike all enemies in the targeted area. The dark elements continuously strike down her enemies for 5 seconds, after which Emilia abosrbs the life force stolen by the dark energies to replenish her own health. Energies deal damage at an interval of 0.03 seconds.

Level 1 - Deals 1 magic damage per energy. Absrobs 5% of total damage dealt as health.
Level 2 - Deals 2 magic damage per energy. Absrobs 10% of total damage dealt as health.
Level 3 - Deals 3 magic damage per energy. Absrobs 15% of total damage dealt as health.
Level 4 - Deals 4 magic damage per energy. Absrobs 20% of total damage dealt as health.

Cast Range - 600
Spell Type - Target Area of 800
Cooldown - 14 seconds

Screenshot:
bloodyrosess.jpg

Code:
Trigger:
  • Bloody Rose Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to BRAbility
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • BRCustomValue Less than 100
        • Then - Actions
          • Set BRCustomValue = (BRCustomValue + 1)
        • Else - Actions
          • Set BRCustomValue = 1
      • Set BRPoint[BRCustomValue] = (Target point of ability being cast)
      • Set TempReal = 0.00
      • For each (Integer A) from 1 to BRIntGlobal[(Level of BRAbility for (Triggering unit))], do (Actions)
        • Loop - Actions
          • Set TempPoint = (BRPoint[BRCustomValue] offset by BRRealGlobal[((2 x 4) + (Level of BRAbility for (Triggering unit)))] towards TempReal degrees)
          • Unit - Create 1 BRDummyUnit for (Owner of (Triggering unit)) at TempPoint facing (Angle from TempPoint to BRPoint[BRCustomValue]) degrees
          • Unit - Set the custom value of (Last created unit) to (Integer A)
          • Unit Group - Add (Last created unit) to BRUnitGroup[BRCustomValue]
          • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("distance"), 0)
          • Custom script: call RemoveLocation(udg_TempPoint)
          • Set TempReal = (TempReal + (360.00 / (Real(BRIntGlobal[(Level of BRAbility for (Triggering unit))]))))
      • Unit - Create 1 HiddenDummy for (Owner of (Triggering unit)) at BRPoint[BRCustomValue] facing Default building facing degrees
      • Unit - Set the custom value of (Last created unit) to BRCustomValue
      • Unit Group - Add (Last created unit) to BRDummyGroup
      • Set BRGroupInteger = (BRGroupInteger + 1)
      • Set TempInt = (Level of BRAbility for (Triggering unit))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Triggering unit) has buff LeBuff[0]) Equal to True
        • Then - Actions
          • Set BRInteger = (Level of LeAbility[0] for (Triggering unit))
          • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("BRduration"), udg_BRRealGlobal[((3 * 4) + udg_TempInt)] + udg_LeRealGlobal[((4 * 4) + udg_BRInteger)])
        • Else - Actions
          • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("BRduration"), udg_BRRealGlobal[((3 * 4) + udg_TempInt)])
      • Custom script: call SaveInteger(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("BRinteger"), udg_TempInt)
      • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("BRdamage"), udg_BRRealGlobal[((1 * 4) + udg_TempInt)])
      • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("BRspeed"), udg_BRRealGlobal[((4 * 4) + udg_TempInt)] * 0.03)
      • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("BRrestorefactor"), udg_BRRealGlobal[((5 * 4) + udg_TempInt)] / 100)
      • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("BRrestorecount"), 0)
      • Custom script: call SaveUnitHandle(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("BRcaster"), GetTriggerUnit())
      • Trigger - Turn on Bloody Rose Periodic <gen>


Trigger:
  • Bloody Rose Periodic - Initially off
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • BRGroupInteger Equal to 0
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Unit Group - Pick every unit in BRDummyGroup and do (Actions)
            • Loop - Actions
              • Set TempInt = (Custom value of (Picked unit))
              • Custom script: set udg_BRInteger = LoadInteger(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("BRinteger"))
              • Custom script: set udg_TempReal = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("BRduration"))
              • Custom script: set udg_BRTempUnit[0] = LoadUnitHandle(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("BRcaster"))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • TempReal Less than or equal to 0.00
                • Then - Actions
                  • Custom script: set udg_BRReal[0] = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("BRrestorecount"))
                  • Custom script: set udg_BRReal[1] = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("BRrestorefactor"))
                  • Set BRReal[1] = (BRReal[0] x BRReal[1])
                  • Unit - Set life of BRTempUnit[0] to ((Life of BRTempUnit[0]) + BRReal[1])
                  • Special Effect - Create a special effect attached to the origin of BRTempUnit[0] using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Unit Group - Pick every unit in BRUnitGroup[TempInt] and do (Actions)
                    • Loop - Actions
                      • Custom script: call FlushChildHashtable(udg_Hashtable, GetHandleId(GetEnumUnit()))
                      • Unit - Kill (Picked unit)
                      • Unit Group - Remove (Picked unit) from BRUnitGroup[TempInt]
                  • Custom script: call FlushChildHashtable(udg_Hashtable, GetHandleId(GetEnumUnit()))
                  • Unit Group - Remove (Picked unit) from BRDummyGroup
                  • Set BRGroupInteger = (BRGroupInteger - 1)
                  • Custom script: call RemoveLocation(udg_BRPoint[udg_TempInt])
                  • Unit - Remove (Picked unit) from the game
                • Else - Actions
                  • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("BRduration"), udg_TempReal - 0.03)
                  • Set BRTempUnit[1] = (Picked unit)
                  • Custom script: set udg_BRReal[0] = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("BRspeed"))
                  • Custom script: set udg_BRReal[1] = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("BRdamage"))
                  • Unit Group - Pick every unit in BRUnitGroup[TempInt] and do (Actions)
                    • Loop - Actions
                      • Custom script: set udg_BRReal[2] = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("distance"))
                      • Set TempPoint = (Position of (Picked unit))
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • BRReal[2] Less than or equal to 0.00
                        • Then - Actions
                          • Set TempOffset = (BRPoint[TempInt] offset by (Random real number between 0.00 and BRRealGlobal[((2 x 4) + BRInteger)]) towards (Random angle) degrees)
                          • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("distance"), DistanceBetweenPoints(udg_TempPoint, udg_TempOffset))
                          • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("angle"), AngleBetweenPoints(udg_TempPoint, udg_TempOffset))
                          • Custom script: call RemoveLocation(udg_TempOffset)
                        • Else - Actions
                          • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("distance"), udg_BRReal[2] - udg_BRReal[0])
                          • Custom script: set udg_BRReal[2] = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("angle"))
                          • Set TempOffset = (TempPoint offset by BRReal[0] towards BRReal[2] degrees)
                          • Unit - Move (Picked unit) instantly to TempOffset
                          • Set TempUnitGroup = (Units within 150.00 of TempOffset matching ((((Matching unit) is A structure) 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 enemy of (Owner of BRTe
                          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
                            • Loop - Actions
                              • Unit - Cause BRTempUnit[0] to damage (Picked unit), dealing BRReal[1] damage of attack type Spells and damage type Magic
                              • Custom script: call SaveReal(udg_Hashtable, GetHandleId(udg_BRTempUnit[1]), StringHash("BRrestorecount"), LoadReal(udg_Hashtable, GetHandleId(udg_BRTempUnit[1]), StringHash("BRrestorecount")) + udg_BRReal[1])
                              • Unit Group - Add (Picked unit) to BRDamagedGroup[TempInt]
                          • Custom script: call DestroyGroup(udg_TempUnitGroup)
                          • Custom script: call RemoveLocation(udg_TempOffset)
                      • Custom script: call RemoveLocation(udg_TempPoint)
                  • Unit Group - Remove all units from BRDamagedGroup[TempInt]

Anathema
anathema.png


Description:
Emilia sends a wave of dark energy into the skies. Waves of dark energy then pour down from the sky and strike the enemies mercilessly. While in the barrage, enemies have 80% reduced movement speed. Every shard of dark energy deals 1% of Emilia's maximum mana as damage. When units are hit by the shards, their armor is reduced by 1. Maximum armor penalty of 10 and lasts 5 seconds after the duration of the spell ends. Spell lasts 10 seconds.

Level 1 - Total of 100 shards.
Level 2 - Total of 200 shards.
Level 3 - Total of 300 shards.

Cast Range - 600
Spell Type - Target Area of 800
Cooldown - 67 seconds

Screenshot:
anathemass.jpg

Code:
Trigger:
  • Anathema Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to AnAbility[0]
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnCustomValue Less than 100
        • Then - Actions
          • Set AnCustomValue = (AnCustomValue + 1)
        • Else - Actions
          • Set AnCustomValue = 1
      • Set AnPoint[AnCustomValue] = (Target point of ability being cast)
      • Unit - Create 1 HiddenDummy for (Owner of (Triggering unit)) at AnPoint[AnCustomValue] facing Default building facing degrees
      • Unit - Add AnAbility[2] to (Last created unit)
      • Unit - Set the custom value of (Last created unit) to AnCustomValue
      • Unit Group - Add (Last created unit) to AnDummyGroup
      • Set AnGroupInteger = (AnGroupInteger + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Triggering unit) has buff LeBuff[0]) Equal to True
        • Then - Actions
          • Set TempInt = (AnIntGlobal[(Level of AnAbility[0] for (Triggering unit))] + (Integer(AnRealGlobal[((5 x 4) + (Level of LeAbility[0] for (Triggering unit)))])))
        • Else - Actions
          • Set TempInt = AnIntGlobal[(Level of AnAbility[0] for (Triggering unit))]
      • Set TempInt = (TempInt / 50)
      • Custom script: call SaveInteger(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("Anshard"), udg_TempInt)
      • Set TempInt = (Level of AnAbility[0] for (Triggering unit))
      • Set TempReal = ((Max mana of (Triggering unit)) x (AnRealGlobal[((1 x 3) + TempInt)] / 100.00))
      • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("Andamage"), udg_TempReal)
      • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("Anarea"), udg_AnRealGlobal[((2 * 3) + udg_TempInt)])
      • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("Anduration"), udg_AnRealGlobal[((3 * 3) + udg_TempInt)])
      • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("Antotalduration"), udg_AnRealGlobal[((3 * 3) + udg_TempInt)] + udg_AnRealGlobal[((4 * 3) + udg_TempInt)])
      • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("Anintervalcount"), 0)
      • Custom script: call SaveUnitHandle(udg_Hashtable, GetHandleId(GetLastCreatedUnit()), StringHash("Ancaster"), GetTriggerUnit())
      • Trigger - Turn on Anathema Periodic <gen>


Trigger:
  • Anathema Periodic - Initially off
    • 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
          • AnGroupInteger Equal to 0
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Unit Group - Pick every unit in AnDummyGroup and do (Actions)
            • Loop - Actions
              • Set TempInt = (Custom value of (Picked unit))
              • Custom script: set udg_TempReal = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Antotalduration"))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • TempReal Less than or equal to 0.00
                • Then - Actions
                  • Unit Group - Pick every unit in AnPenaltyGroup[TempInt] and do (Actions)
                    • Loop - Actions
                      • Unit - Remove AnAbility[1] from (Picked unit)
                  • Unit Group - Remove all units from AnPenaltyGroup[TempInt]
                  • Custom script: call RemoveLocation(udg_AnPoint[udg_TempInt])
                  • Unit Group - Remove (Picked unit) from AnDummyGroup
                  • Set AnGroupInteger = (AnGroupInteger - 1)
                  • Unit - Remove (Picked unit) from the game
                • Else - Actions
                  • Custom script: set udg_TempUnit = LoadUnitHandle(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Ancaster"))
                  • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Antotalduration"), udg_TempReal - 0.04)
                  • Custom script: set udg_TempReal = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Andamage"))
                  • Unit Group - Pick every unit in AnUnitGroup[TempInt] and do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Current flying height of (Picked unit)) Less than or equal to 10.00
                        • Then - Actions
                          • Unit - Remove (Picked unit) from the game
                          • Set TempPoint = (Position of (Picked unit))
                          • Special Effect - Create a special effect at TempPoint using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
                          • Special Effect - Destroy (Last created special effect)
                          • Set TempUnitGroup = (Units within 200.00 of TempPoint matching ((((Matching unit) is A structure) 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 enemy of (Owner of TempUn
                          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
                            • Loop - Actions
                              • Unit - Cause TempUnit to damage (Picked unit), dealing TempReal damage of attack type Spells and damage type Magic
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Level of AnAbility[1] for (Picked unit)) Equal to 0
                                • Then - Actions
                                  • Unit - Add AnAbility[1] to (Picked unit)
                                  • Unit Group - Add (Picked unit) to AnPenaltyGroup[TempInt]
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • (Level of AnAbility[1] for (Picked unit)) Equal to 10
                                    • Then - Actions
                                    • Else - Actions
                                      • Unit - Increase level of AnAbility[1] for (Picked unit)
                          • Custom script: call DestroyGroup(udg_TempUnitGroup)
                          • Custom script: call RemoveLocation(udg_TempPoint)
                        • Else - Actions
                          • Unit - Set the custom value of (Picked unit) to ((Custom value of (Picked unit)) + 10)
                          • Animation - Change (Picked unit) flying height to ((Current flying height of (Picked unit)) - (Real((Custom value of (Picked unit))))) at 1000000000.00
                  • Custom script: set udg_TempReal = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Anduration"))
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • TempReal Less than or equal to 0.00
                    • Then - Actions
                      • Unit - Remove AnAbility[2] from (Picked unit)
                    • Else - Actions
                      • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Anduration"), udg_TempReal - 0.04)
                      • Custom script: set udg_TempReal = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Anintervalcount"))
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • TempReal Less than or equal to 0.00
                        • Then - Actions
                          • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Anintervalcount"), 0.20)
                          • Custom script: set udg_AnInteger = LoadInteger(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Anshard"))
                          • Custom script: set udg_TempReal = LoadReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Anarea"))
                          • For each (Integer A) from 1 to AnInteger, do (Actions)
                            • Loop - Actions
                              • Set TempPoint = (AnPoint[TempInt] offset by (Random real number between 0.00 and TempReal) towards (Random angle) degrees)
                              • Unit - Create 1 AnDummyUnit for (Owner of TempUnit) at TempPoint facing Default building facing degrees
                              • Unit Group - Add (Last created unit) to AnUnitGroup[TempInt]
                              • Custom script: call RemoveLocation(udg_TempPoint)
                        • Else - Actions
                          • Custom script: call SaveReal(udg_Hashtable, GetHandleId(GetEnumUnit()), StringHash("Anintervalcount"), udg_TempReal - 0.04)



Credits
Code:
[COLOR="Red"]GDD[/COLOR] - [URL="http://www.thehelper.net/forums/member.php?u=26460"]Weep[/URL]
[COLOR="Red"]Hero Model[/COLOR] - Judash137 @ [url]http://wc3r.forumcircle.com/index.php[/url]
[COLOR="Red"]Third Element Model[/COLOR] - Tranquil & JetFangInferno @ [url]www.hiveworkshop.com[/url]
[COLOR="Red"]Anathema Model[/COLOR] - shamanyouranus @ [url]www.hiveworkshop.com[/url]
[COLOR="Red"]Spell Icons[/COLOR] - [url]ge.hanbiton.com[/url]



Changelogs
Code:
[B]Version 1.0[/B]
- Initial release
[B]Version 1.1[/B]
- Reworked Bloody Rose for a better visual effect.
- Removed Mini-stun from Bloody Rose.
[B]Version 1.2[/B]
- Fixed an issue where icons caused Mac Version of Warcraft 3 to freeze.


Any type of feedback will be appreciated. Please post constructive criticisms if you're intending to criticize this spell pack. Thank you.
 

Attachments

  • Dark Enchanter Spellpack v1.2.w3x
    285.8 KB · Views: 535

Komaqtion

You can change this now in User CP.
Reaction score
469
As usual, VERY nice spells ! ;)

But, I'd suggest you save the BRPoint[BrCustomValue] and AnPoint[AnCustomValue] in the hashtables as well, and destroy those in the first triggers, or else it'll still leak, though only for that 0.03 seconds XD
 

Ayanami

칼리
Reaction score
288
As usual, VERY nice spells ! ;)

But, I'd suggest you save the BRPoint[BrCustomValue] and AnPoint[AnCustomValue] in the hashtables as well, and destroy those in the first triggers, or else it'll still leak, though only for that 0.03 seconds XD

Hmm, but didn't I remove the points at the end of the periodic trigger?

And thanks :D
 

XeNiM666

I lurk for pizza
Reaction score
138
You know, I really like your SpellPacks! <3
The only problem (for me) is its in GUI. Might use some of them though. +rep

BTW:
How did you get Lulu's model (FFX) ???
 

Ayanami

칼리
Reaction score
288
You know, I really like your SpellPacks! <3
The only problem (for me) is its in GUI. Might use some of them though. +rep

BTW:
How did you get Lulu's model (FFX) ???

Well, at the moment, kind of lazy to learn JASS. Might consider after my major exams this year though.

Look at the credits. I found it somewhere there. Really nice models in that forum :thup:
 

Ayanami

칼리
Reaction score
288
Bump! More feedback!

Edit
Updated to version 1.1

Changelogs
Code:
[B]Version 1.1[/B]
- Reworked Bloody Rose for a better visual effect.
- Removed Mini-stun from Bloody Rose.

Also, added this to the introduction section (at the extreme top of the first post).
Here's a link to a video showing you the actual Emilia's skill in Granado Espada. Got the spell ideas from there. Click me!
 

mapguy

New Member
Reaction score
46
the spells are good but I don't think the hero is very creative, it's just a good one.

and it looks an spell spammer, for example, the kind of hero that you approach a target and then use all spells at the same time. (like witch doctor, lion, earth shaker,and others of dota).

And the levitate counts too much on luck, I understood that you have chance to block damage, if for example someone uses an ultimate of 700 damage and miss it because of levitate it's kinda opressive.

you should change some part...

I would give 3 out of 5 starts to your hero.

note: 3 is not bad, I give 1 star to 75% of Dota heroes.
 

Ayanami

칼리
Reaction score
288
the spells are good but I don't think the hero is very creative, it's just a good one.

The spells are good but the hero isn't creative? Isn't that contradicting yourself?

and it looks an spell spammer, for example, the kind of hero that you approach a target and then use all spells at the same time. (like witch doctor, lion, earth shaker,and others of dota).

It is. I wrote that in the description.

And the levitate counts too much on luck, I understood that you have chance to block damage, if for example someone uses an ultimate of 700 damage and miss it because of levitate it's kinda opressive.

Did you really read the full description? Levitation does more than just blocking damage. It's useful for pumping your other spells and gives you ability to fly over creeps. That's 3 effects in 1 skill.

note: 3 is not bad, I give 1 star to 75% of Dota heroes.

Why are you comparing this with DoTA?
 

mapguy

New Member
Reaction score
46
The spells are good but the hero isn't creative? Isn't that contradicting yourself?
good hero is one thing, creative is another.
good is when the spells have a purpose and they synergyze.
creative is when you come out with shinny ideas.


It is. I wrote that in the description.
anyways, spammers are ugly and they don't a brain to use.


Did you really read the full description? Levitation does more than just blocking damage. It's useful for pumping your other spells and gives you ability to fly over creeps. That's 3 effects in 1 skill.
increases all other skill?
and then?
i's just a poor way to make a synergy.
spells should raise the power of others because you can make combos, not because you just have more power when you use one.


Why are you comparing this with DoTA?

I'm just saying that your hero is better than 80% of Dota heroes.
I selected Dota because it's well known map. If for example I selected age of myths no one would know what I'm talking about.
 

Ayanami

칼리
Reaction score
288
anyways, spammers are ugly and they don't a brain to use.

I didn't really catch this. What? Didn't I already said I adapted this skill from Granado Espada? So are you saying the developers of this game have no brain because they developed all these spam skills? Please don't criticize if you don't have any constructive points to discuss about. I welcome criticisms only if they are constructive and not just blatantly insulting something.

increases all other skill?
and then?
i's just a poor way to make a synergy.
spells should raise the power of others because you can make combos, not because you just have more power when you use one.

Increase all other skill? And then? I'll tell you what then. It helps boost the other abilities in terms of effectiveness. Third Element has an elemental effect that normally only has a 20% chance success rate. Levitation improves that. No, it does not simply improve damage or reduce cooldown. In your concept, it might be a poor way. And, Levitation itself provides a simple "evasion" and ability to "fly" over units.

I'm just saying that your hero is better than 80% of Dota heroes.
I selected Dota because it's well known map. If for example I selected age of myths no one would know what I'm talking about.

I still can't seem how you linked this to DoTA. Why even make a comparison to DoTA heroes. How about actually commenting in detail rather than saying "It's better than 80% of DoTA Heroes"? "You should change some parts" is not really an acceptable feedback in my opinion.
 

mapguy

New Member
Reaction score
46
I didn't really catch this. What? Didn't I already said I adapted this skill from Granado Espada? So are you saying the developers of this game have no brain because they developed all these spam skills? Please don't criticize if you don't have any constructive points to discuss about. I welcome criticisms only if they are constructive and not just blatantly insulting something.



Increase all other skill? And then? I'll tell you what then. It helps boost the other abilities in terms of effectiveness. Third Element has an elemental effect that normally only has a 20% chance success rate. Levitation improves that. No, it does not simply improve damage or reduce cooldown. In your concept, it might be a poor way. And, Levitation itself provides a simple "evasion" and ability to "fly" over units.



I still can't seem how you linked this to DoTA. Why even make a comparison to DoTA heroes. How about actually commenting in detail rather than saying "It's better than 80% of DoTA Heroes"? "You should change some parts" is not really an acceptable feedback in my opinion.

well. I'm going to answer in part.

I misswritten the don't to have brain part.
It was supposed to be:
"players don't need a brain to use spammer heroes".

and your levitate works like an eginering upgrade, and that's the part I say it's poor. It gives synergy because it raises the the poewr of the other spells like a level up, and not because you can use this spell to make a combo.

ok, I'll stop Dota comparation, here is what I think about your here:
It's good, but not awesome, and I wouldn't like to play with this hero because it sounds not a fun unit to play with, the spells are too generic, which means nothing is new, it has an skill that removes collision and gives chance to block damage, a damage in area skill, and another that places a random simple buff.
what I'm trying to say is that this hero is very similar to lots of other heroes I've seen in AOS maps, it just have a different name and one or other different spell.
If you want to see real awesome heroes, take a look in this AOS:
Age Of Myths
this is one of the best AOS ever, but people don't play it because it's takes to long to LOAD and has bad items, but the heroes are awesome!
If you want to make a good hero you should make something different, create spell no one have ever seen or spells that just a few people know.

that's what I think, I'm not a god, I'm not always right, but this is my opinion, if you have something to say don't attack me, I'm not trying to screw your hero I'm just saying what I didn't like on it.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top