Trigger:
- Blood Nova
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to BloodNova
- Actions
- Set BloodNovacaster = (Casting unit)
- Set TempPoint = (Position of (Casting unit))
- Set TempGroup = (Units within 800.00 of TempPoint matching (((Matching unit) is dead) Equal to True))
- Set BloodNovaUnitsNumber = (Number of units in TempGroup)
- Unit Group - Pick every unit in TempGroup and do (Actions)
- Loop - Actions
- Set TempPoint2 = (Position of (Picked unit))
- Unit - Create 1 BloodNOvaDUmmyUnit for (Owner of BloodNovacaster) at TempPoint2 facing Default building facing degrees
- Unit Group - Add (Last created unit) to BloodNovaDummyGroup
- Set JDA_JumpHigh_Distance = 0.05
- Set JDA_DestroyTrees_Dash = False
- Set JDA_TargetPoint = TempPoint
- Set JDA_Unit = (Last created unit)
- Set JDA_Speed = 6.00
- Set JDA_SpecialEffect = Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
- Set JDA_Animation = spell
- Set JDA_AnimationSpeed = 0.60
- Trigger - Run Jump System 1 <gen> (checking conditions)
- Loop - Actions
- Custom script: call RemoveLocation(udg_TempPoint2)
- Custom script: call DestroyGroup (udg_TempGroup)
- Events
Trigger:
- Blood Nova Loop
- Events
- Time - Every 0.50 seconds of game time
- Conditions
- Actions
- Unit Group - Pick every unit in BloodNovaDummyGroup and do (Actions)
- Loop - Actions
- Set TempPoint = (Position of BloodNovacaster)
- Set TempPoint2 = (Position of (Picked unit))
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- BloodNovacaster Not equal to No unit
- (Distance between TempPoint and TempPoint2) Less than or equal to 100.00
- Then - Actions
- Set BloodNovaDamage = (BloodNovaDamage + (25.00 x (Real((Level of BloodNova for BloodNovacaster)))))
- Set BloodNovaUnitsNumber = (BloodNovaUnitsNumber - 1)
- Special Effect - Create a special effect at TempPoint2 using Objects\Spawnmodels\Human\HumanBlood\HumanBloodPeasant.mdl
- Special Effect - Destroy (Last created special effect)
- Unit - Remove (Picked unit) from the game
- Else - Actions
- If - Conditions
- Custom script: call RemoveLocation(udg_TempPoint)
- Custom script: call RemoveLocation(udg_TempPoint2)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- BloodNovaUnitsNumber Less than or equal to 0
- BloodNovacaster Not equal to No unit
- Then - Actions
- Set TempPoint = (Position of BloodNovacaster)
- Set TempGroup = (Units within 800.00 of TempPoint matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an ally of (Owner of BloodNovacaster)) Equal to False)))
- Unit Group - Pick every unit in TempGroup and do (Actions)
- Loop - Actions
- Unit - Cause BloodNovacaster to damage (Picked unit), dealing (BloodNovaDamage / (Real((Number of units in TempGroup)))) damage of attack type Chaos and damage type Normal
- Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
- Special Effect - Destroy (Last created special effect)
- Special Effect - Create a special effect at TempPoint using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
- Special Effect - Destroy (Last created special effect)
- Loop - Actions
- Custom script: call RemoveLocation(udg_TempPoint)
- Custom script: call DestroyGroup (udg_TempGroup)
- Set BloodNovaUnitsNumber = 0
- Set BloodNovacaster = No unit
- Set BloodNovaDamage = 0.00
- Else - Actions
- If - Conditions
- Unit Group - Pick every unit in BloodNovaDummyGroup and do (Actions)
- Events
It's for a Vampire in my map.