okay here it is just copy the spells in the object editor / object\units
then copy these to spells
Fire Ball --------|
Ruin Symbol ----| < Dummies (i think you know what are dummy are)
then go to abilities then copy the skill Pentagramm of hell
sane thing in Buff/effects copy the effect Powers of hell
now were ready prepare these variables
AllAngles-Real Array(1)-0.00
AllDistance-Real Array(1)-0.00
AllUnits-Unit Array(1)-No Unit
AllUnitsNumber-Integer-0
CastingUnit-Unit-No Unit
DegreesTurned-Real-0.00
ForCreateFire1-Integer-0
ForCreateFire2-Integer-0
ForExtra-Integer-0
ForUnitSpin-Integer-0
InnerFire-Unit Array (1)-No Unit
LightningAlive-Boolean-False
LightningChains-Lightning Array(1)-None
LightningStrike-Special Effect Array(1)-None
MagicLinkLightning-Lightning Array(1)-None
OuterFire-Unit Array(1)-No Unit
OuterFireAngles-Real Array(1)-0.00
PentagramTimer-Integer-0
PointFire-Unit Array(1)-No unit
PointFireAngles-Real Array(1)-0.00
RuinAngles-Real Array(1)-0.00
Ruins-Unit Array(1)-No Unit
ScalingSize-Real-0.00
SFXCounter-Integer-0
SFXTrapped-SpecialEffectArray(1)-None
TempAmount-Integer Array(1)-0
TempAngle1-Real-0.00
TempAngle2-Real Array (1)-0.00
TempDistance-Real-0.00
TempReduceCounter-Integer-0
now create this new triggers:
Spoiler for Pentagramm Spell Part1:
Pentagram Spell Part 1
Events
Unit - A unit Begins casting an ability
Conditions
(Unit-type of (Triggering unit)) Equal to Demon
(Ability being cast) Equal to Pentagram Of Hell
Actions
Set PentagramTimer = 0
Trigger - Turn off (This trigger)
Unit - Make (Triggering unit) face 270.00 over 0.00 seconds
Unit - Pause (Triggering unit)
Unit - Make (Triggering unit) Invulnerable
Set SFXCounter = 0
Unit Group - Pick every unit in (Units within 512.00 of (Position of (Triggering unit)) matching (((Owner of (Matching unit)) Equal to Player 11 (Dark Green)) or ((Owner of (Matching unit)) Equal to Player 12 (Brown)))) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is alive) Equal to True
Then - Actions
Unit - Pause (Picked unit)
Set SFXCounter = (SFXCounter + 1)
Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Human\AerialShackles\AerialShacklesTarget.mdl
Set SFXTrapped[SFXCounter] = (Last created special effect)
Lightning - Create a Magic Leash lightning effect from source (Position of (Triggering unit)) to target (Position of (Picked unit))
Set LightningChains[SFXCounter] = (Last created lightning effect)
Else - Actions
Animation - Play (Triggering unit)'s spell animation
Wait 0.60 seconds
Sound - Play CreaetFireSlow <gen> at 100.00% volume, located at (Position of (Triggering unit)) with Z offset 0.00
Set TempAngle1 = 90.00
Set TempDistance = 512.00
Set TempAmount[1] = 5
For each (Integer ForCreateFire1) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Unit - Create 1 Fire Ball for (Owner of (Triggering unit)) at ((Position of (Triggering unit)) offset by TempDistance towards TempAngle1 degrees) facing Default building facing degrees
Set PointFire[ForCreateFire1] = (Last created unit)
Set PointFireAngles[ForCreateFire1] = TempAngle1
Set TempAngle1 = (TempAngle1 + (360.00 / (Real(TempAmount[1]))))
Set TempAngle1 = 0.00
Set TempDistance = 512.00
Set TempAmount[2] = 8
For each (Integer ForExtra) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Set TempAngle2[ForExtra] = PointFireAngles[ForExtra]
For each (Integer ForCreateFire2) from 1 to TempAmount[2], do (Actions)
Loop - Actions
Wait 0.01 seconds
For each (Integer ForCreateFire1) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Unit - Create 1 Fire Ball for (Owner of (Triggering unit)) at ((Position of (Triggering unit)) offset by TempDistance towards TempAngle2[ForCreateFire1] degrees) facing Default building facing degrees
Set OuterFire[((ForCreateFire1 x 100) + ForCreateFire2)] = (Last created unit)
Set OuterFireAngles[((ForCreateFire1 x 100) + ForCreateFire2)] = TempAngle2[ForCreateFire1]
Set TempAngle2[ForCreateFire1] = (TempAngle2[ForCreateFire1] - (72.00 / (Real(TempAmount[2]))))
Set TempAngle1 = 0.00
Set TempDistance = 64.00
Set TempAmount[3] = (Integer(((Distance between (Position of PointFire[3]) and (Position of PointFire[1])) / TempDistance)))
For each (Integer ForExtra) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Set TempAngle2[ForExtra] = PointFireAngles[ForExtra]
For each (Integer ForCreateFire1) from 1 to TempAmount[3], do (Actions)
Loop - Actions
Wait 0.01 seconds
Unit - Create 1 Fire Ball for (Owner of (Triggering unit)) at ((Position of PointFire[3]) offset by TempDistance towards (Angle from (Position of PointFire[3]) to (Position of PointFire[1])) degrees) facing Default building facing degrees
Set InnerFire[((1 x 100) + ForCreateFire1)] = (Last created unit)
Unit - Create 1 Fire Ball for (Owner of (Triggering unit)) at ((Position of PointFire[1]) offset by TempDistance towards (Angle from (Position of PointFire[1]) to (Position of PointFire[4])) degrees) facing Default building facing degrees
Set InnerFire[((2 x 100) + ForCreateFire1)] = (Last created unit)
Unit - Create 1 Fire Ball for (Owner of (Triggering unit)) at ((Position of PointFire[4]) offset by TempDistance towards (Angle from (Position of PointFire[4]) to (Position of PointFire[2])) degrees) facing Default building facing degrees
Set InnerFire[((3 x 100) + ForCreateFire1)] = (Last created unit)
Unit - Create 1 Fire Ball for (Owner of (Triggering unit)) at ((Position of PointFire[2]) offset by TempDistance towards (Angle from (Position of PointFire[2]) to (Position of PointFire[5])) degrees) facing Default building facing degrees
Set InnerFire[((4 x 100) + ForCreateFire1)] = (Last created unit)
Unit - Create 1 Fire Ball for (Owner of (Triggering unit)) at ((Position of PointFire[5]) offset by TempDistance towards (Angle from (Position of PointFire[5]) to (Position of PointFire[3])) degrees) facing Default building facing degrees
Set InnerFire[((5 x 100) + ForCreateFire1)] = (Last created unit)
Set TempDistance = (TempDistance + 64.00)
Set CastingUnit = (Triggering unit)
Trigger - Run Pentagram Spell Part 2 <gen> (checking conditions)
Spoiler for Pentagram Spell Part 2:
Pentagram Spell Part 2
Events
Conditions
Actions
Set AllUnitsNumber = 0
For each (Integer ForCreateFire1) from 1 to 5, do (Actions)
Loop - Actions
Set AllUnitsNumber = (AllUnitsNumber + 1)
Set AllUnits[AllUnitsNumber] = PointFire[ForCreateFire1]
Set AllAngles[AllUnitsNumber] = (Angle from (Position of CastingUnit) to (Position of AllUnits[AllUnitsNumber]))
Set AllDistance[AllUnitsNumber] = (Distance between (Position of CastingUnit) and (Position of AllUnits[AllUnitsNumber]))
For each (Integer ForCreateFire1) from 1 to 5, do (Actions)
Loop - Actions
For each (Integer ForCreateFire2) from 1 to ((Integer((Distance between (Position of PointFire[3]) and (Position of PointFire[1])))) / 64), do (Actions)
Loop - Actions
Set AllUnitsNumber = (AllUnitsNumber + 1)
Set AllUnits[AllUnitsNumber] = InnerFire[((ForCreateFire1 x 100) + ForCreateFire2)]
Set AllAngles[AllUnitsNumber] = (Angle from (Position of CastingUnit) to (Position of AllUnits[AllUnitsNumber]))
Set AllDistance[AllUnitsNumber] = (Distance between (Position of CastingUnit) and (Position of AllUnits[AllUnitsNumber]))
For each (Integer ForCreateFire1) from 1 to 5, do (Actions)
Loop - Actions
For each (Integer ForCreateFire2) from 1 to 8, do (Actions)
Loop - Actions
Set AllUnitsNumber = (AllUnitsNumber + 1)
Set AllUnits[AllUnitsNumber] = OuterFire[((ForCreateFire1 x 100) + ForCreateFire2)]
Set AllAngles[AllUnitsNumber] = (Angle from (Position of CastingUnit) to (Position of AllUnits[AllUnitsNumber]))
Set AllDistance[AllUnitsNumber] = (Distance between (Position of CastingUnit) and (Position of AllUnits[AllUnitsNumber]))
Set DegreesTurned = 0.00
Sound - Play FireRotate <gen> at 100.00% volume, located at (Position of CastingUnit) with Z offset 0.00
Trigger - Turn on Pentagram Spell Part 3 <gen>
[/spoiler=Pentagram Spell Part 3]Pentagram Spell Part 3
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Set DegreesTurned = (DegreesTurned + 4.00)
For each (Integer ForUnitSpin) from 1 to AllUnitsNumber, do (Actions)
Loop - Actions
Set AllAngles[ForUnitSpin] = (AllAngles[ForUnitSpin] + 4.00)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
AllAngles[AllUnitsNumber] Greater than or equal to 360.00
Then - Actions
Set AllAngles[ForUnitSpin] = 0.00
Else - Actions
Unit - Move AllUnits[ForUnitSpin] instantly to ((Position of CastingUnit) offset by AllDistance[ForUnitSpin] towards AllAngles[ForUnitSpin] degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DegreesTurned Greater than or equal to 180.00
Then - Actions
Trigger - Turn off (This trigger)
Animation - Play CastingUnit's spell animation
Set TempAngle1 = 270.00
Set TempDistance = 600.00
For each (Integer ForCreateFire1) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Unit - Create 1 Ruin Symbol for (Owner of CastingUnit) at ((Position of CastingUnit) offset by TempDistance towards TempAngle1 degrees) facing Default building facing degrees
Set Ruins[ForCreateFire1] = (Last created unit)
Special Effect - Create a special effect at (Position of (Last created unit)) using Doodads\Cinematic\Lightningbolt\Lightningbolt.mdl
Sound - Play LightningStrike <gen> at 100.00% volume, located at (Position of (Last created unit)) with Z offset 0.00
Set RuinAngles[ForCreateFire1] = TempAngle1
Animation - Change (Last created unit)'s vertex coloring to (0.00%, 0.00%, 0.00%) with 100.00% transparency
Set LightningStrike[ForCreateFire1] = (Last created special effect)
Set TempAngle1 = (TempAngle1 + (360.00 / (Real(TempAmount[1]))))
For each (Integer ForCreateFire1) from 1 to 10, do (Actions)
Loop - Actions
Wait 0.01 seconds
For each (Integer ForExtra) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Animation - Change Ruins[ForExtra]'s vertex coloring to (100.00%, 100.00%, 100.00%) with (Real((100 - (ForCreateFire1 x 10))))% transparency
Wait 0.50 seconds
For each (Integer ForExtra) from 1 to 5, do (Actions)
Loop - Actions
Lightning - Create a Lightning Attack lightning effect from source (Position of Ruins[ForExtra]) to target (Position of CastingUnit)
Set MagicLinkLightning[ForExtra] = (Last created lightning effect)
Wait 0.50 seconds
For each (Integer ForExtra) from 1 to 5, do (Actions)
Loop - Actions
Special Effect - Destroy LightningStrike[ForExtra]
Sound - Play RuinsLoop <gen> at 100.00% volume, located at (Position of CastingUnit) with Z offset 0.00
Set TempReduceCounter = 0
Set TempDistance = 600.00
Set LightningAlive = True
Set ScalingSize = 100.00
Wait 0.50 seconds
Trigger - Turn on Pentagram Spell Part 4 <gen>
Else - Actions
Spoiler for Pentagram Spell Part 4:
Pentagram Spell Part 4
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
TempReduceCounter Equal to 40
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
LightningAlive Equal to True
Then - Actions
Set LightningAlive = False
Trigger - Turn off (This trigger)
Wait 0.20 seconds
For each (Integer ForCreateFire1) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Lightning - Destroy MagicLinkLightning[ForCreateFire1]
Sound - Stop RuinsLoop <gen> After fading
Sound - Play StopLightning <gen> at 100.00% volume, located at (Position of CastingUnit) with Z offset 0.00
Wait 0.50 seconds
Trigger - Turn on (This trigger)
Else - Actions
Set TempDistance = (TempDistance - 20.00)
For each (Integer ForCreateFire2) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Unit - Move Ruins[ForCreateFire2] instantly to ((Position of CastingUnit) offset by TempDistance towards RuinAngles[ForCreateFire2] degrees)
Else - Actions
Set TempReduceCounter = (TempReduceCounter + 1)
For each (Integer ForCreateFire2) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Set RuinAngles[ForCreateFire2] = (RuinAngles[ForCreateFire2] - 9.00)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
RuinAngles[ForCreateFire2] Less than or equal to 0.00
Then - Actions
Set RuinAngles[ForCreateFire2] = 360.00
Else - Actions
Unit - Move Ruins[ForCreateFire2] instantly to ((Position of CastingUnit) offset by TempDistance towards RuinAngles[ForCreateFire2] degrees)
Lightning - Move MagicLinkLightning[ForCreateFire2] to source (Position of Ruins[ForCreateFire2]) and target (Position of CastingUnit)
Set ScalingSize = (ScalingSize + 0.50)
Animation - Change CastingUnit's size to (ScalingSize%, ScalingSize%, ScalingSize%) of its original size
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
TempDistance Less than or equal to 0.00
Then - Actions
Trigger - Turn off (This trigger)
For each (Integer ForCreateFire1) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Unit - Remove Ruins[ForCreateFire1] from the game
Sound - Play RuinsCenter <gen> at 100.00% volume, located at (Position of CastingUnit) with Z offset 0.00
Trigger - Run Pentagram Spell Part 5 <gen> (checking conditions)
Else - Actions
Spoiler for Pentagram Spell Part 5:
Pentagram Spell Part 5
Events
Conditions
Actions
Special Effect - Create a special effect at (Position of CastingUnit) using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
Special Effect - Destroy (Last created special effect)
Special Effect - Create a special effect at (Position of CastingUnit) using Abilities\Spells\Items\TomeOfRetraining\TomeOfRetrainingCaster.mdl
Special Effect - Destroy (Last created special effect)
Unit - Set CastingUnit movement speed to 522.00
For each (Integer ForCreateFire1) from 1 to 5, do (Actions)
Loop - Actions
For each (Integer ForCreateFire2) from 1 to ((Integer((Distance between (Position of PointFire[3]) and (Position of PointFire[1])))) / 64), do (Actions)
Loop - Actions
Unit - Kill InnerFire[((ForCreateFire1 x 100) + ForCreateFire2)]
For each (Integer ForCreateFire1) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Unit - Kill PointFire[ForCreateFire1]
Set TempDistance = 600.00
Trigger - Turn on Pentagram Spell Part 6 <gen>
Spoiler for Pentagram Spell Part 6:
Pentagram Spell Part 6
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Set TempDistance = (TempDistance - 40.00)
For each (Integer ForCreateFire1) from 1 to 5, do (Actions)
Loop - Actions
For each (Integer ForCreateFire2) from 1 to 8, do (Actions)
Loop - Actions
Unit - Move OuterFire[((ForCreateFire1 x 100) + ForCreateFire2)] instantly to ((Position of CastingUnit) offset by TempDistance towards OuterFireAngles[((ForCreateFire1 x 100) + ForCreateFire2)] degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
TempDistance Less than or equal to 0.00
Then - Actions
Trigger - Turn off (This trigger)
Unit Group - Pick every unit in (Units within 512.00 of (Position of CastingUnit) matching (((Owner of (Matching unit)) Equal to Player 11 (Dark Green)) or ((Owner of (Matching unit)) Equal to Player 12 (Brown)))) and do (Actions)
Loop - Actions
Unit - Kill (Picked unit)
For each (Integer ForExtra) from 1 to SFXCounter, do (Actions)
Loop - Actions
Special Effect - Destroy SFXTrapped[ForExtra]
Lightning - Destroy LightningChains[ForExtra]
For each (Integer ForCreateFire1) from 1 to 5, do (Actions)
Loop - Actions
For each (Integer ForCreateFire2) from 1 to 8, do (Actions)
Loop - Actions
Unit - Kill OuterFire[((ForCreateFire1 x 100) + ForCreateFire2)]
Sound - Play FireCenter <gen> at 100.00% volume, located at (Position of CastingUnit) with Z offset 0.00
Unit - Unpause CastingUnit
Unit - Make CastingUnit Vulnerable
Hero - Set CastingUnit Hero-level to ((Hero level of CastingUnit) + 1), Show level-up graphics
Set PentagramTimer = 20
Else - Actions
Spoiler for Pentagram Spell Part 7:
Pentagram Spell Part 7
Events
Time - Every 1.00 seconds of game time
Conditions
PentagramTimer Greater than 0
Actions
Set PentagramTimer = (PentagramTimer - 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PentagramTimer Equal to 0
Then - Actions
Unit - Set CastingUnit movement speed to (Default movement speed of CastingUnit)
Set ScalingSize = 100.00
Special Effect - Create a special effect at (Position of CastingUnit) using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
Special Effect - Destroy (Last created special effect)
Special Effect - Create a special effect at (Position of CastingUnit) using Abilities\Spells\Items\TomeOfRetraining\TomeOfRetrainingCaster.mdl
Special Effect - Destroy (Last created special effect)
Animation - Change CastingUnit's size to (ScalingSize%, ScalingSize%, ScalingSize%) of its original size
Unit - Remove Powers Of Hell buff from CastingUnit
Trigger - Turn on Pentagram Spell Part 1 <gen>
Else - Actions
Now the settings
Pentagram Spell Part 1-Enabled-Initially On
Pentagram Spell Part 2-Enabled-Initially On
Pentagram Spell Part 3-Enabled-Initially Off
Pentagram Spell Part 4-Enabled-Initially Off
Pentagram Spell Part 5-Enabled-Initially On
Pentagram Spell Part 6-Enabled-Initially Off
Pentagram Spell Part 7-Enabled-Initially On.
There you have it
P/S:
Spoiler for Pentagramm Spell Part 3:
Pentagram Spell Part 3
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Set DegreesTurned = (DegreesTurned + 4.00)
For each (Integer ForUnitSpin) from 1 to AllUnitsNumber, do (Actions)
Loop - Actions
Set AllAngles[ForUnitSpin] = (AllAngles[ForUnitSpin] + 4.00)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
AllAngles[AllUnitsNumber] Greater than or equal to 360.00
Then - Actions
Set AllAngles[ForUnitSpin] = 0.00
Else - Actions
Unit - Move AllUnits[ForUnitSpin] instantly to ((Position of CastingUnit) offset by AllDistance[ForUnitSpin] towards AllAngles[ForUnitSpin] degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
DegreesTurned Greater than or equal to 180.00
Then - Actions
Trigger - Turn off (This trigger)
Animation - Play CastingUnit's spell animation
Set TempAngle1 = 270.00
Set TempDistance = 600.00
For each (Integer ForCreateFire1) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Unit - Create 1 Ruin Symbol for (Owner of CastingUnit) at ((Position of CastingUnit) offset by TempDistance towards TempAngle1 degrees) facing Default building facing degrees
Set Ruins[ForCreateFire1] = (Last created unit)
Special Effect - Create a special effect at (Position of (Last created unit)) using Doodads\Cinematic\Lightningbolt\Lightningbolt.mdl
Sound - Play LightningStrike <gen> at 100.00% volume, located at (Position of (Last created unit)) with Z offset 0.00
Set RuinAngles[ForCreateFire1] = TempAngle1
Animation - Change (Last created unit)'s vertex coloring to (0.00%, 0.00%, 0.00%) with 100.00% transparency
Set LightningStrike[ForCreateFire1] = (Last created special effect)
Set TempAngle1 = (TempAngle1 + (360.00 / (Real(TempAmount[1]))))
For each (Integer ForCreateFire1) from 1 to 10, do (Actions)
Loop - Actions
Wait 0.01 seconds
For each (Integer ForExtra) from 1 to TempAmount[1], do (Actions)
Loop - Actions
Animation - Change Ruins[ForExtra]'s vertex coloring to (100.00%, 100.00%, 100.00%) with (Real((100 - (ForCreateFire1 x 10))))% transparency
Wait 0.50 seconds
For each (Integer ForExtra) from 1 to 5, do (Actions)
Loop - Actions
Lightning - Create a Lightning Attack lightning effect from source (Position of Ruins[ForExtra]) to target (Position of CastingUnit)
Set MagicLinkLightning[ForExtra] = (Last created lightning effect)
Wait 0.50 seconds
For each (Integer ForExtra) from 1 to 5, do (Actions)
Loop - Actions
Special Effect - Destroy LightningStrike[ForExtra]
Sound - Play RuinsLoop <gen> at 100.00% volume, located at (Position of CastingUnit) with Z offset 0.00
Set TempReduceCounter = 0
Set TempDistance = 600.00
Set LightningAlive = True
Set ScalingSize = 100.00
Wait 0.50 seconds
Trigger - Turn on Pentagram Spell Part 4 <gen>
Else - Actions