IF
SkillCast(_charGUID,_)
THEN
DB_somePrefix_databaseName(_charGUID);
ApplyStatus(_charGUID,"CASTING_A_SPELL",-1.0,1);
TimerStart("RemovingApplyBlock",2000);
IF
TimerFinished("RemovingApplyBlock");
AND
DB_somePrefix_databaseName(_charGUID)
THEN
RemoveStatus(_charGUID,"CASTING_A_SPELL");
SysClear("DB_somePrefix_databaseName",1);
IF
CharacterStatusApplied(_,"HIT",_causee)
AND
HasActiveStatus(_causee,"CASTING_A_SPELL",0)
AND
.....
THEN
....
Thats a cheaty way that should work in most cases.
The problem here is that a spell can be a melle spell, like flurry, or some other, that is supposed to apply statuses from weapon.
This can be solved, but more scripting is needed.
Just create a database with all spells, that you want to exclude from list (that wont block status apply)
and add this database to a condition.
There can be other minor issues, like custom melle spells, added by other modders, specialy the ones that use scripting to cast multiply skills in a row without animation.
Or there can be spells with an awfull animation textKeys ("SkillCast" call will triget not at the start of cast, but somwhere in the middle, AFTER the hit), but most of them can be solved.
It is for you to decide how you will handle it, but the more accurate you want it to be, the more complicated it will become. Moding DoS is more like developing..
Last edited by Module 003; 14/01/18 06:45 PM.