I have put together the quest for http://www.uoguide.com/Shearing_Knowledge.
The reward is not per OSI - I am using the variable carpet deed Milva(did I spell that right, uugh, sorry) posted on here, but.....
My question is I would like the Britannian Wool to ONLY show up when shearing a sheep if you are on the quest.
I know how to make certain NPC's only attackable if on a quest, but am falling short on this one.
Can someone point my to a similar instance that is already out there so can start the brain power to get this done?
Fishing has a sort of example for getting the virtual pearls, but Im using the mondains quest system MalGannis released.
Anyway, some clues on how to start wold be greatly appreciated!

Thanks for the assistance!

Shazzy :]
 
I would do something like this in Sheep:

Code:
        public void Carve(Mobile from, Item item)
        {
            if (DateTime.UtcNow < this.m_NextWoolTime)
            {
                // This sheep is not yet ready to be shorn.
                this.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 500449, from.NetState);
                return;
            }

            from.SendLocalizedMessage(500452); // You place the gathered wool into your backpack.
            if (from is PlayerMobile && IsActiveQuest((PlayerMobile)from, typeof(ShearingKnowledge)
                && Utility.Random(5) == 1)
                from.AddToBackpack(new BritanianWool());
            else
                from.AddToBackpack(new Wool(this.Map == Map.Felucca ? 2 : 1));

            this.NextWoolTime = DateTime.UtcNow + TimeSpan.FromHours(3.0); // TODO: Proper time delay
        }
       
        private bool IsActiveQuest(PlayerMobile pm, Type type)
        {
            if (pm.Quests != null)
            {
                foreach (var quest in pm.Quests)
                {
                    if (quest.GetType() == type) return true;
                }
            }
            return false;
        }
 
Of course, in this part:

Code:
         if (from is PlayerMobile && IsActiveQuest((PlayerMobile)from, typeof(ShearingKnowledge)
                && Utility.Random(5) == 1)
                from.AddToBackpack(new BritanianWool());


ShearingKnowledge would be the type name of your quest, and BritanianWool would be the name of your Wool item, and Random(5) is the chance you want that it would drop that item instead of regular wool. You will need to adjust those to match your stuff.
 
Oh, I just read the description from the link you posted above. So, instead of my random thing, you could give them both regular and Britannian Wool, one of each, per the link. Haha, I should have read that first.
 
Back