Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
You will need to trigger the Critical Strike by using a damage detection system.
On Damage

Events


Game - DamageModifierEvent becomes Equal to 1.00

Conditions


(Level of Critical Strike for DamageEventSource) Greater than 0

Actions


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




(Random integer number between 1 and 100) Less than or equal to Chance



Then - Actions




Set DamageEventAmount = (DamageEventAmount x Multiplier)




Special Effect - Create a special effect attached to the chest of DamageEventTarget using Abilities\Spells\Undead\OrbOfDeath\OrbOfDeathMissile.mdl




Special Effect - Destroy (Last created special effect)




Floating Text - Create floating text that reads (|c00cc0000 + ((String((Integer(DamageEventAmount)))) + |r)) above DamageEventTarget with Z offset 0.00, using font size 11.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency




Floating Text - Change (Last created floating text): Disable permanence




Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds




Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds




Floating Text - Set the velocity of (Last created floating text) to 60.00 towards 90.00 degrees



Else - Actions
First thing you need to know is that the default Critical Strike chance isn't very accurate (examples: if you set it to 12%, it's actually 10%; if you set it to 70% it's actually 60%).
This means you'd want to trigger your own critical strike pretty much anytime you use one.
To do this, download Bribe's Damage Engine.
Copy the categories "Damage Engine" and "Requirements" into your map (see note below).
The trigger for the critical strike is:
The event comes from the Damage Engine.
On Damage
Events
Game - DamageModifierEvent becomes Equal to 1.00
Conditions
(Level of Critical Strike for DamageEventSource) Greater than 0
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Random integer number between 1 and 100) Less than or equal to Chance
Then - Actions
Set DamageEventAmount = (DamageEventAmount x Multiplier)
Special Effect - Create a special effect attached to the chest of DamageEventTarget using Abilities\Spells\Undead\OrbOfDeath\OrbOfDeathMissile.mdl
Special Effect - Destroy (Last created special effect)
Floating Text - Create floating text that reads (|c00cc0000 + ((String((Integer(DamageEventAmount)))) + |r)) above DamageEventTarget with Z offset 0.00, using font size 11.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
Floating Text - Set the velocity of (Last created floating text) to 60.00 towards 90.00 degrees
Else - Actions
This event allows you to manipulate damage right before it is dealt (which is what a critical strike does).
The condition of the trigger checks if the attacking unit has Critical Strike.
The actions are mostly for the floating text which appears when a critical strike occurs.
The condition of the ITE checks if you crit or not (set "Chance" to any percentage you wish. If you set it to 80, you will have an 80% chance to crit).
The first real action ("Set DamageEventAmount (...)" manipulates the damage. Change the "Multiplier" with whatever you want (like "1.5", to deal 50% more damage).
After that comes the special effect. You can change "chest" with "origin", "head", "hand" or any other attachment point you see fit (and you can obviously change the special effect as well).
Note: go to File -> Preferences and in the tab "General", check if "Automatically copy unknown variable data while pasting triggers" is enabled (it should be) before copying any triggers/categories.
Edit: I do agree with Nichilus though, it's a bit hard to start out with.
It's not real comparison, it is integer comparison => Unit => Level of ability for unitReal comparison and then ?!
Trigger cleave as wellI have problem with this: I made exactly like that before, but when I have cleaving ability, then the critical appears at few enemies in cleaving range. BUT it should first deal critical damage on attacked target and then cleave so I don't have Critical floating text all over the range