• 🏆 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!

Illusion Split v1.05c

Spell description said:
Illusion Split

Give chance to splits into few illusion when attacked. Caster is Invisible but can't attack when active. When illusion is attacked, it will dealing damage to attacking unit. Illusion will die after attacked few times. When nobody attack illusion, after few times, they will disappear. When disappear, Illusion will deal damage on 200 AoE. When all illusion have killed, caster back to normal.

Level 1 - Have 2.5% chance. Summons 2 Illusion. Deal 75 damage and 0.5 second stun to illusion attacker.
Level 2 - Have 5% chance. Summons 3 Illusion. Deal 100 damage and 1 second stun to illusion attacker.
Level 3 - Have 7.5% chance. Summons 4 Illusion. Deal 125 damage and 1.5 second stun to illusion attacker.
Level 4 - Have 10% chance. Summons 5 Illusion. Deal 150 damage and 2 second stun to illusion attacker.

Disappear after (1.5 x level) second idle times.

This is Spell i made for S&SMC #17, but first time i submit it, it crash the WE. I fix it, but it already late for updating submission. So i submit here.

Give credits to me if you use spell in your map or campaign.
Give comment and rate. I'm accept all comments.
This Spell now use Recycle Indexing System instead of Custom Value Indexing System.
This spell now meet the New Spell Section Rules

v1.0
Upload Spell

v1.01
Fix the Aura Effect
Fix Silence Sound When activated

v1.02
Add Effect when Illusion Move
Reduce lag at first activate
Fix error when saved

v1.03
Reduce Lag When first cast again
Change the way illusion move
Fix bug when illusion attacking, they didn't turn

v1.04
Add AoE damage when Illusion Dies
Make Durability and Number of Illusion Summoned Change-able

v1.05
Change the Indexing Methods of the Spell
Make Spell leakless

v1.05b
Fix some minor error with spell, now Recyling work normally

v1.05c
Make spell more user-friendly
Reduce number of Object Editor stuff in spell
Post spell's trigger
Fix some minor spelling/grammar error


  • Illusion Split Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Preload Spell --------
      • -------- ------------------------------------------------ --------
      • -------- Initialize ObjectEditor Stuff --------
      • -------- ------------------------------------------------ --------
      • -------- Ability --------
      • -------- ------------------------------------------------ --------
      • -------- Hero Ability --------
      • Set IS_Init_AbilityHero = Illusion Split
      • -------- Ability that provide invisibility --------
      • Set IS_Init_AbilityCasterAdded = Illusion Split (Caster)
      • -------- Ability that added to illusion --------
      • Set IS_Init_AbilityIllusionAdded = Illusion Split (Illusion)
      • -------- Ability that used to damage attacking unit --------
      • Set IS_Init_AbilityDamage = Dummy Damage
      • -------- Ability to create illusion --------
      • Set IS_Init_AbilityIllusionMaker = Make Illusions
      • -------- Ability to make illusion immune --------
      • Set IS_Init_AbilitySpellImmunity = Spell Immunity
      • -------- ------------------------------------------------ --------
      • -------- Buff --------
      • -------- ------------------------------------------------ --------
      • -------- Main hero's buff --------
      • Set IS_Init_BuffHero = Illusion Split
      • -------- ------------------------------------------------ --------
      • -------- Unit --------
      • -------- ------------------------------------------------ --------
      • -------- Dummy unit --------
      • Set IS_Init_UnitDummy = Dummy Unit
      • -------- Unit that act as timer of the spell --------
      • Set IS_Init_UnitTimer = IS_Timer
      • -------- ------------------------------------------------ --------
      • -------- Initialize Effect String --------
      • -------- ------------------------------------------------ --------
      • -------- First Efffect when Activated (In caster location) --------
      • Set IS_Init_Effect[1] = Abilities\Spells\Orc\MirrorImage\MirrorImageCaster.mdl
      • -------- Second Efffect when Activated (In caster location) --------
      • Set IS_Init_Effect[2] = Abilities\Spells\Other\Silence\SilenceAreaBirth.mdl
      • -------- Effect to illusion origin when created --------
      • Set IS_Init_Effect[3] = Abilities\Spells\Other\Transmute\GoldBottleMissile.mdl
      • -------- Effect to attacked unit (attached to chest) --------
      • Set IS_Init_Effect[4] = Abilities\Weapons\SpiritOfVengeanceMissile\SpiritOfVengeanceMissile.mdl
      • -------- Effect when illusion scramble (attached to illusion) --------
      • Set IS_Init_Effect[5] = Abilities\Spells\Items\ResourceItems\ResourceEffectTarget.mdl
      • -------- Effect when illusion scramble (to location) --------
      • Set IS_Init_Effect[6] = Abilities\Spells\Undead\OrbOfDeath\OrbOfDeathMissile.mdl
      • -------- Effect when illusion deal aoe damage when dies (to illusion) --------
      • Set IS_Init_Effect[7] = Abilities\Spells\Items\TomeOfRetraining\TomeOfRetrainingCaster.mdl
      • -------- Effect when illusion deal aoe damage when dies (to damaged unit) --------
      • Set IS_Init_Effect[8] = Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
      • -------- Effect when spell end (to central location) --------
      • Set IS_Init_Effect[9] = Abilities\Spells\Other\Silence\SilenceAreaBirth.mdl
      • -------- ------------------------------------------------ --------
      • -------- Set Location --------
      • Set IS_Loc[1] = (Center of (Playable map area))
      • -------- Preload Make Illusions Spell --------
      • Unit - Create 1 IS_Init_UnitTimer for Player 1 (Red) at IS_Loc[1] facing Default building facing degrees
      • Unit - Add IS_Init_AbilityIllusionMaker to (Last created unit)
      • Custom script: call IssueTargetOrderById(GetLastCreatedUnit() , 852274 , GetLastCreatedUnit())
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • -------- Preload Dummy Damage Spell --------
      • Unit - Create 1 IS_Init_UnitTimer for Player 1 (Red) at IS_Loc[1] facing Default building facing degrees
      • Set IS_TempUnit = (Last created unit)
      • Unit - Add IS_Init_AbilityDamage to IS_TempUnit
      • Unit - Create 1 IS_Init_UnitDummy for Neutral Hostile at IS_Loc[1] facing Default building facing degrees
      • Unit - Order IS_TempUnit to Human Mountain King - Storm Bolt (Last created unit)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Unit - Add a 1.00 second Generic expiration timer to IS_TempUnit
      • Set IS_TempUnit = No unit
      • -------- Preload Passive Spell --------
      • Unit - Create 1 IS_Init_UnitDummy for Player 1 (Red) at IS_Loc[1] facing Default building facing degrees
      • Unit - Add IS_Init_AbilityCasterAdded to (Last created unit)
      • Unit - Add IS_Init_AbilityIllusionAdded to (Last created unit)
      • Unit - Add IS_Init_AbilityHero to (Last created unit)
      • Unit - Add IS_Init_AbilityInvis to (Last created unit)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • -------- Remove Leak --------
      • Custom script: call RemoveLocation(udg_IS_Loc[1])
      • -------- Preload Effect --------
      • For each (Integer A) from 1 to 9, do (Actions)
        • Loop - Actions
          • Game - Preload IS_Init_Effect[(Integer A)]
      • Custom script: call PreloadStart()
      • -------- Tell Player --------
      • Wait 0.50 seconds
      • Game - Display to (All players) the text: Preload Complete
  • Illusion Split Start
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Triggering unit) has buff IS_Init_BuffHero) Equal to True
      • (Level of Illusion Split (Caster) for (Triggering unit)) Equal to 0
      • ((Triggering unit) is an illusion) Equal to False
    • Actions
      • -------- Using If/Then/Else for multi-level purpose --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random percentage) Less than or equal to (2.50 x (Real((Level of IS_Init_AbilityHero for (Attacked unit)))))
        • Then - Actions
          • Set IS_Level = (Level of IS_Init_AbilityHero for (Triggering unit))
          • Unit - Order (Attacking unit) to Stop
          • -------- Increase Count --------
          • Set IS_MUI_Count[1] = (IS_MUI_Count[1] + 1)
          • -------- Get Free Index --------
          • -------- If none found, Increase Index --------
          • Set IS_MUI_Current = IS_MUI_Free[1]
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • IS_MUI_Current Equal to 0
            • Then - Actions
              • -------- Increase Index --------
              • Set IS_MUI_Current = IS_MUI_Count[1]
            • Else - Actions
              • -------- Set the Free Index --------
              • Set IS_MUI_Free[1] = IS_MUI_Free[IS_MUI_Count[2]]
              • Set IS_MUI_Count[2] = (IS_MUI_Count[2] - 1)
          • Custom script: set udg_IS_Group2[udg_IS_MUI_Current] = CreateGroup()
          • Custom script: set udg_IS_Group[udg_IS_MUI_Current] = CreateGroup()
          • -------- Setting Variable --------
          • Set IS_Caster[IS_MUI_Current] = (Triggering unit)
          • Set IS_Angle[IS_MUI_Current] = (Random angle)
          • Set IS_Amount_Kill[IS_MUI_Current] = 0
          • -------- ------------------------------------------------ --------
          • -------- You can change spell setting here --------
          • -------- ------------------------------------------------ --------
          • -------- Setting Illusion amount --------
          • Set IS_IllusionSum[IS_MUI_Current] = (1 + IS_Level)
          • -------- Setting Illusion durability --------
          • Set IS_Durability[IS_MUI_Current] = (2 + IS_Level)
          • -------- Setting Idle time before it is disappear --------
          • Set IS_IdleTime[IS_MUI_Current] = (1.50 x (Real(IS_Level)))
          • -------- Setting AoE of damage when illusion die --------
          • Set IS_DeathAoE[IS_MUI_Current] = 200.00
          • -------- Setting damage when illusion die --------
          • Set IS_DeathAoEDamage[IS_MUI_Current] = (50.00 + (25.00 x (Real(IS_Level))))
          • -------- ------------------------------------------------ --------
          • -------- End Setting --------
          • -------- ------------------------------------------------ --------
          • Set IS_Loc[1] = (Position of (Triggering unit))
          • -------- Creating Illusion --------
          • For each (Integer IS_MUI_Loop[1]) from 1 to IS_IllusionSum[IS_MUI_Current], do (Actions)
            • Loop - Actions
              • Unit - Create 1 IS_Init_UnitDummy for (Owner of (Triggering unit)) at IS_Loc[1] facing (IS_Angle[IS_MUI_Current] + ((360.00 / (Real(IS_IllusionSum[IS_MUI_Current]))) x (Real(IS_MUI_Loop[1])))) degrees
              • Unit - Set the custom value of (Last created unit) to IS_MUI_Current
              • -------- Adding Dummy Skill for illusion skill level --------
              • Unit - Add IS_Init_AbilityCasterAdded to (Last created unit)
              • Unit - Set level of IS_Init_AbilityCasterAdded for (Last created unit) to IS_Level
              • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
              • Unit - Add IS_Init_AbilityIllusionMaker to (Last created unit)
              • Custom script: call IssueTargetOrderById(GetLastCreatedUnit() , 852274 , GetTriggerUnit())
          • -------- Create unit act as a timer --------
          • Unit - Create 1 IS_Init_UnitTimer for (Owner of (Triggering unit)) at IS_Loc[1] facing Default building facing degrees
          • Unit - Set the custom value of (Last created unit) to IS_MUI_Current
          • Set IS_Timer[IS_MUI_Current] = (Last created unit)
          • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
          • -------- hide caster --------
          • Unit - Add IS_Init_AbilityCasterAdded to (Triggering unit)
          • Unit - Set level of IS_Init_AbilityCasterAdded for (Triggering unit) to IS_Level
          • Unit - Add Cargo Hold (Orc Burrow) to (Triggering unit)
          • -------- Create Effect --------
          • Special Effect - Create a special effect at IS_Loc[1] using IS_Init_Effect[1]
          • Special Effect - Destroy (Last created special effect)
          • Special Effect - Create a special effect at IS_Loc[1] using IS_Init_Effect[2]
          • Special Effect - Destroy (Last created special effect)
          • -------- Remove Leak --------
          • Set IS_Angle[IS_MUI_Current] = 0.00
          • Custom script: call RemoveLocation(udg_IS_Loc[1])
        • Else - Actions
  • Illusion Split Add
    • Events
      • Unit - A unit Spawns a summoned unit
    • Conditions
      • ((Summoned unit) is an illusion) Equal to True
      • (Unit-type of (Summoning unit)) Equal to IS_Init_UnitDummy
    • Actions
      • -------- Setting Ability --------
      • Set IS_Loc[1] = (Position of (Summoning unit))
      • Set IS_Loc[2] = (IS_Loc[1] offset by 250.00 towards (Facing of (Summoning unit)) degrees)
      • -------- Make a "Formation" --------
      • Unit - Move (Summoned unit) instantly to IS_Loc[2]
      • -------- Add Buffing Skill --------
      • Unit - Add IS_Init_AbilityIllusionAdded to (Summoned unit)
      • Unit - Set level of IS_Init_AbilityIllusionAdded for (Summoned unit) to (Level of IS_Init_AbilityCasterAdded for (Summoning unit))
      • -------- Add to Unit Group --------
      • Unit Group - Add (Summoned unit) to IS_Group[(Custom value of (Summoning unit))]
      • -------- Setting Illusion --------
      • Unit - Set the custom value of (Summoned unit) to (Custom value of (Summoning unit))
      • Unit - Remove IS_Init_AbilityCasterAdded from (Summoning unit)
      • Unit - Remove IS_Init_AbilityHero from (Summoned unit)
      • Unit - Set (Summoned unit) movement speed to 0.00
      • Unit - Add IS_Init_AbilitySpellImmunity to (Summoned unit)
      • Unit - Make (Summoned unit) Invulnerable
      • Unit - Make (Summoned unit) Vulnerable
      • Unit - Pause the expiration timer for (Summoned unit)
      • -------- Create Effect --------
      • Special Effect - Create a special effect attached to the origin of (Summoned unit) using IS_Init_Effect[3]
      • Special Effect - Destroy (Last created special effect)
      • -------- Remove Leak --------
      • Custom script: call RemoveLocation(udg_IS_Loc[1])
      • Custom script: call RemoveLocation(udg_IS_Loc[2])
  • Illusion Split Attacked
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Level of IS_Init_AbilityIllusionAdded for (Triggering unit)) Not equal to 0
    • Actions
      • -------- Create Effect --------
      • Special Effect - Create a special effect attached to the chest of (Triggering unit) using IS_Init_Effect[4]
      • Special Effect - Destroy (Last created special effect)
      • -------- Damage attacking unit --------
      • Set IS_Loc[1] = (Position of (Triggering unit))
      • Unit - Create 1 IS_Init_UnitDummy for (Owner of (Triggering unit)) at IS_Loc[1] facing Default building facing degrees
      • Unit - Add IS_Init_AbilityDamage to (Last created unit)
      • Unit - Set level of IS_Init_AbilityDamage for (Last created unit) to (Level of IS_Init_AbilityIllusionAdded for (Triggering unit))
      • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Attacking unit)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Custom script: call RemoveLocation(udg_IS_Loc[1])
      • -------- Scramble "Formation" --------
      • Set IS_Loc[1] = (Position of IS_Timer[(Custom value of (Triggering unit))])
      • Set IS_Temp_Angle = (Random angle)
      • Unit Group - Pick every unit in IS_Group[(Custom value of (Triggering unit))] and do (Actions)
        • Loop - Actions
          • Unit Group - Add (Picked unit) to IS_Group2[(Custom value of (Triggering unit))]
          • Unit Group - Remove (Picked unit) from IS_Group[(Custom value of (Triggering unit))]
          • Set IS_Loc[2] = (IS_Loc[1] offset by 250.00 towards (IS_Temp_Angle + ((360.00 / (Real(IS_IllusionSum[(Custom value of (Triggering unit))]))) x ((Real((Number of units in IS_Group2[(Custom value of (Triggering unit))]))) - 1.00))) degrees)
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using IS_Init_Effect[5]
          • Unit - Move (Picked unit) instantly to IS_Loc[2]
          • Special Effect - Destroy (Last created special effect)
          • -------- Create Effect --------
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using IS_Init_Effect[6]
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation(udg_IS_Loc[2])
      • Unit Group - Pick every unit in IS_Group2[(Custom value of (Triggering unit))] and do (Actions)
        • Loop - Actions
          • Unit Group - Add (Picked unit) to IS_Group[(Custom value of (Triggering unit))]
          • Unit Group - Remove (Picked unit) from IS_Group2[(Custom value of (Triggering unit))]
      • Custom script: call RemoveLocation(udg_IS_Loc[1])
      • -------- Damage Illusion --------
      • Unit - Set life of (Triggering unit) to ((Percentage life of (Triggering unit)) - (100.00 / (Real(IS_Durability[(Custom value of (Triggering unit))]))))%
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life of (Triggering unit)) Less than or equal to ((Max life of (Triggering unit)) / (Real(IS_Durability[(Custom value of (Triggering unit))])))
        • Then - Actions
          • Special Effect - Create a special effect attached to the origin of (Triggering unit) using IS_Init_Effect[7]
          • Special Effect - Destroy (Last created special effect)
          • Set IS_Loc[1] = (Position of (Triggering unit))
          • Set IS_TempUnit = (Triggering unit)
          • Unit Group - Pick every unit in (Units within IS_DeathAoE[(Custom value of (Triggering unit))] of IS_Loc[1] matching ((((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True) and (((Matching unit) is dead) Equal to False))) and do (Actions)
            • Loop - Actions
              • Unit - Cause IS_TempUnit to damage (Picked unit), dealing IS_DeathAoEDamage[(Custom value of (Triggering unit))] damage of attack type Spells and damage type Normal
              • Special Effect - Create a special effect attached to the origin of (Picked unit) using IS_Init_Effect[8]
              • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation(udg_IS_Loc[1])
          • -------- Add amount --------
          • Set IS_Amount_Kill[(Custom value of (Triggering unit))] = (IS_Amount_Kill[(Custom value of (Triggering unit))] + 1)
          • Unit Group - Remove (Triggering unit) from IS_Group[(Custom value of (Triggering unit))]
          • Unit - Add a 0.01 second Generic expiration timer to (Triggering unit)
        • Else - Actions
      • -------- Check if all illusion has die --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • IS_Amount_Kill[(Custom value of (Triggering unit))] Greater than or equal to IS_IllusionSum[(Custom value of (Triggering unit))]
        • Then - Actions
          • -------- End Spell --------
          • Unit - Kill IS_Timer[(Custom value of (Triggering unit))]
        • Else - Actions
          • Unit - Add a 5.00 second Generic expiration timer to IS_Timer[(Custom value of (Triggering unit))]
      • -------- Remove Leak --------
      • Set IS_Temp_Angle = 0.00
  • Illusion Split End
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to IS_Init_UnitTimer
      • (Level of IS_Init_AbilityIllusionMaker for (Triggering unit)) Equal to 0
    • Actions
      • Unit Group - Pick every unit in IS_Group[(Custom value of (Triggering unit))] and do (Actions)
        • Loop - Actions
          • Unit - Unpause the expiration timer for (Picked unit)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of (Picked unit)) Less than (Max life of (Picked unit))
            • Then - Actions
              • Special Effect - Create a special effect attached to the origin of (Picked unit) using IS_Init_Effect[7]
              • Special Effect - Destroy (Last created special effect)
              • Set IS_Loc[1] = (Position of (Picked unit))
              • Set IS_TempUnit = (Picked unit)
              • Unit Group - Pick every unit in (Units within IS_DeathAoE[(Custom value of (Triggering unit))] of IS_Loc[1] matching ((((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True) and (((Matching unit) is dead) Equal to False))) and do (Actions)
                • Loop - Actions
                  • Special Effect - Create a special effect attached to the origin of (Picked unit) using IS_Init_Effect[8]
                  • Unit - Cause IS_TempUnit to damage (Picked unit), dealing IS_DeathAoEDamage[(Custom value of (Triggering unit))] damage of attack type Spells and damage type Normal
                  • Special Effect - Destroy (Last created special effect)
              • Custom script: call RemoveLocation(udg_IS_Loc[1])
            • Else - Actions
      • Unit Group - Pick every unit in IS_Group2[(Custom value of (Triggering unit))] and do (Actions)
        • Loop - Actions
          • Unit - Unpause the expiration timer for (Picked unit)
      • Unit - Remove IS_Init_AbilityCasterAdded from IS_Caster[(Custom value of (Triggering unit))]
      • Unit - Remove Cargo Hold (Orc Burrow) from IS_Caster[(Custom value of (Triggering unit))]
      • -------- Create Effect --------
      • Special Effect - Create a special effect attached to the origin of (Triggering unit) using IS_Init_Effect[9]
      • Special Effect - Destroy (Last created special effect)
      • -------- Remove Leak --------
      • Unit - Remove (Triggering unit) from the game
      • Custom script: call DestroyGroup(udg_IS_Group[GetUnitUserData(GetTriggerUnit())])
      • Custom script: call DestroyGroup(udg_IS_Group2[GetUnitUserData(GetTriggerUnit())])
      • Set IS_Amount_Kill[(Custom value of (Triggering unit))] = 0
      • Set IS_Timer[(Custom value of (Triggering unit))] = No unit
      • Set IS_Caster[(Custom value of (Triggering unit))] = No unit
      • Set IS_MUI_Current = (Custom value of (Triggering unit))
      • -------- Save Free Index --------
      • -------- If no need to do it, just do nothing --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • IS_MUI_Current Not equal to IS_MUI_Count[1]
        • Then - Actions
          • Set IS_MUI_Count[2] = (IS_MUI_Count[2] + 1)
          • Set IS_MUI_Free[IS_MUI_Count[2]] = IS_MUI_Current
        • Else - Actions
      • -------- Reduce Index Count --------
      • Set IS_MUI_Count[1] = (IS_MUI_Count[1] - 1)
For testing purpose
  • Illusion Split Testing Init
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Preload Test Illusions Spell --------
      • Unit - Create 1 IS_Init_UnitDummy for Player 1 (Red) at IS_Loc[1] facing Default building facing degrees
      • Unit - Add Test Illusion to (Last created unit)
      • Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
  • Illusion Split Testing Purpose
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Test Illusion
      • (Level of IS_Init_AbilityHero for (Triggering unit)) Greater than 0
    • Actions
      • Set IS_Level = (Level of IS_Init_AbilityHero for (Triggering unit))
      • -------- Increase Count --------
      • Set IS_MUI_Count[1] = (IS_MUI_Count[1] + 1)
      • -------- Get Free Index --------
      • -------- If none found, Increase Index --------
      • Set IS_MUI_Current = IS_MUI_Free[1]
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • IS_MUI_Current Equal to 0
        • Then - Actions
          • -------- Increase Index --------
          • Set IS_MUI_Current = IS_MUI_Count[1]
        • Else - Actions
          • -------- Set the Free Index --------
          • Set IS_MUI_Free[1] = IS_MUI_Free[IS_MUI_Count[1]]
          • Set IS_MUI_Count[2] = (IS_MUI_Count[2] - 1)
      • Custom script: set udg_IS_Group2[udg_IS_MUI_Current] = CreateGroup()
      • Custom script: set udg_IS_Group[udg_IS_MUI_Current] = CreateGroup()
      • -------- Setting Variable --------
      • Set IS_Caster[IS_MUI_Current] = (Triggering unit)
      • Set IS_Angle[IS_MUI_Current] = (Random angle)
      • Set IS_Amount_Kill[IS_MUI_Current] = 0
      • Set IS_IllusionSum[IS_MUI_Current] = (1 + IS_Level)
      • -------- ------------------------------------------------ --------
      • -------- You can change spell setting here --------
      • -------- ------------------------------------------------ --------
      • -------- Setting Illusion amount --------
      • Set IS_IllusionSum[IS_MUI_Current] = (1 + IS_Level)
      • -------- Setting Illusion durability --------
      • Set IS_Durability[IS_MUI_Current] = (2 + IS_Level)
      • -------- Setting Idle time before it is disappear --------
      • Set IS_IdleTime[IS_MUI_Current] = (1.50 x (Real(IS_Level)))
      • -------- Setting AoE of damage when illusion die --------
      • Set IS_DeathAoE[IS_MUI_Current] = 200.00
      • -------- Setting damage when illusion die --------
      • Set IS_DeathAoEDamage[IS_MUI_Current] = (50.00 + (25.00 x (Real(IS_Level))))
      • -------- ------------------------------------------------ --------
      • -------- End Setting --------
      • -------- ------------------------------------------------ --------
      • Set IS_Durability[IS_MUI_Current] = (2 + IS_Level)
      • Set IS_Loc[1] = (Position of (Triggering unit))
      • -------- Creating Illusion --------
      • For each (Integer IS_MUI_Loop[1]) from 1 to IS_IllusionSum[IS_MUI_Current], do (Actions)
        • Loop - Actions
          • Unit - Create 1 IS_Init_UnitDummy for (Owner of (Triggering unit)) at IS_Loc[1] facing (IS_Angle[IS_MUI_Current] + ((360.00 / (Real(IS_IllusionSum[IS_MUI_Current]))) x (Real(IS_MUI_Loop[1])))) degrees
          • Unit - Set the custom value of (Last created unit) to IS_MUI_Current
          • -------- Adding Dummy Skill for illusion skill level --------
          • Unit - Add IS_Init_AbilityCasterAdded to (Last created unit)
          • Unit - Set level of IS_Init_AbilityCasterAdded for (Last created unit) to IS_Level
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit - Add IS_Init_AbilityIllusionMaker to (Last created unit)
          • Custom script: call IssueTargetOrderById(GetLastCreatedUnit() , 852274 , GetTriggerUnit())
      • -------- Create unit act as a timer --------
      • Unit - Create 1 IS_Init_UnitTimer for (Owner of (Triggering unit)) at IS_Loc[1] facing Default building facing degrees
      • Unit - Set the custom value of (Last created unit) to IS_MUI_Current
      • Set IS_Timer[IS_MUI_Current] = (Last created unit)
      • Unit - Add a IS_IdleTime[IS_MUI_Current] second Generic expiration timer to (Last created unit)
      • -------- hide caster --------
      • Unit - Add IS_Init_AbilityCasterAdded to (Triggering unit)
      • Unit - Set level of IS_Init_AbilityCasterAdded for (Triggering unit) to IS_Level
      • Unit - Add Cargo Hold (Orc Burrow) to (Triggering unit)
      • -------- Create Effect --------
      • Special Effect - Create a special effect at IS_Loc[1] using IS_Init_Effect[1]
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at IS_Loc[1] using IS_Init_Effect[2]
      • Special Effect - Destroy (Last created special effect)
      • -------- Remove Leak --------
      • Set IS_Angle[IS_MUI_Current] = 0.00
      • Custom script: call RemoveLocation(udg_IS_Loc[1])


Keywords:
Illusion, Surprise, Confuse, Scramble, Split, MUI, GUI, Mage_Goo
Contents

Spell Test Map Template (Map)

Reviews
12:13, 8th Feb 2009 Hanky: Advice: 5 points are the highest rating and 1 point is the lowest rating. Documentation: 5 Visual Effects: 5 Triggering: 3 Idea: 5 Well since it isn't "really" MUI it's up to the users if they use this...

Moderator

M

Moderator

12:13, 8th Feb 2009
Hanky:
Evaluation

Rating Points
Advice: 5 points are the highest rating and 1 point is the lowest rating.

Documentation: 5
Visual Effects: 5
Triggering: 3
Idea: 5
Rating Comment

Well since it isn't "really" MUI it's up to the users if they use this spell or not. But still this spell is nice made I just can recommend to use it.
Advice: If you didn't understood my rating or if you maybe have questions because you don't know how to fix bugs or leaks etc. You can always send a private message to me. I will answer as soon I got time.
 
Level 10
Joined
Jun 1, 2008
Messages
485
well, my first submitted spell.

Known Bug:
When illusion Split active at the same time(ex: illusion split still activated and you use test illusion), only 5 latest illusion will disappear. Other that, it will summoned permanently until attacked 4-6 times
 
Level 2
Joined
Nov 10, 2008
Messages
4
ok a couple of things...
fix the aura
the silencing sound really annoying
overall was good... think its pretty simular to the illusion for Phantom Lancer from dota just 5 clones and turn invis.
Overall good.
 
Level 10
Joined
Jun 1, 2008
Messages
485
Update Bump!!!

v1.04
Add AoE damage when Illusion Dies
Make Durability and Number of Illusion Summoned Change-able

P.S: Due to limit of learn tooltips, I'm not add AoE damage and Illusion durability.

Next Plan: Make spell fully change-able.
 
Level 11
Joined
Jul 2, 2008
Messages
601
It seems to be imbalanced to me, if I use it any kind of map where the hero with such an ability has to fight against other players / heroes. However, for RPG maps, AoS etc it's a good achievement. :)
 
Level 10
Joined
Jun 1, 2008
Messages
485
~Bump

sorry for bumping, but i don't have time for answer it fast.

@Aspard
you can adjust the damage to make it balanced, also you can adjust the durability, number of illusion, and idle time (for idle time, added in next update)

@hand of blood
thanks for comment.

sorry for late reply, because i working on new MUI system for this spell.
 
Level 10
Joined
Jun 1, 2008
Messages
485
~Necropost again for update~
Illusion Split updated.

v1.05c
Make spell more user-friendly
Reduce number of Object Editor stuff in spell
Post spell's trigger
Fix some minor spelling/grammar error

ok, hope you all like it.
 
Level 1
Joined
Sep 26, 2012
Messages
2
how the hell do u post up your triggers? im trying to add your cool spell to my map but its not working properly n i need to show u the triggers that i copied so u can see whats wrong cuz i cant figure it out.....new btw
 
Top