Exemple #1
0
        protected static void PlayerUseSlot(DOLEvent e, object sender, EventArgs args)
        {
            GamePlayer player = (GamePlayer)sender;
            // player already morphed...

            Nuisances quest = (Nuisances)player.IsDoingQuest(typeof(Nuisances));

            if (quest == null)
            {
                return;
            }

            if (quest.Step == 1 && quest.askefruer != null)
            {
                UseSlotEventArgs uArgs = (UseSlotEventArgs)args;

                InventoryItem item = player.Inventory.GetItem((eInventorySlot)uArgs.Slot);
                if (item != null && item.Id_nb == emptyMagicBox.Id_nb)
                {
                    if (player.IsWithinRadius(quest.askefruer, 500))
                    {
                        foreach (GamePlayer visPlayer in quest.askefruer.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE))
                        {
                            visPlayer.Out.SendSpellCastAnimation(quest.askefruer, 1, 20);
                        }

                        SendSystemMessage(player, "You catch " + quest.askefruer.GetName(0, false) + " in your magical wodden box!");
                        new RegionTimer(player, new RegionTimerCallback(quest.DeleteAskefruer), 2000);

                        ReplaceItem(player, emptyMagicBox, fullMagicBox);

                        quest.Step = 2;
                    }
                    else
                    {
                        SendSystemMessage(player, "There is nothing within the reach of the magic box that can be cought.");
                    }
                }
            }
        }
Exemple #2
0
        protected static void PlayerUseSlot(DOLEvent e, object sender, EventArgs args)
        {
            GamePlayer player = (GamePlayer)sender;

            // player already morphed...
            Collection quest = (Collection)player.IsDoingQuest(typeof(Collection));

            if (quest == null)
            {
                return;
            }

            UseSlotEventArgs uArgs = (UseSlotEventArgs)args;

            InventoryItem item = player.Inventory.GetItem((eInventorySlot)uArgs.Slot);

            if (item != null && item.Id_nb == dustyOldMap.Id_nb)
            {
                if (quest.Step == 2)
                {
                    SendReply(player, "Travel north from the guard tower and look for the campfire. Do not go too far past the field.");
                }
                else if (quest.Step == 3)
                {
                    SendReply(player, " From the first location, travel east-northeast and search for the campfire. Look near the weeping willow trees. You have two more fairy generals to find.");
                }
                else if (quest.Step == 4)
                {
                    SendReply(player, "Now make your way south from the second location to find the last general. She might be near the road, close to the field. Look around for a campfire. You have one more fairy general to find.");
                }
                else if (quest.Step == 5)
                {
                    SendReply(player, "From the third location, travel west across the road to reach Master Frederick.");
                }
            }
        }
Exemple #3
0
        protected static void PlayerUseSlot(DOLEvent e, object sender, EventArgs args)
        {
            GamePlayer player = (GamePlayer)sender;
            // player already morphed...

            Collection quest = (Collection)player.IsDoingQuest(typeof(Collection));

            if (quest == null)
            {
                return;
            }

            UseSlotEventArgs uArgs = (UseSlotEventArgs)args;

            InventoryItem item = player.Inventory.GetItem((eInventorySlot)uArgs.Slot);

            if (item != null && item.Id_nb == dustyOldMap.Id_nb)
            {
                if (quest.Step == 2)
                {
                    SendReply(player, "Travel north from Dalikor to the standing stone. From the standing stone, travel west-northwest. Look for the campfire.");
                }
                else if (quest.Step == 3)
                {
                    SendReply(player, "The map has told you that the second are is to the east northeast of the first location. Look for the campfire.");
                }
                else if (quest.Step == 4)
                {
                    SendReply(player, "You must travel south from the second location then east along the base of the hills. Follow the base of the hills east till you reach a small plateau. Look for a campfire.");
                }
                else if (quest.Step == 5)
                {
                    SendReply(player, "Return to Dalikor at the guard tower outside of Mularn village.");
                }
            }
        }
        protected static void PlayerUseSlot(DOLEvent e, object sender, EventArgs args)
        {
            GamePlayer         player = (GamePlayer)sender;
            AidingGuardAlakyrr quest  = (AidingGuardAlakyrr)player.IsDoingQuest(typeof(AidingGuardAlakyrr));

            if (quest == null)
            {
                return;
            }

            UseSlotEventArgs uArgs = (UseSlotEventArgs)args;

            InventoryItem item = player.Inventory.GetItem((eInventorySlot)uArgs.Slot);

            if (item != null && item.Id_nb == enchantedtenebrousflask.Id_nb)
            {
                if (quest.Step == 3)
                {
                    SendSystemMessage(player, "You use the Enchanted Tenebrous Flask.");

                    ReplaceItem(player, enchantedtenebrousflask, quarterfulltenebrousflask);
                    SendSystemMessage(player, "The flask is one quarter full.");
                    quest.Step = 4;
                }
            }

            if (item != null && item.Id_nb == quarterfulltenebrousflask.Id_nb)
            {
                if (quest.Step == 5)
                {
                    SendSystemMessage(player, "You use the Quarter Full Tenebrous Flask.");

                    ReplaceItem(player, quarterfulltenebrousflask, halffulltenebrousflask);
                    SendSystemMessage(player, "The flask is half full.");
                    quest.Step = 6;
                }
            }

            if (item != null && item.Id_nb == halffulltenebrousflask.Id_nb)
            {
                if (quest.Step == 7)
                {
                    SendSystemMessage(player, "You use the Half Full Tenebrous Flask.");

                    ReplaceItem(player, halffulltenebrousflask, threequarterfulltenebrousflask);
                    SendSystemMessage(player, "The flask is three quarters full.");
                    quest.Step = 8;
                }
            }

            if (item != null && item.Id_nb == threequarterfulltenebrousflask.Id_nb)
            {
                if (quest.Step == 9)
                {
                    SendSystemMessage(player, "You use the 3 Quarters Full Tenebrous Flask.");

                    ReplaceItem(player, threequarterfulltenebrousflask, fullflaskoftenebrousessence);
                    SendSystemMessage(player, "You fill the flask with Tenebrous Essence.");
                    quest.Step = 10;
                }
            }
        }