示例#1
0
        public override void OnRead()
        {
            FindIngredientObjective obj = System.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective;

            if (obj != null)
            {
                System.AddObjective(new FindIngredientObjective(obj.Ingredients, true));
            }
        }
示例#2
0
        public override void OnRead()
        {
            FindIngredientObjective obj = System.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective;

            if (obj != null)
            {
                obj.NextStep();
            }
        }
示例#3
0
        public override void OnTalk(PlayerMobile player, bool contextMenu)
        {
            Direction = GetDirectionTo(player);
            Animate(33, 20, 1, true, false, 0);

            QuestSystem qs = player.Quest;

            if (qs is WitchApprenticeQuest)
            {
                FindIngredientObjective obj = qs.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective;

                if (obj != null && !obj.Completed && obj.Ingredient == Ingredient.Whiskey)
                {
                    PlaySound(Utility.RandomBool() ? 0x42E : 0x43F);

                    Item hat      = player.FindItemOnLayer(Layer.Helm);
                    bool tricorne = hat is TricorneHat;

                    if (tricorne && player.BAC >= 20)
                    {
                        obj.Complete();

                        if (obj.BlackheartMet)
                        {
                            qs.AddConversation(new BlackheartPirateConversation(false));
                        }
                        else
                        {
                            qs.AddConversation(new BlackheartPirateConversation(true));
                        }
                    }
                    else if (!obj.BlackheartMet)
                    {
                        obj.Complete();

                        qs.AddConversation(new BlackheartFirstConversation());
                    }
                    else
                    {
                        qs.AddConversation(new BlackheartNoPirateConversation(tricorne, player.BAC > 0));
                    }

                    return;
                }
            }

            PlaySound(0x42C);
            SayTo(player, 1055041); // The drunken pirate shakes his fist at you and goes back to drinking.
        }