Another way is just making your abilities have 3 levels each and then change level of ability whenever you level up the passive.
Why would that help? Because each ability level can have a separate cooldown.
Also, ability levels do not add loading time - text does, so be sure to NOT fill in the text of other levels unless the ability originally had multiple levels(like hero abilities)
In my Map:
What I'm trying to do is find a way to change
Cast Time +
Cooldown of abilities.
Why? As there are equipments, passive abilities that makes my hero abilities cast faster
and/or (so not always will be both) reduce cooldown.
Aim: Trying to find whether this is possible in a non-complicated, time wasting way.
Possibility 1:
Cast Time
-Make all abilities Cast Instantly and set Cast Time via triggers.
Why not via ability stats?
(a) As any level other than level 1 is 'bugged' and wc3 will set cast time of ability as to that in Level 1 of the ability.
(b) The cooldown will be interfered.
Problem:
The ability will undergo cooldown EVEN if ability gets interrupted by for example making unit 'stop' or move while casting?
Spartipilo Solution: (From what I understood so far, please correct me if wrong)
Set cooldown to instant, and set cooldown via triggers.
If interrupted, set countdown to 0.
If Casted, set countdown to x
Then unit cannot cast until countdown is 0.
I liked this idea though:
-There will be more than 180 abilities, thus got to set for each one of them (This isn't much of a problem compared to the one below)
-It isn't user friendly as the user will not know when he'll be able to cast.
Solution: Create float text with the countdown number.
Problem: If more than 5 spells are on countdown, where do I put all these float text on screen? :S
Cooldown
-I could set the cooldown of each spell via triggers and use Spartiplio's solution to add/minus to the countdown if equipments/abilities increased/decreased the cooldown of abilities.
Edit:
As for Spartiplio's Solution No.2:
Add/Remove disabled SpellBooks of same Base ID seems quite complicated I'll think about it later as I g2g for now.