Ph[o]bia
New Member
- Reaction score
- 7
I made a spell, but it isn't MUI and I'm wondering why it's not MUI , Can you tell me why it's not MUI ,
Trigger:
- Index
- Events
- Map initialization
- Conditions
- Actions
- Set PaIndex = 0
- Events
Trigger:
- PA Start
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Pheonix Attack
- Actions
- Set PaIndex = (PaIndex + 1)
- Set PaCaster[PaIndex] = (Triggering unit)
- Set PaCasterPoint[PaIndex] = (Position of PaCaster[PaIndex])
- Set PaTargetPoint[PaIndex] = (Target point of ability being cast)
- Set PaMoving[PaIndex] = 0.00
- If ((Level of Pheonix Attack for PaCaster[PaIndex]) Equal to 1) then do (Set PaDamageBurn[PaIndex] = 5.00) else do (Set PaDamageExplosion[PaIndex] = 300.00)
- If ((Level of Pheonix Attack for PaCaster[PaIndex]) Equal to 2) then do (Set PaDamageBurn[PaIndex] = 10.00) else do (Set PaDamageExplosion[PaIndex] = 400.00)
- If ((Level of Pheonix Attack for PaCaster[PaIndex]) Equal to 3) then do (Set PaDamageBurn[PaIndex] = 20.00) else do (Set PaDamageExplosion[PaIndex] = 550.00)
- Unit - Create 1 PA[Pheonix] for (Owner of PaCaster[PaIndex]) at PaCasterPoint[PaIndex] facing PaTargetPoint[PaIndex]
- Set PaPheonix[PaIndex] = (Last created unit)
- Unit - Add a 2.00 second Generic expiration timer to PaPheonix[PaIndex]
- Events
Trigger:
- PA Periodic
- Events
- Time - Every 0.03 seconds of game time
- Conditions
- Actions
- For each (Integer A) from 1 to PaIndex, do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Unit-type of PaPheonix[(Integer A)]) Equal to PA[Pheonix]
- Then - Actions
- Set PaPheonixAngle[(Integer A)] = (Facing of PaPheonix[(Integer A)])
- Set PaPheonixPoint[(Integer A)] = (Position of PaPheonix[(Integer A)])
- Set PaPheonixPointNew[(Integer A)] = (PaPheonixPoint[(Integer A)] offset by PaMoving[(Integer A)] towards PaPheonixAngle[(Integer A)] degrees)
- Set PaMoving[(Integer A)] = (PaMoving[(Integer A)] + 0.50)
- Unit - Move PaPheonix[(Integer A)] instantly to PaPheonixPointNew[(Integer A)], facing PaPheonixAngle[(Integer A)] degrees
- Unit - Create 1 PA[Burn] for (Owner of PaCaster[(Integer A)]) at PaPheonixPoint[(Integer A)] facing PaPheonixPoint[(Integer A)]
- Unit - Add a 1.00 second Generic expiration timer to PaBurn[(Integer A)]
- Set PaBurn[(Integer A)] = (Last created unit)
- Set PaBurnPoint[(Integer A)] = (Position of PaBurn[(Integer A)])
- Set PaGroupBurn[(Integer A)] = (Units within 300.00 of PaBurnPoint[(Integer A)] matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) and (((Matching unit) belongs to an enemy of (Owner of PaCaster[(Integer A)])) Equal to
- Unit Group - Pick every unit in PaGroupBurn[(Integer A)] and do (Actions)
- Loop - Actions
- Unit - Cause PaCaster[(Integer A)] to damage PaBurnTarget[(Integer A)], dealing PaDamageBurn[(Integer A)] damage of attack type Spells and damage type Normal
- Set PaBurnTarget[(Integer A)] = (Picked unit)
- Special Effect - Create a special effect attached to the chest of PaBurnTarget[(Integer A)] using Abilities\Weapons\LordofFlameMissile\LordofFlameMissile.mdl
- Special Effect - Destroy (Last created special effect)
- Loop - Actions
- Custom script: call RemoveLocation(udg_PaPheonixPoint[GetForLoopIndexA( )])
- Custom script: call RemoveLocation(udg_PaPheonixPointNew[GetForLoopIndexA( )])
- Custom script: call RemoveLocation(udg_PaBurnPoint[GetForLoopIndexA( )])
- Custom script: call DestroyGroup(udg_PaGroupBurn[GetForLoopIndexA( )])
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
- For each (Integer A) from 1 to PaIndex, do (Actions)
- Events
Trigger:
- PA Death
- Events
- Unit - A unit Dies
- Conditions
- Actions
- For each (Integer A) from 1 to PaIndex, do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Unit-type of (Triggering unit)) Equal to PA[Pheonix]
- Then - Actions
- Set PaTargetPoint[(Integer A)] = (Position of PaPheonix[(Integer A)])
- For each (Integer B) from 1 to 20, do (Actions)
- Loop - Actions
- Set PaExplosionPoint1[(Integer A)] = (PaTargetPoint[(Integer A)] offset by 50.00 towards ((Real((Integer B))) x (360.00 / 20.00)) degrees)
- Set PaExplosionPoint2[(Integer A)] = (PaTargetPoint[(Integer A)] offset by 150.00 towards ((Real((Integer B))) x (360.00 / 20.00)) degrees)
- Set PaExplosionPoint3[(Integer A)] = (PaTargetPoint[(Integer A)] offset by 250.00 towards ((Real((Integer B))) x (360.00 / 20.00)) degrees)
- Unit - Create 1 PA[Explosion] for (Owner of PaCaster[(Integer A)]) at PaExplosionPoint1[(Integer A)] facing PaPheonixPoint[(Integer A)]
- Unit - Add a 1.00 second Generic expiration timer to PaExplosion[(Integer A)]
- Set PaExplosion[(Integer A)] = (Last created unit)
- Unit - Create 1 PA[Explosion] for (Owner of PaCaster[(Integer A)]) at PaExplosionPoint2[(Integer A)] facing PaPheonixPoint[(Integer A)]
- Unit - Add a 1.00 second Generic expiration timer to PaExplosion2[(Integer A)]
- Set PaExplosion2[(Integer A)] = (Last created unit)
- Unit - Create 1 PA[Explosion] for (Owner of PaCaster[(Integer A)]) at PaExplosionPoint3[(Integer A)] facing PaPheonixPoint[(Integer A)]
- Unit - Add a 1.00 second Generic expiration timer to PaExplosion3[(Integer A)]
- Set PaExplosion3[(Integer A)] = (Last created unit)
- Loop - Actions
- Set PaGroupExplosion[(Integer A)] = (Units within 300.00 of PaTargetPoint[(Integer A)] matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) and (((Matching unit) belongs to an enemy of (Owner of PaCaster[(Integer A)])) Equal t
- Unit Group - Pick every unit in PaGroupExplosion[(Integer A)] and do (Actions)
- Loop - Actions
- Set PaTarget[(Integer A)] = (Picked unit)
- Unit - Cause PaCaster[(Integer A)] to damage PaTarget[(Integer A)], dealing PaDamageExplosion[(Integer A)] damage of attack type Spells and damage type Normal
- Loop - Actions
- Set PaMoving[(Integer A)] = PaMoving[PaIndex]
- Set PaMoving[PaIndex] = 0.00
- Set PaPheonix[(Integer A)] = PaPheonix[PaIndex]
- Set PaPheonix[PaIndex] = No unit
- Set PaBurn[(Integer A)] = PaBurn[PaIndex]
- Set PaBurn[PaIndex] = No unit
- Set PaBurnTarget[(Integer A)] = PaBurnTarget[PaIndex]
- Set PaBurnTarget[PaIndex] = No unit
- Set PaCaster[(Integer A)] = PaCaster[PaIndex]
- Set PaCaster[PaIndex] = No unit
- Set PaDamageBurn[(Integer A)] = PaDamageBurn[PaIndex]
- Set PaDamageBurn[PaIndex] = 0.00
- Set PaDamageExplosion[(Integer A)] = PaDamageExplosion[PaIndex]
- Set PaDamageExplosion[PaIndex] = 0.00
- Set PaExplosion[(Integer A)] = PaExplosion[PaIndex]
- Set PaExplosion[PaIndex] = No unit
- Set PaBurnPoint[(Integer A)] = PaBurnPoint[PaIndex]
- Set PaCasterPoint[(Integer A)] = PaCasterPoint[PaIndex]
- Set PaExplosionPoint1[(Integer A)] = PaExplosionPoint1[PaIndex]
- Set PaExplosionPoint2[(Integer A)] = PaExplosionPoint2[PaIndex]
- Set PaExplosionPoint3[(Integer A)] = PaExplosionPoint3[PaIndex]
- Set PaExplosion2[(Integer A)] = PaExplosion2[PaIndex]
- Set PaExplosion2[PaIndex] = No unit
- Set PaExplosion3[(Integer A)] = PaExplosion3[PaIndex]
- Set PaExplosion3[PaIndex] = No unit
- Set PaGroupBurn[(Integer A)] = PaGroupBurn[PaIndex]
- Set PaGroupExplosion[(Integer A)] = PaGroupExplosion[PaIndex]
- Set PaPheonixAngle[(Integer A)] = PaPheonixAngle[PaIndex]
- Set PaPheonixAngle[PaIndex] = 0.00
- Set PaTarget[(Integer A)] = PaTarget[PaIndex]
- Set PaTarget[PaIndex] = No unit
- Set PaPheonixPoint[(Integer A)] = PaPheonixPoint[PaIndex]
- Set PaPheonixPointNew[(Integer A)] = PaPheonixPointNew[PaIndex]
- Set PaTargetPoint[(Integer A)] = PaTargetPoint[PaIndex]
- Custom script: call RemoveLocation(udg_PaPheonixPoint[GetForLoopIndexA( )])
- Custom script: call RemoveLocation(udg_PaPheonixPointNew[GetForLoopIndexA( )])
- Custom script: call RemoveLocation(udg_PaExplosionPoint1[GetForLoopIndexA( )])
- Custom script: call RemoveLocation(udg_PaExplosionPoint2[GetForLoopIndexA( )])
- Custom script: call RemoveLocation(udg_PaExplosionPoint3[GetForLoopIndexA( )])
- Custom script: call RemoveLocation(udg_PaTargetPoint[GetForLoopIndexA( )])
- Custom script: call RemoveLocation(udg_PaBurnPoint[GetForLoopIndexA( )])
- Custom script: call RemoveLocation(udg_PaCasterPoint[GetForLoopIndexA( )])
- Custom script: call DestroyGroup(udg_PaGroupExplosion[GetForLoopIndexA( )])
- Custom script: call DestroyGroup(udg_PaGroupBurn[GetForLoopIndexA( )])
- Custom script: call DestroyGroup(udg_PaGroupBurn[udg_PaIndex])
- Custom script: call DestroyGroup(udg_PaGroupExplosion[udg_PaIndex])
- Custom script: call RemoveLocation(udg_PaPheonixPoint[udg_PaIndex])
- Custom script: call RemoveLocation(udg_PaPheonixPointNew[udg_PaIndex])
- Custom script: call RemoveLocation(udg_PaExplosionPoint1[udg_PaIndex])
- Custom script: call RemoveLocation(udg_PaExplosionPoint2[udg_PaIndex])
- Custom script: call RemoveLocation(udg_PaExplosionPoint3[udg_PaIndex])
- Custom script: call RemoveLocation(udg_PaTargetPoint[udg_PaIndex])
- Custom script: call RemoveLocation(udg_PaBurnPoint[udg_PaIndex])
- Custom script: call RemoveLocation(udg_PaCasterPoint[udg_PaIndex])
- Set PaIndex = (PaIndex - 1)
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
- For each (Integer A) from 1 to PaIndex, do (Actions)
- Events