示例#1
0
 public InternalTimer(NubiaPlayer tamer, NubiaCreature creature, int count)
     : base(TimeSpan.FromSeconds(3.0), TimeSpan.FromSeconds(3.0), count)
 {
     m_Tamer     = tamer;
     m_Creature  = creature;
     m_MaxCount  = count;
     m_Paralyzed = creature.Paralyzed;
     m_StartTime = DateTime.Now;
     Priority    = TimerPriority.TwoFiftyMS;
 }
示例#2
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                NubiaPlayer player = from as NubiaPlayer;

                if (targeted is NubiaCreature)
                {
                    NubiaCreature creature = targeted as NubiaCreature;
                    if (!creature.Tamable)
                    {
                        creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 1049655, from.NetState);                                   // That creature cannot be tamed.
                    }
                    else if (creature.Controlled)
                    {
                        creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 502804, from.NetState);                                   // That animal looks tame already.
                    }
                    else if (from.Female && !creature.AllowFemaleTamer)
                    {
                        creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 1049653, from.NetState);                                   // That creature can only be tamed by males.
                    }
                    else if (!from.Female && !creature.AllowMaleTamer)
                    {
                        creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 1049652, from.NetState);                                   // That creature can only be tamed by females.
                    }
                    else if (from.Followers + creature.ControlSlots > from.FollowersMax)
                    {
                        from.SendLocalizedMessage(1049611);                                   // You have too many followers to tame that creature.
                    }
                    else if (creature.Owners.Count >= BaseCreature.MaxOwners && !creature.Owners.Contains(from))
                    {
                        creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 1005615, from.NetState);                                   // This animal has had too many owners and is too upset for you to tame.
                    }
                    else if (MustBeSubdued(creature))
                    {
                        creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 1054025, from.NetState);                                   // You must subdue this creature before you can tame it!
                    }
                    else
                    {
                        if (creature.DressageDD - 10 > player.Competences[CompType.Dressage].getPureMaitrise() || player.Competences[CompType.Dressage].getPureMaitrise() < 2)
                        {
                            creature.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 502806, from.NetState);     // You have no chance of taming this creature.
                        }
                        else
                        {
                            player.Emote("*essaie de dresser {0}*", creature.Name);
                            new InternalTimer(player, creature, Utility.RandomMinMax(3, 7)).Start();
                        }
                    }
                }
                else
                {
                    player.SendMessage("Vous ne pouvez pas dresser cela");
                }
            }