// as FC points public static int CastDelay(Mobile from, int fc) { if (HasteSpell.IsHasteed(from)) { fc += 2; } if (SlowSpell.IsSlowed(from)) { fc -= 2; } return(fc); }
// works with the final delay value, which is then / CastRecoveryPerSecond(4) and used as the seconds to delay by public static double CastRecovery(Mobile from, double total) { if (HasteSpell.IsHasteed(from)) { total *= 0.5; } if (SlowSpell.IsSlowed(from)) { total *= 1.5; } return(total); }
// works like SSI, uncapped public static int SwingDelay(Mobile m) { int total = 0; //DivineFurySpell gives +10. if (HasteSpell.IsHasteed(m)) { total += 12; } if (SlowSpell.IsSlowed(m)) { total -= 12; } return(total); }
// works like DCI, etc. public static int Dodge(Mobile defender) { int total = 0; if (HasteSpell.IsHasteed(defender)) { total += 20; } if (SlowSpell.IsSlowed(defender)) { total -= 20; } if (BlindSpell.IsBlinded(defender)) { total -= 50; } return(total); }
//<**Melee**> // works like HCI, etc. public static int Hit(Mobile attacker) { int total = 0; if (HasteSpell.IsHasteed(attacker)) { total += 20; } if (SlowSpell.IsSlowed(attacker)) { total -= 20; } if (BlindSpell.IsBlinded(attacker)) { total -= 50; } return(total); }