@Bribe
hmm...
"Ok, this is a new thing that doesn't exist in most other damage systems. After damage events."
I recall people telling me that such a thing was stupid and should be removed to avoid problems.
Soon, noone wants to use a system that doesn't support it
@Krakenn99
Damage detection systems are very similar to each other.
There is literally no difference between weeps GDD, Bribe's GDE, looking_for_help's PDD, my ADE, or any other DDS that I have seen so far in the thing you want.
What you simply want is an event (that will replace
"Unit - A unit Is attacked") that runs when a unit has hit an enemy with a basic attack.
This is a bit hard to do WC3 compatible but for example in Bribe's GUI Damage Engine, you can get very close to it with very few drawbacks.
The event is a customized event created with a global real variable.
You can find this event under
"Game - Value Of Real Variable" (<Variable> becomes <Limit Operation> <Real>).
For example: MyRealVariable becomes Equal to 0.00
(This is a very basic way to create custom events.)
In Bribe's damage system, you want to use the variable
"DamageModifierEvent" or
"AfterDamageEvent" when they become equal to 1.00.
So:
-
Game - AfterDamageEvent becomes Equal to 1.00
Then your trigger will run when a unit has taken damage.
Now you want to filter out only basic attacks.
In Bribe's GDE, this can be done checking if
"IsDamageSpell" is false (which means that the damage is not IsDamageSpell).
@Bribe: I find that a very limiting approach.
Anyway, you also want to check if the unit type of the attacker is he same as the unit type of the units you want to increase their attack speed of.
Or you check if they have the attack speed increasing ability, or item, or upgrade or whatever.
So:
-
IsDamageSpell Equal to False
-
(Unit-type of DamageEventSource) Equal to Paladin
(This will make the trigger filter out basic attacks of only paladins.)
Now you want to increase the attack speed of the
"DamageEventSource".
This can be done using abilites and dummy units but I recommend you to use a stat system like BonusMod.
For now to simply see if the trigger's event and conditions work, you can add a "debug message".
A debug message is simply a notification that a piece of code works and what variables it has.
So you can do:
-
Game - Display to (All players) the text: ((Name of DamageEventSource) + now has increased attack speed.)
Now you run the map and see if your "paladin" will cause this message to appear whenever he hits a unit.
Once this works, we can head on to increasing attack speed.