Пример #1
0
        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);
        }
Пример #2
0
 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);
 }