Lord Streamline -  23-08-2009 16:12
Kod:
// Designed By: EternaL
// Part of the Armagedon scripts
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Mobiles;
using Server.Targeting;

namespace Server.Items
{
   public class TamingTarget : Target
   {
      private TamingDeed m_Deed;

      public TamingTarget( TamingDeed deed ) : base( 1, false, TargetFlags.None )
      {
         m_Deed = deed;
      }

      protected override void OnTarget( Mobile from, object target )
      {
         if ( target is BaseCreature )
         {
            BaseCreature t = ( BaseCreature ) target;

            if ( t.Controled == true )
            {
               from.SendMessage( "That pet is already tamed!" );
            }
            else if ( t.Tamable == false )
            {
               from.SendMessage( "That creature is not tamable!" );
            }
            else 
             
               {

t.Controled = !t.Controled;
t.SetControlMaster( from );
t.IsBonded = true;
t.PrivateOverheadMessage( MessageType.Regular, 0x3B2, 502799, from.NetState ); // It seems to accept you as master.

                  m_Deed.Delete(); // Delete the deed
               }
           
         }
         else
         {
            from.SendMessage( "That is not a valid traget." ); 
         }
      }
   }

   public class TamingDeed : Item // Create the item class which is derived from the base item class
   {
      [Constructable]
      public TamingDeed() : base( 0x14F0 )
      {
         Weight = 1.0;
         Name = "a pet Taming deed";
         LootType = LootType.Blessed;
   Hue = 1154;
      }

      public TamingDeed( Serial serial ) : base( serial )
      {
      }

      public override void Serialize( GenericWriter writer )
      {
         base.Serialize( writer );

         writer.Write( (int) 0 ); // version
      }

      public override void Deserialize( GenericReader reader )
      {
         base.Deserialize( reader );
         LootType = LootType.Blessed;

         int version = reader.ReadInt();
      }

      public override bool DisplayLootType{ get{ return false; } }

      public override void OnDoubleClick( Mobile from ) // Override double click of the deed to call our target
      {
         if ( !IsChildOf( from.Backpack ) ) // Make sure its in their pack
         {
             from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
         }
         else
         {
            from.SendMessage( "Choose the pet you wish to Tame" ); 
            from.Target = new TamingTarget( this ); // Call our target
          }
      }   
   }
}
Henüz yorum yapılmamış.


Üyelerin oylama ortalaması (10 dışında) : Henüz Oylanmamış   
Oylar: 0

BENZER SAYFALAR