Пример #1
0
        public override void OnTalk(PlayerMobile player, bool contextMenu)
        {
            Direction = GetDirectionTo(player);

            QuestSystem qs = player.Quest;

            if (qs is EminosUndertakingQuest)
            {
                if (qs.IsObjectiveInProgress(typeof(FindDaimyoEminoObjective)))
                {
                    QuestObjective obj = qs.FindObjective(typeof(FindDaimyoEminoObjective));

                    if (obj != null)
                    {
                        obj.Complete();
                    }

                    qs.AddConversation(new DaimyoEminoBeginConversation());

                    qs.AddObjective(new FindEliteNinjaZoelObjective());
                }

                if (qs.IsObjectiveInProgress(typeof(TakeGreenTeleporterObjective)))
                {
                    QuestObjective obj = qs.FindObjective(typeof(TakeGreenTeleporterObjective));

                    if (obj != null)
                    {
                        obj.Complete();
                    }

                    qs.AddConversation(new EminoSecondConversation());

                    player.AddToBackpack(new NoteForZoel());

                    player.AddToBackpack(new LeatherNinjaPants());

                    player.AddToBackpack(new LeatherNinjaMitts());

                    qs.AddObjective(new BringNoteToZoelObjective());
                }

                if (qs.IsObjectiveInProgress(typeof(GoBackBlueTeleporterObjective)))
                {
                    QuestObjective obj = qs.FindObjective(typeof(GoBackBlueTeleporterObjective));

                    if (obj != null)
                    {
                        obj.Complete();
                    }

                    qs.AddConversation(new FrownsConversation());

                    Bag bag = new Bag();

                    bag.Hue = 0x660;

                    bag.DropItem(new LeatherNinjaJacket());
                    bag.DropItem(new LeatherNinjaHood());

                    for (int i = 0; i < 10; i++)
                    {
                        bag.DropItem(new LesserHealPotion());
                    }

                    player.AddToBackpack(bag);

                    qs.AddObjective(new TakeWhiteTeleporterObjective());
                }

                if (qs.IsObjectiveInProgress(typeof(KillHenchmensObjective)))
                {
                    qs.AddConversation(new ContinueKillHenchmensConversation());
                }

                if (qs.IsObjectiveInProgress(typeof(ReturnToDaimyoObjective)))
                {
                    ArrayList list = player.Backpack.Items;

                    DaimyoEminosKatana katana = null;

                    for (int i = 0; i < list.Count; i++)
                    {
                        if ((Item)list[i] is DaimyoEminosKatana)
                        {
                            katana = list[i] as DaimyoEminosKatana;

                            break;
                        }
                    }

                    if (katana == null)
                    {
                        qs.AddConversation(new TakeSwordAgainConversation());
                    }
                    else
                    {
                        katana.Delete();

                        QuestObjective obj = qs.FindObjective(typeof(ReturnToDaimyoObjective));

                        if (obj != null)
                        {
                            obj.Complete();
                        }

                        qs.AddConversation(new GiftsConversation());

                        Kama kama = new Kama();

                        BaseRunicTool.ApplyAttributesTo(kama, 1, 10, 30);

                        player.AddToBackpack(kama);

                        qs.Complete();
                    }
                }
            }
        }
Пример #2
0
        public override void OnTalk(PlayerMobile player, bool contextMenu)
        {
            QuestSystem qs = player.Quest;

            if (qs is EminosUndertakingQuest)
            {
                if (EminosUndertakingQuest.HasLostNoteForZoel(player))
                {
                    Item note = new NoteForZoel();

                    if (player.PlaceInBackpack(note))
                    {
                        qs.AddConversation(new LostNoteConversation());
                    }
                    else
                    {
                        note.Delete();
                        player.SendLocalizedMessage(1046260);                           // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                    }
                }
                else if (EminosUndertakingQuest.HasLostEminosKatana(player))
                {
                    qs.AddConversation(new LostSwordConversation());
                }
                else
                {
                    QuestObjective obj = qs.FindObjective(typeof(FindEminoBeginObjective));

                    if (obj != null && !obj.Completed)
                    {
                        obj.Complete();
                    }
                    else
                    {
                        obj = qs.FindObjective(typeof(UseTeleporterObjective));

                        if (obj != null && !obj.Completed)
                        {
                            Item note = new NoteForZoel();

                            if (player.PlaceInBackpack(note))
                            {
                                obj.Complete();

                                player.AddToBackpack(new LeatherNinjaPants());
                                player.AddToBackpack(new LeatherNinjaMitts());
                            }
                            else
                            {
                                note.Delete();
                                player.SendLocalizedMessage(1046260);                                   // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                            }
                        }
                        else
                        {
                            obj = qs.FindObjective(typeof(ReturnFromInnObjective));

                            if (obj != null && !obj.Completed)
                            {
                                Container cont = GetNewContainer();

                                for (int i = 0; i < 10; i++)
                                {
                                    cont.DropItem(new LesserHealPotion());
                                }

                                cont.DropItem(new LeatherNinjaHood());
                                cont.DropItem(new LeatherNinjaJacket());

                                if (player.PlaceInBackpack(cont))
                                {
                                    obj.Complete();
                                }
                                else
                                {
                                    cont.Delete();
                                    player.SendLocalizedMessage(1046260);                                       // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                                }
                            }
                            else
                            {
                                if (qs.IsObjectiveInProgress(typeof(SlayHenchmenObjective)))
                                {
                                    qs.AddConversation(new ContinueSlayHenchmenConversation());
                                }
                                else
                                {
                                    obj = qs.FindObjective(typeof(GiveEminoSwordObjective));

                                    if (obj != null && !obj.Completed)
                                    {
                                        Item katana = null;

                                        if (player.Backpack != null)
                                        {
                                            katana = player.Backpack.FindItemByType(typeof(EminosKatana));
                                        }

                                        if (katana != null)
                                        {
                                            bool stolenTreasure = false;

                                            HallwayWalkObjective walk = qs.FindObjective(typeof(HallwayWalkObjective)) as HallwayWalkObjective;
                                            if (walk != null)
                                            {
                                                stolenTreasure = walk.StolenTreasure;
                                            }

                                            Kama kama = new Kama();

                                            if (stolenTreasure)
                                            {
                                                BaseRunicTool.ApplyAttributesTo(kama, 1, 10, 20);
                                            }
                                            else
                                            {
                                                BaseRunicTool.ApplyAttributesTo(kama, 1, 10, 30);
                                            }

                                            if (player.PlaceInBackpack(kama))
                                            {
                                                katana.Delete();
                                                obj.Complete();

                                                if (stolenTreasure)
                                                {
                                                    qs.AddConversation(new EarnLessGiftsConversation());
                                                }
                                                else
                                                {
                                                    qs.AddConversation(new EarnGiftsConversation());
                                                }
                                            }
                                            else
                                            {
                                                kama.Delete();
                                                player.SendLocalizedMessage(1046260);                                                   // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Пример #3
0
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public static Item CreateMetalWeapon()
        {
            Item item = null;

            int nType = Utility.RandomMinMax(0, 41);

            switch (nType)
            {
            case 1:         item = new Cutlass();                   item.Name = "cutlass";                  break;

            case 2:         item = new Katana();                    item.Name = "katana";                   break;

            case 3:         item = new Kryss();                             item.Name = "kryss";                    break;

            case 4:         item = new Broadsword();                item.Name = "broadsword";               break;

            case 5:         item = new Longsword();                 item.Name = "longsword";                break;

            case 6:         item = new ThinLongsword();             item.Name = "longsword";                break;

            case 7:         item = new VikingSword();               item.Name = "barbarian sword";  break;

            case 8:         item = new Scimitar();                  item.Name = "scimitar";                 break;

            case 9:         item = new BoneHarvester();             item.Name = "sickle";                   break;

            case 10:        item = new CrescentBlade();             item.Name = "crescent blade";   break;

            case 11:        item = new DoubleBladedStaff(); item.Name = "bladed staff";             break;

            case 12:        item = new Lance();                             item.Name = "lance";                    break;

            case 13:        item = new Pike();                              item.Name = "pike";                             break;

            case 14:        item = new Scythe();                    item.Name = "scythe";                   break;

            case 15:        item = new Dagger();                    item.Name = "dagger";                   break;

            case 16:        item = new HammerPick();                item.Name = "hammer pick";              break;

            case 17:        item = new Mace();                              item.Name = "mace";                             break;

            case 18:        item = new Maul();                              item.Name = "maul";                             break;

            case 19:        item = new WarHammer();                 item.Name = "war hammer";               break;

            case 20:        item = new WarMace();                   item.Name = "war mace";                 break;

            case 21:        item = new ExecutionersAxe();   item.Name = "great axe";                break;

            case 22:        item = new BattleAxe();                 item.Name = "battle axe";               break;

            case 23:        item = new TwoHandedAxe();              item.Name = "two-handed axe";   break;

            case 24:        item = new Axe();                               item.Name = "axe";                              break;

            case 25:        item = new DoubleAxe();                 item.Name = "double axe";               break;

            case 26:        item = new RoyalSword();                item.Name = "royal sword";              break;

            case 27:        item = new LargeBattleAxe();    item.Name = "large battle axe"; break;

            case 28:        item = new WarAxe();                    item.Name = "war axe";                  break;

            case 29:        item = new Bardiche();                  item.Name = "bardiche";                 break;

            case 30:        item = new Halberd();                   item.Name = "halberd";                  break;

            case 31:        item = new Pitchfork();                 item.Name = "trident";                  break;

            case 32:        item = new ShortSpear();                item.Name = "short spear";              break;

            case 33:        item = new Spear();                             item.Name = "spear";                    break;

            case 34:        item = new NoDachi();                   item.Name = "no dachi";                 break;

            case 35:        item = new Wakizashi();                 item.Name = "wakizashi";                break;

            case 36:        item = new Tetsubo();                   item.Name = "tetsubo";                  break;

            case 37:        item = new Lajatang();                  item.Name = "lajatang";                 break;

            case 38:        item = new Daisho();                    item.Name = "daisho";                   break;

            case 39:        item = new Tekagi();                    item.Name = "tekagi";                   break;

            case 40:        item = new Kama();                              item.Name = "kama";                             break;

            case 41:        item = new Sai();                               item.Name = "sai";                              break;
            }

            return(item);
        }