public override bool DoMountAbility(int damage, Mobile attacker) { if (Rider == null || attacker == null) // sanity { return(false); } // Range and map checked here instead of other base fuction because of abiliites that don't need to check this if (Rider.Hits - damage < 30 && Rider.Map == attacker.Map && Rider.InRange(attacker, 18)) { attacker.BoltEffect(0); // 35~100 damage, unresistable, by the Ki-rin. // Don't inform mount about this damage, Still unsure wether or not it's flagged as the mount doing damage or the player. // If changed to player, without the extra bool it'd be an infinite loop attacker.Damage(Utility.RandomMinMax(35, 100), this, false); // Your mount calls down the forces of nature on your opponent. Rider.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1042534); Rider.FixedParticles(0, 0, 0, 0x13A7, EffectLayer.Waist); Rider.PlaySound(0xA9); // Ki-rin's whinny. return(true); } return(false); }
DoMountAbility(int damage, Mobile attacker) { if (Rider == null || attacker == null) { return (false); } if (Rider.Map == attacker.Map && Rider.InRange(attacker, 1) && .7 > Utility.RandomDouble() ) { attacker.Paralyze(TimeSpan.FromSeconds(6)); { if (attacker.Body.IsHuman && !attacker.Mounted) { attacker.Animate(22, 7, 1, true, true, 2); return(true); } } } return(false); }