Inheritance: BaseBashing, ITokunoDyable
Esempio n. 1
0
 public WandTarget(BaseWand item)
     : base(6, false, TargetFlags.None)
 {
     m_Item = item;
 }
Esempio n. 2
0
		public WandTarget( BaseWand item ) : base( 6, false, TargetFlags.None )
		{
			m_Item = item;
		}
        public ArenaTreasureChest() : base(0xE41)
        {
            Name = "Arena Champion";
            Hue  = 1161;

            DropItem(new ChampionStatue());

            DropItem(new Gold(Utility.RandomMinMax(1000, 2000)));
            DropItem(new Gold(Utility.RandomMinMax(1000, 2000)));
            DropItem(new Gold(Utility.RandomMinMax(1000, 2000)));
            DropItem(new Gold(Utility.RandomMinMax(1000, 2000)));
            DropItem(new Gold(Utility.RandomMinMax(1000, 2000)));
            DropItem(new Gold(Utility.RandomMinMax(1000, 2000)));
            DropItem(new Gold(Utility.RandomMinMax(1000, 2000)));
            DropItem(new Gold(Utility.RandomMinMax(1000, 2000)));
            DropItem(new Gold(Utility.RandomMinMax(1000, 2000)));
            DropItem(new Gold(Utility.RandomMinMax(1000, 2000)));

            {
                int chance = Utility.Random(5);

                switch (chance)
                {
                case 0:
                {
                    Map        map    = this.Map;
                    BaseWeapon weapon = Loot.RandomWeapon();
                    BaseRunicTool.ApplyAttributesTo(weapon, 4, 10, 50);
                    DropItem(weapon);
                    break;
                }

                case 1:
                {
                    Map       map   = this.Map;
                    BaseArmor armor = Loot.RandomArmor();
                    BaseRunicTool.ApplyAttributesTo(armor, 4, 10, 50);
                    DropItem(armor);
                    break;
                }

                case 2:
                {
                    BaseJewel jewel = Loot.RandomJewelry();
                    BaseRunicTool.ApplyAttributesTo(jewel, 4, 10, 50);
                    DropItem(jewel);
                    break;
                }

                case 3:
                {
                    Map     map = this.Map;
                    BaseHat hat = Loot.RandomHat();
                    BaseRunicTool.ApplyAttributesTo(hat, 4, 10, 50);
                    DropItem(hat);
                    break;
                }

                case 4:
                {
                    BaseWand wand = Loot.RandomWand();
                    DropItem(wand);
                    break;
                }
                }


                switch (Utility.Random(32))
                {
                default:
                case 0: DropItem(new VoiceOfTheFallenKing()); break;

                case 1: DropItem(new TunicOfFire()); break;

                case 2: DropItem(new SpiritOfTheTotem()); break;

                case 3: DropItem(new ShadowDancerLeggings()); break;

                case 4: DropItem(new OrnateCrownOfTheHarrower()); break;

                case 5: DropItem(new LeggingsOfBane()); break;

                case 6: DropItem(new JackalsCollar()); break;

                case 7: DropItem(new InquisitorsResolution()); break;

                case 8: DropItem(new HuntersHeaddress()); break;

                case 9: DropItem(new HelmOfInsight()); break;

                case 10: DropItem(new HatOfTheMagi()); break;

                case 11: DropItem(new GauntletsOfNobility()); break;

                case 12: DropItem(new DivineCountenance()); break;

                case 13: DropItem(new ArmorOfFortune()); break;

                case 14: DropItem(new ArcaneShield()); break;

                case 15: DropItem(new Aegis()); break;

                case 16: DropItem(new ZyronicClaw()); break;

                case 17: DropItem(new TitansHammer()); break;

                case 18: DropItem(new TheTaskmaster()); break;

                case 19: DropItem(new TheDragonSlayer()); break;

                case 20: DropItem(new StaffOfTheMagi()); break;

                case 21: DropItem(new SerpentsFang()); break;

                case 22: DropItem(new LegacyOfTheDreadLord()); break;

                case 23: DropItem(new BreathOfTheDead()); break;

                case 24: DropItem(new BoneCrusher()); break;

                case 25: DropItem(new BladeOfTheRighteous()); break;

                case 26: DropItem(new BladeOfInsanity()); break;

                case 27: DropItem(new AxeOfTheHeavens()); break;

                case 28: DropItem(new RingOfTheVile()); break;

                case 29: DropItem(new RingOfTheElements()); break;

                case 30: DropItem(new OrnamentOfTheMagician()); break;

                case 31: DropItem(new BraceletOfHealth()); break;
                }

                switch (Utility.Random(32))
                {
                default:
                case 0: DropItem(new VoiceOfTheFallenKing()); break;

                case 1: DropItem(new TunicOfFire()); break;

                case 2: DropItem(new SpiritOfTheTotem()); break;

                case 3: DropItem(new ShadowDancerLeggings()); break;

                case 4: DropItem(new OrnateCrownOfTheHarrower()); break;

                case 5: DropItem(new LeggingsOfBane()); break;

                case 6: DropItem(new JackalsCollar()); break;

                case 7: DropItem(new InquisitorsResolution()); break;

                case 8: DropItem(new HuntersHeaddress()); break;

                case 9: DropItem(new HelmOfInsight()); break;

                case 10: DropItem(new HatOfTheMagi()); break;

                case 11: DropItem(new GauntletsOfNobility()); break;

                case 12: DropItem(new DivineCountenance()); break;

                case 13: DropItem(new ArmorOfFortune()); break;

                case 14: DropItem(new ArcaneShield()); break;

                case 15: DropItem(new Aegis()); break;

                case 16: DropItem(new ZyronicClaw()); break;

                case 17: DropItem(new TitansHammer()); break;

                case 18: DropItem(new TheTaskmaster()); break;

                case 19: DropItem(new TheDragonSlayer()); break;

                case 20: DropItem(new StaffOfTheMagi()); break;

                case 21: DropItem(new SerpentsFang()); break;

                case 22: DropItem(new LegacyOfTheDreadLord()); break;

                case 23: DropItem(new BreathOfTheDead()); break;

                case 24: DropItem(new BoneCrusher()); break;

                case 25: DropItem(new BladeOfTheRighteous()); break;

                case 26: DropItem(new BladeOfInsanity()); break;

                case 27: DropItem(new AxeOfTheHeavens()); break;

                case 28: DropItem(new RingOfTheVile()); break;

                case 29: DropItem(new RingOfTheElements()); break;

                case 30: DropItem(new OrnamentOfTheMagician()); break;

                case 31: DropItem(new BraceletOfHealth()); break;
                }

                switch (Utility.Random(32))
                {
                default:
                case 0: DropItem(new VoiceOfTheFallenKing()); break;

                case 1: DropItem(new TunicOfFire()); break;

                case 2: DropItem(new SpiritOfTheTotem()); break;

                case 3: DropItem(new ShadowDancerLeggings()); break;

                case 4: DropItem(new OrnateCrownOfTheHarrower()); break;

                case 5: DropItem(new LeggingsOfBane()); break;

                case 6: DropItem(new JackalsCollar()); break;

                case 7: DropItem(new InquisitorsResolution()); break;

                case 8: DropItem(new HuntersHeaddress()); break;

                case 9: DropItem(new HelmOfInsight()); break;

                case 10: DropItem(new HatOfTheMagi()); break;

                case 11: DropItem(new GauntletsOfNobility()); break;

                case 12: DropItem(new DivineCountenance()); break;

                case 13: DropItem(new ArmorOfFortune()); break;

                case 14: DropItem(new ArcaneShield()); break;

                case 15: DropItem(new Aegis()); break;

                case 16: DropItem(new ZyronicClaw()); break;

                case 17: DropItem(new TitansHammer()); break;

                case 18: DropItem(new TheTaskmaster()); break;

                case 19: DropItem(new TheDragonSlayer()); break;

                case 20: DropItem(new StaffOfTheMagi()); break;

                case 21: DropItem(new SerpentsFang()); break;

                case 22: DropItem(new LegacyOfTheDreadLord()); break;

                case 23: DropItem(new BreathOfTheDead()); break;

                case 24: DropItem(new BoneCrusher()); break;

                case 25: DropItem(new BladeOfTheRighteous()); break;

                case 26: DropItem(new BladeOfInsanity()); break;

                case 27: DropItem(new AxeOfTheHeavens()); break;

                case 28: DropItem(new RingOfTheVile()); break;

                case 29: DropItem(new RingOfTheElements()); break;

                case 30: DropItem(new OrnamentOfTheMagician()); break;

                case 31: DropItem(new BraceletOfHealth()); break;
                }
            }
        }
        public static void ApplyAttributesTo( BaseWand wand, bool isRunicTool, int luckchance, int attributeCount, int min, int max )
        {
            m_Props.SetAll( false );

            AosAttributes primary = wand.Attributes;
            AosWeaponAttributes secondary = wand.WeaponAttributes;

            for ( int i = 0; i < attributeCount; ++i )
            {
                int random = GetUniqueRandom(2);

                if ( random == -1 )
                    break;

                switch ( random )
                {
                    case 0: ApplyAttribute( secondary, min, max, AosWeaponAttribute.MageWeapon, 1, 10 ); break;
                    case 1: ApplyAttribute( primary, min, max, AosAttribute.SpellChanneling, 1, 1 ); break;
                }
            }
        }
Esempio n. 5
0
 public WandTarget( BaseWand item )
     : base(6, false, TargetFlags.None)
 {
     AllowNonlocal = true;
     m_Item = item;
 }
        public void FillChest(LevelType level)
        {
            switch (level)
            {
            case LevelType.First:
            {
                DropItem(new Gold(Utility.RandomMinMax(50, 70)));

                if (0.3 > Utility.RandomDouble())
                {
                    int chance = Utility.Random(3);

                    switch (chance)
                    {
                    case 0:
                        DropItem(new Bolt(10));
                        break;

                    case 1:
                        DropItem(new Arrow(10));
                        break;

                    case 2:
                        DropItem(Loot.RandomReagent());
                        break;
                    }
                }

                break;
            }

            case LevelType.Hybrid:
            {
                DropItem(new Gold(Utility.RandomMinMax(10, 40)));

                if (0.3 > Utility.RandomDouble())
                {
                    int chance = Utility.Random(6);

                    switch (chance)
                    {
                    case 0:
                        DropItem(new Bolt(5));
                        break;

                    case 1:
                        DropItem(new Shoes());
                        break;

                    case 2:
                        DropItem(new Sandals());
                        break;

                    case 3:
                        DropItem(new Candle());
                        break;

                    case 4:
                        DropItem(new BeverageBottle(Utility.RandomBool() ? BeverageType.Ale : BeverageType.Liquor));
                        break;

                    case 5:
                        DropItem(new Jug(BeverageType.Cider));
                        break;
                    }
                }

                break;
            }

            case LevelType.Second:
            {
                DropItem(new Gold(Utility.RandomMinMax(120, 160)));

                if (0.3 > Utility.RandomDouble())
                {
                    Item reagent = Loot.RandomReagent();
                    DropItem(reagent);
                }

                break;
            }

            case LevelType.Third:
            {
                DropItem(new Gold(Utility.RandomMinMax(300, 400)));

                if (0.3 > Utility.RandomDouble())
                {
                    int chance = Utility.Random(3);

                    switch (chance)
                    {
                    case 0:
                        DropItem(new Bolt(10));
                        break;

                    case 1:
                        DropItem(new Arrow(10));
                        break;

                    case 2:
                        DropItem(Loot.RandomGem());
                        break;
                    }
                }

                int chance_new = Utility.Random(5);

                switch (chance_new)
                {
                case 0:
                {
                    Map        map    = this.Map;
                    BaseWeapon weapon = (map == Map.Tokuno) ? Loot.RandomSEWeapon() : Loot.RandomWeapon();
                    BaseRunicTool.ApplyAttributesTo(weapon, 3, 10, 40);
                    DropItem(weapon);
                    break;
                }

                case 1:
                {
                    Map       map   = this.Map;
                    BaseArmor armor = (map == Map.Tokuno) ? Loot.RandomSEArmor() : Loot.RandomArmor();
                    BaseRunicTool.ApplyAttributesTo(armor, 3, 10, 40);
                    DropItem(armor);
                    break;
                }

                case 2:
                {
                    BaseJewel jewel = Loot.RandomJewelry();
                    BaseRunicTool.ApplyAttributesTo(jewel, 3, 10, 40);
                    DropItem(jewel);
                    break;
                }

                case 3:
                {
                    Map     map = this.Map;
                    BaseHat hat = (map == Map.Tokuno) ? Loot.RandomSEHat() : Loot.RandomHat();
                    BaseRunicTool.ApplyAttributesTo(hat, 3, 10, 40);
                    DropItem(hat);
                    break;
                }

                case 4:
                {
                    BaseWand wand = Loot.RandomWand();
                    DropItem(wand);
                    break;
                }
                }

                break;
            }

            case LevelType.Fourth:
            {
                DropItem(new Gold(Utility.RandomMinMax(500, 600)));

                for (int i = 0; i < 2; i++)
                {
                    int chance = Utility.Random(5);

                    switch (chance)
                    {
                    case 0:
                    {
                        Map        map    = this.Map;
                        BaseWeapon weapon = (map == Map.Tokuno) ? Loot.RandomSEWeapon() : Loot.RandomWeapon();
                        BaseRunicTool.ApplyAttributesTo(weapon, 4, 10, 50);
                        DropItem(weapon);
                        break;
                    }

                    case 1:
                    {
                        Map       map   = this.Map;
                        BaseArmor armor = (map == Map.Tokuno) ? Loot.RandomSEArmor() : Loot.RandomSEArmor();
                        BaseRunicTool.ApplyAttributesTo(armor, 4, 10, 50);
                        DropItem(armor);
                        break;
                    }

                    case 2:
                    {
                        BaseJewel jewel = Loot.RandomJewelry();
                        BaseRunicTool.ApplyAttributesTo(jewel, 4, 10, 50);
                        DropItem(jewel);
                        break;
                    }

                    case 3:
                    {
                        Map     map = this.Map;
                        BaseHat hat = (map == Map.Tokuno) ? Loot.RandomSEHat() : Loot.RandomHat();
                        BaseRunicTool.ApplyAttributesTo(hat, 4, 10, 50);
                        DropItem(hat);
                        break;
                    }

                    case 4:
                    {
                        BaseWand wand = Loot.RandomWand();
                        DropItem(wand);
                        break;
                    }
                    }
                }

                if (0.3 > Utility.RandomDouble())
                {
                    Item gem = Loot.RandomGem();
                    gem.Amount = Utility.RandomMinMax(1, 2);
                    DropItem(gem);
                }

                break;
            }
            }
        }
Esempio n. 7
0
        public void OnTarget(Mobile from, object obj)
        {
            if (!IsChildOf(from.Backpack))
            {
                from.SendLocalizedMessage(1042001);                   // That must be in your pack for you to use it.
                return;
            }

            if (obj is CreationOrb)
            {
                Item        item = (Item)obj;
                CreationOrb eq   = (CreationOrb)obj;

                if (!item.IsChildOf(from.Backpack))
                {
                    from.SendLocalizedMessage(1042001);                       // That must be in your pack for you to use it.
                    return;
                }
                eq.UsesRemaining++;

                from.SendMessage("You imbue the item with arcane energy.");
                Consume();
            }

            if (obj is BaseWand)
            {
                Item     item = (Item)obj;
                BaseWand wn   = (BaseWand)obj;

                if (!item.IsChildOf(from.Backpack))
                {
                    from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
                    return;
                }

                if (wn.Charges + 2 < 50)
                {
                    wn.Charges += 2;
                }
                else
                {
                    wn.Charges = 50;
                }

                from.SendMessage("You imbue the item with arcane energy.");
                Consume();
            }

            if (obj is IArcaneEquip && obj is Item)
            {
                Item         item = (Item)obj;
                IArcaneEquip eq   = (IArcaneEquip)obj;

                if (!item.IsChildOf(from.Backpack))
                {
                    from.SendLocalizedMessage(1042001);                       // That must be in your pack for you to use it.
                    return;
                }

                int charges = GetChargesFor(from);

                if (eq.IsArcane)
                {
                    if (eq.CurArcaneCharges >= eq.MaxArcaneCharges)
                    {
                        from.SendMessage("That item is already fully charged.");
                    }
                    else
                    {
                        if (eq.CurArcaneCharges <= 0)
                        {
                            item.Hue = DefaultArcaneHue;
                        }

                        if ((eq.CurArcaneCharges + charges) > eq.MaxArcaneCharges)
                        {
                            eq.CurArcaneCharges = eq.MaxArcaneCharges;
                        }
                        else
                        {
                            eq.CurArcaneCharges += charges;
                        }

                        from.SendMessage("You recharge the item.");
                        Consume();
                    }
                }
                else if (from.Skills[SkillName.Tailoring].Value >= 80.0)
                {
                    bool isExceptional = false;

                    if (item is BaseClothing)
                    {
                        isExceptional = (((BaseClothing)item).Quality == ClothingQuality.Exceptional);
                    }
                    else if (item is BaseArmor)
                    {
                        isExceptional = (((BaseArmor)item).Quality == ArmorQuality.Exceptional);
                    }
                    else if (item is BaseWeapon)
                    {
                        isExceptional = (((BaseWeapon)item).Quality == WeaponQuality.Exceptional);
                    }

                    if (isExceptional)
                    {
                        if (item is BaseClothing)
                        {
                            ((BaseClothing)item).Crafter = from;
                        }
                        else if (item is BaseArmor)
                        {
                            ((BaseArmor)item).Crafter = from;
                        }
                        else if (item is BaseWeapon)
                        {
                            ((BaseWeapon)item).Crafter = from;
                        }

                        eq.CurArcaneCharges = eq.MaxArcaneCharges = charges;

                        item.Hue = DefaultArcaneHue;

                        from.SendMessage("You enhance the item with your gem.");
                        Consume();
                    }
                    else
                    {
                        from.SendMessage("Only exceptional items can be enhanced with the gem.");
                    }
                }
                else
                {
                    from.SendMessage("You do not have enough skill in tailoring to enhance the item.");
                }
            }
            else
            {
                from.SendMessage("You cannot use the gem on that.");
            }
        }