You will have to trigger the entire spell, or use a method that can be bugged (see below).
You cannot check all targets of the Forked Lightning spell, so it is impossible to check whether that spell has killed a unit or not.
If you cannot know when the spell killed a unit, you cannot create a unit on death.
The more simple solution would be to check when the spell is cast, turn on Trigger 2, wait 0.00 seconds and then turns it off again.
Trigger 2 activates when a unit dies and creates a unit at the dying unit's position.
It looks like this:
-
Forked Lightning Activate
-
Events
-
Unit - A unit Starts the effect of an ability
-
Conditions
-
(Ability being cast) Equal to Forked Lightning
-
Actions
-
Trigger - Turn on Forked Lightning Death <gen>
-
Wait 0.00 seconds
-
Trigger - Turn off Forked Lightning Death <gen>
-
Forked Lightning Death // INITIALLY OFF
-
Events
-
Conditions
-
Actions
-
Set tempLoc = (Position of (Triggering unit))
-
Unit - Create 1 Knight for (Owner of (Killing unit)) at tempLoc facing 0.00 degrees
-
Custom script: call RemoveLocation(udg_tempLoc)
However, this is prone to bugs. The "wait 0.00 seconds" does not last long, but it can be long enough to get the triggers to bug.
If a lot of units die in your map, then I suggest you redo the spell from scratch.
Edit:
Excuse me, didn't notice your second request.
-
Blink Strike
-
Events
-
Unit - A unit Starts the effect of an ability
-
Conditions
-
(Ability being cast) Equal to Blink Strike
-
Actions
-
Set DAMAGE = 100.00
-
Set HP_DRAIN = 0.50
-
Set tempLoc = (Position of (Target unit of ability being cast))
-
Unit - Move (Triggering unit) instantly to tempLoc
-
Custom script: call RemoveLocation(udg_tempLoc)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Life of (Target unit of ability being cast)) Less than DAMAGE
-
Then - Actions
-
Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) + ((Life of (Target unit of ability being cast)) x HP_DRAIN))
-
Else - Actions
-
Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) + (DAMAGE x HP_DRAIN))
-
Unit - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing DAMAGE damage of attack type Spells and damage type Normal
I left the variables there because you specifically asked for it.
I do encourage you to leave them out and change the actions accordingly though.
I used Channel as a base spell.