예제 #1
0
        public TalismanEntity(Mobile owner, TalismanOfEntities talisman)
            : base(AIType.AI_Animal)
        {
            if (talisman == null && owner != null)
            {
                talisman = owner.FindItemOnLayer <TalismanOfEntities>(Layer.Talisman) ??
                           owner.Backpack.FindItemByType <TalismanOfEntities>(true, i => !i.Linked);
            }

            if (owner == null && talisman != null)
            {
                owner = talisman.RootParent as Mobile;
            }

            if (talisman != null)
            {
                Link = talisman;

                Name      = talisman.EntityName;
                BodyValue = talisman.EntityBody;
                Hue       = talisman.EntityHue;
            }
            else
            {
                var eType = TalismanOfEntities.RandomEntity();

                Name      = eType.ToString().SpaceWords().ToLower();
                BodyValue = (int)eType;
                Hue       = Utility.RandomAnimalHue();
            }

            if (owner == null)
            {
                return;
            }

            SetControlMaster(owner);

            IsBonded = true;

            ControlTarget = owner;
            ControlOrder  = OrderType.Come;

            Female = owner.Female;
            Fame   = owner.Fame;
            Karma  = owner.Karma;
        }
예제 #2
0
		public TalismanEntity(Mobile owner, TalismanOfEntities talisman)
			: base(AIType.AI_Animal)
		{
			if (talisman == null && owner != null)
			{
				talisman = owner.FindItemOnLayer<TalismanOfEntities>(Layer.Talisman) ??
						   owner.Backpack.FindItemByType<TalismanOfEntities>(true, i => !i.Linked);
			}

			if (owner == null && talisman != null)
			{
				owner = talisman.RootParent as Mobile;
			}

			if (talisman != null)
			{
				Link = talisman;

				Name = talisman.EntityName;
				BodyValue = talisman.EntityBody;
				Hue = talisman.EntityHue;
			}
			else
			{
				var eType = TalismanOfEntities.RandomEntity();

				Name = eType.ToString().SpaceWords().ToLower();
				BodyValue = (int)eType;
				Hue = Utility.RandomAnimalHue();
			}

			if (owner == null)
			{
				return;
			}

			SetControlMaster(owner);

			IsBonded = true;

			ControlTarget = owner;
			ControlOrder = OrderType.Come;

			Female = owner.Female;
			Fame = owner.Fame;
			Karma = owner.Karma;
		}