/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public static Item CreateLeatherArmor(string gender)
        {
            Item item  = null;
            int  nType = Utility.RandomMinMax(0, 12);

            switch (nType)
            {
            case 0:         item = new LeatherArms();                       item.Name = "leather sleeves";          break;

            case 1:         item = new LeatherChest();                      item.Name = "leather tunic";
                if (gender == "female" || Utility.RandomMinMax(0, 3) == 1)
                {
                    item = new FemaleLeatherChest();              item.Name = "leather armor";
                }
                else if (gender == "female" || Utility.RandomMinMax(0, 3) == 1)
                {
                    item = new LeatherBustierArms();              item.Name = "leather bustier";
                }
                break;

            case 2:         item = new LeatherGloves();                     item.Name = "leather gloves";           break;

            case 3:         item = new LeatherGorget();                     item.Name = "leather gorget";           break;

            case 4: item = new LeatherLegs();                               item.Name = "leather leggings";
                if (gender == "female" || Utility.RandomMinMax(0, 3) == 1)
                {
                    item = new LeatherSkirt();                            item.Name = "leather skirt";
                }
                if (Utility.RandomMinMax(0, 5) == 1)
                {
                    item = new LeatherShorts();                           item.Name = "leather shorts";
                }
                break;

            case 5:         item = new LeatherCap();                        item.Name = "leather cap";                      break;

            case 6:         item = new LeatherJingasa();            item.Name = "leather jingasa";          break;

            case 7:         item = new LeatherDo();                         item.Name = "leather do";                       break;

            case 8:         item = new LeatherHiroSode();           item.Name = "leather hiro sode";        break;

            case 9:         item = new LeatherSuneate();            item.Name = "leather suneate";          break;

            case 10:        item = new LeatherHaidate();            item.Name = "leather haidate";          break;

            case 11:        item = new LeatherNinjaPants();         item.Name = "leather ninja pants";      break;

            case 12:        item = new LeatherNinjaJacket();        item.Name = "leather ninja jacket";     break;
            }

            return(item);
        }
示例#2
0
        public override void InitOutfit()
        {
            Name             = "Genji Susano";
            Body             = 605;
            Female           = false;
            Race             = Race.Elf;
            Hue              = 33820;
            HairItemID       = 12237;
            HairHue          = 1109;
            FacialHairItemID = 0;
            FacialHairHue    = 0;

            SetStr(267);
            SetDex(229);
            SetInt(168);

            SetSkill(SkillName.ArmsLore, 64.0, 100.0);
            SetSkill(SkillName.Blacksmith, 65.0, 88.0);
            SetSkill(SkillName.Fencing, 45.0, 68.0);
            SetSkill(SkillName.Macing, 45.0, 68.0);
            SetSkill(SkillName.Swords, 45.0, 68.0);
            SetSkill(SkillName.Tactics, 36.0, 68.0);

            PackGold(8, 16);

            LightPlateJingasa helm = new LightPlateJingasa();

            helm.Movable = true;
            helm.Hue     = 873;
            AddItem(helm);

            LeatherDo chest = new LeatherDo();

            chest.Movable = true;
            chest.Hue     = 2425;
            AddItem(chest);

            LeatherHaidate legs = new LeatherHaidate();

            legs.Movable = true;
            legs.Hue     = 2425;
            AddItem(legs);

            AddItem(new ThighBoots(873));

            Tetsubo weapon = new Tetsubo();

            weapon.Movable = true;
            weapon.Quality = WeaponQuality.Exceptional;
            AddItem(weapon);
        }
示例#3
0
        public override void OnTalk(PlayerMobile player, bool contextMenu)
        {
            QuestSystem qs = player.Quest;

            if (qs is HaochisTrialsQuest)
            {
                if (HaochisTrialsQuest.HasLostHaochisKatana(player))
                {
                    qs.AddConversation(new LostSwordConversation());
                    return;
                }

                QuestObjective obj = qs.FindObjective <FindHaochiObjective>();

                if (obj?.Completed == false)
                {
                    obj.Complete();
                    return;
                }

                obj = qs.FindObjective <FirstTrialReturnObjective>();

                if (obj?.Completed == false)
                {
                    player.AddToBackpack(new LeatherDo());
                    obj.Complete();
                    return;
                }

                obj = qs.FindObjective <SecondTrialReturnObjective>();

                if (obj?.Completed == false)
                {
                    if (((SecondTrialReturnObjective)obj).Dragon)
                    {
                        player.AddToBackpack(new LeatherSuneate());
                    }

                    obj.Complete();
                    return;
                }

                obj = qs.FindObjective <ThirdTrialReturnObjective>();

                if (obj?.Completed == false)
                {
                    player.AddToBackpack(new LeatherHiroSode());
                    obj.Complete();
                    return;
                }

                obj = qs.FindObjective <FourthTrialReturnObjective>();

                if (obj?.Completed == false)
                {
                    if (!((FourthTrialReturnObjective)obj).KilledCat)
                    {
                        Container cont = GetNewContainer();
                        cont.DropItem(new LeatherHiroSode());
                        cont.DropItem(new JinBaori());
                        player.AddToBackpack(cont);
                    }

                    obj.Complete();
                    return;
                }

                obj = qs.FindObjective <FifthTrialReturnObjective>();

                if (obj?.Completed == false)
                {
                    HaochisKatana katana = player.Backpack?.FindItemByType <HaochisKatana>();
                    if (katana == null)
                    {
                        return;
                    }

                    katana.Delete();
                    obj.Complete();

                    obj = qs.FindObjective <FifthTrialIntroObjective>();
                    if (((FifthTrialIntroObjective)obj)?.StolenTreasure == true)
                    {
                        qs.AddConversation(new SixthTrialIntroConversation(true));
                    }
                    else
                    {
                        qs.AddConversation(new SixthTrialIntroConversation(false));
                    }
                }

                obj = qs.FindObjective <SixthTrialReturnObjective>();

                if (obj?.Completed == false)
                {
                    obj.Complete();
                    return;
                }

                obj = qs.FindObjective <SeventhTrialReturnObjective>();

                if (obj?.Completed == false)
                {
                    BaseWeapon weapon = new Daisho();
                    BaseRunicTool.ApplyAttributesTo(weapon, Utility.Random(1, 3), 10, 30);
                    player.AddToBackpack(weapon);

                    BaseArmor armor = new LeatherDo();
                    BaseRunicTool.ApplyAttributesTo(armor, Utility.Random(1, 3), 10, 20);
                    player.AddToBackpack(armor);

                    obj.Complete();
                }
            }
        }
        public override void OnTalk(PlayerMobile player, bool contextMenu)
        {
            Direction = GetDirectionTo(player);

            QuestSystem qs = player.Quest;

            if (qs is HaochisTrialsQuest)
            {
                HaochisTrialsQuest htq = qs as HaochisTrialsQuest;

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

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

                    qs.AddConversation(new DaimyoHaochiBeginConversation());

                    qs.AddObjective(new FollowGreenPathObjective());
                }

                if (qs.IsObjectiveInProgress(typeof(KillRoninsOrSoulsObjective)))
                {
                    bool ronins = false;

                    if (htq.KilledRonins > htq.KilledSouls)
                    {
                        ronins = true;
                    }

                    if (ronins)
                    {
                        qs.AddConversation(new ContinueSlayingRoninsConversation());
                    }
                    else if (htq.KilledSouls > 0)
                    {
                        qs.AddConversation(new ContinueSlayingSoulsConversation());
                    }
                }

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

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

                    if (htq.KilledRonins == 3)
                    {
                        qs.AddConversation(new ThanksForRoninsConversation());
                    }

                    if (htq.KilledSouls == 3)
                    {
                        qs.AddConversation(new ThanksForSoulsConversation());
                    }

                    player.AddToBackpack(new LeatherDo());

                    qs.AddObjective(new FollowYellowPathObjective());
                }

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

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

                    if (htq.Opponent == OpponentType.FierceDragon)
                    {
                        qs.AddConversation(new DragonConversation());
                    }

                    if (htq.Opponent == OpponentType.DeadlyImp)
                    {
                        qs.AddConversation(new ImpConversation());
                    }

                    player.AddToBackpack(new LeatherSuneate());

                    qs.AddObjective(new FollowBluePathObjective());
                }

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

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

                    qs.AddConversation(new HaochiSmilesConversation());

                    player.AddToBackpack(new LeatherHiroSode());

                    qs.AddObjective(new FollowRedPathObjective());
                }

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

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

                    if (htq.Choice == ChoiceType.Gold)
                    {
                        qs.AddConversation(new RespectForGoldConversation());
                    }

                    if (htq.Choice == ChoiceType.Cats)
                    {
                        qs.AddConversation(new RespectForCatsConversation());
                    }

                    Bag bag = new Bag();

                    bag.Hue = 0x660;

                    bag.DropItem(new LeatherHiroSode());
                    bag.DropItem(new JinBaori());

                    player.AddToBackpack(bag);

                    qs.AddObjective(new RetrieveKatanaObjective());
                }

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

                    DaimyoHaochisKatana katana = null;

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

                            break;
                        }
                    }

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

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

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

                        qs.AddConversation(new ThanksForSwordConversation());

                        qs.AddObjective(new LightCandleObjective());
                    }
                }

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

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

                    qs.AddConversation(new WellDoneConversation());

                    qs.AddObjective(new KillNinjaObjective());
                }

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

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

                    qs.AddConversation(new FirewellConversation());

                    BaseWeapon weapon = new Daisho();

                    BaseRunicTool.ApplyAttributesTo(weapon, Utility.Random(1, 3), 10, 30);

                    player.AddToBackpack(weapon);

                    BaseArmor armor = new LeatherDo();

                    BaseRunicTool.ApplyAttributesTo(armor, Utility.Random(1, 3), 10, 20);

                    player.AddToBackpack(armor);

                    qs.Complete();
                }
            }
        }
示例#5
0
        public override void OnTalk(PlayerMobile player, bool contextMenu)
        {
            QuestSystem qs = player.Quest;

            if (qs is HaochisTrialsQuest)
            {
                if (HaochisTrialsQuest.HasLostHaochisKatana(player))
                {
                    qs.AddConversation(new LostSwordConversation());
                    return;
                }

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

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

                obj = qs.FindObjective(typeof(FirstTrialReturnObjective));

                if (obj != null && !obj.Completed)
                {
                    player.AddToBackpack(new LeatherDo());
                    obj.Complete();
                    return;
                }

                obj = qs.FindObjective(typeof(SecondTrialReturnObjective));

                if (obj != null && !obj.Completed)
                {
                    if (((SecondTrialReturnObjective)obj).Dragon)
                    {
                        player.AddToBackpack(new LeatherSuneate());
                    }

                    obj.Complete();
                    return;
                }

                obj = qs.FindObjective(typeof(ThirdTrialReturnObjective));

                if (obj != null && !obj.Completed)
                {
                    player.AddToBackpack(new LeatherHiroSode());
                    obj.Complete();
                    return;
                }

                obj = qs.FindObjective(typeof(FourthTrialReturnObjective));

                if (obj != null && !obj.Completed)
                {
                    if (!((FourthTrialReturnObjective)obj).KilledCat)
                    {
                        Container cont = GetNewContainer();
                        cont.DropItem(new LeatherHiroSode());
                        cont.DropItem(new JinBaori());
                        player.AddToBackpack(cont);
                    }

                    obj.Complete();
                    return;
                }

                obj = qs.FindObjective(typeof(FifthTrialReturnObjective));

                if (obj != null && !obj.Completed)
                {
                    Container pack = player.Backpack;
                    if (pack != null)
                    {
                        Item katana = pack.FindItemByType(typeof(HaochisKatana));
                        if (katana != null)
                        {
                            katana.Delete();
                            obj.Complete();

                            obj = qs.FindObjective(typeof(FifthTrialIntroObjective));
                            if (obj != null && ((FifthTrialIntroObjective)obj).StolenTreasure)
                            {
                                qs.AddConversation(new SixthTrialIntroConversation(true));
                            }
                            else
                            {
                                qs.AddConversation(new SixthTrialIntroConversation(false));
                            }
                        }
                    }

                    return;
                }

                obj = qs.FindObjective(typeof(SixthTrialReturnObjective));

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

                obj = qs.FindObjective(typeof(SeventhTrialReturnObjective));

                if (obj != null && !obj.Completed)
                {
                    BaseWeapon weapon = new Daisho();
                    player.AddToBackpack(weapon);

                    BaseArmor armor = new LeatherDo();
                    player.AddToBackpack(armor);

                    obj.Complete();
                    return;
                }
            }
        }