示例#1
0
        public static int RelicValue(Item relics, Mobile m)
        {
            int  RelicValue = 0;
            bool IsHenchman = false;

            if (m is HenchmanMonster || m is HenchmanFighter || m is HenchmanArcher || m is HenchmanWizard)
            {
                IsHenchman = true;
            }

            if (relics is DDRelicVase && (IsHenchman || m is VarietyDealer))
            {
                DDRelicVase relic = (DDRelicVase)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                               // ART COLLECTOR
            else if (relics is DDRelicPainting && (IsHenchman || m is VarietyDealer))
            {
                DDRelicPainting relic = (DDRelicPainting)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                                                // ART COLLECTOR
            else if (relics is EmptyCanopicJar && (IsHenchman || m is VarietyDealer))
            {
                EmptyCanopicJar relic = (EmptyCanopicJar)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                                                // ART COLLECTOR
            else if (relics is DDRelicBanner && (IsHenchman || m is VarietyDealer))
            {
                DDRelicBanner relic = (DDRelicBanner)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                                          // ART COLLECTOR
            else if (relics is DDRelicGrave && (IsHenchman || m is Necromancer || m is NecromancerGuildmaster || m is NecroMage || m is Witches))
            {
                DDRelicGrave relic = (DDRelicGrave)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                                                                                                      // NECROMANCERS
            else if (relics is DDRelicPainting && (IsHenchman || m is Artist))
            {
                DDRelicPainting relic = (DDRelicPainting)relics; RelicValue = relic.RelicGoldValue * 2;
            }                                                                                                                                                                          // ARIST PAYS DOUBLE FOR PAINTINGS
            else if (relics is DDRelicBanner && relics.Name.Contains("painting") && (IsHenchman || m is Artist))
            {
                DDRelicBanner relic = (DDRelicBanner)relics; RelicValue = relic.RelicGoldValue * 2;
            }                                                                                                                                                                                                        // ARIST PAYS DOUBLE FOR PAINTINGS
            else if (relics is DDRelicLight1 && (IsHenchman || m is VarietyDealer))
            {
                DDRelicLight1 relic = (DDRelicLight1)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                                          // ART COLLECTOR
            else if (relics is DDRelicLight2 && (IsHenchman || m is VarietyDealer))
            {
                DDRelicLight2 relic = (DDRelicLight2)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                                          // ART COLLECTOR
            else if (relics is DDRelicLight3 && (IsHenchman || m is VarietyDealer))
            {
                DDRelicLight3 relic = (DDRelicLight3)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                                          // ART COLLECTOR
            else if (relics is DDRelicArts && (IsHenchman || m is VarietyDealer))
            {
                DDRelicArts relic = (DDRelicArts)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                                    // ART COLLECTOR
            else if (relics is DDRelicStatue && (IsHenchman || m is VarietyDealer))
            {
                DDRelicStatue relic = (DDRelicStatue)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                                          // ART COLLECTOR
            else if (relics is DDRelicRugAddonDeed && (IsHenchman || m is VarietyDealer))
            {
                DDRelicRugAddonDeed relic = (DDRelicRugAddonDeed)relics; RelicValue = relic.RelicGoldValue;
            }                                                                                                                                                                                            // ART COLLECTOR
            else if (relics is DDRelicWeapon && (IsHenchman || m is Weaponsmith))
            {
                DDRelicWeapon relic = (DDRelicWeapon)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicArmor && (IsHenchman || m is Armorer))
            {
                DDRelicArmor relic = (DDRelicArmor)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicJewels && (IsHenchman || m is Jeweler))
            {
                DDRelicJewels relic = (DDRelicJewels)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicGem && (IsHenchman || m is Jeweler))
            {
                DDRelicGem relic = (DDRelicGem)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicInstrument && (IsHenchman || m is Bard))
            {
                DDRelicInstrument relic = (DDRelicInstrument)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicScrolls && (IsHenchman || m is Mage))
            {
                DDRelicScrolls relic = (DDRelicScrolls)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicClock1 && (IsHenchman || m is Tinker))
            {
                DDRelicClock1 relic = (DDRelicClock1)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicClock2 && (IsHenchman || m is Tinker))
            {
                DDRelicClock2 relic = (DDRelicClock2)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicClock3 && (IsHenchman || m is Tinker))
            {
                DDRelicClock3 relic = (DDRelicClock3)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicCloth && (IsHenchman || m is Tailor))
            {
                DDRelicCloth relic = (DDRelicCloth)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicFur && (IsHenchman || m is Furtrader))
            {
                DDRelicFur relic = (DDRelicFur)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicLeather && (IsHenchman || m is LeatherWorker))
            {
                DDRelicLeather relic = (DDRelicLeather)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicDrink && (IsHenchman || m is TavernKeeper))
            {
                DDRelicDrink relic = (DDRelicDrink)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicReagent && (IsHenchman || m is Alchemist))
            {
                DDRelicReagent relic = (DDRelicReagent)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicAlchemy && (IsHenchman || m is Alchemist))
            {
                DDRelicAlchemy relic = (DDRelicAlchemy)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicReagent && (IsHenchman || m is Witches))
            {
                DDRelicReagent relic = (DDRelicReagent)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicAlchemy && (IsHenchman || m is Witches))
            {
                DDRelicAlchemy relic = (DDRelicAlchemy)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is ObsidianStone && (IsHenchman || m is StoneCrafter))
            {
                ObsidianStone relic = (ObsidianStone)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicCoins && (IsHenchman || m is Minter))
            {
                DDRelicCoins relic = (DDRelicCoins)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicOrbs && (IsHenchman || m is Mage))
            {
                DDRelicOrbs relic = (DDRelicOrbs)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is HighSeasRelic && (IsHenchman || m is Shipwright))
            {
                HighSeasRelic relic = (HighSeasRelic)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicBook && (IsHenchman || m is Scribe))
            {
                DDRelicBook relic = (DDRelicBook)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicTablet && (IsHenchman || m is Sage))
            {
                DDRelicTablet relic = (DDRelicTablet)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DDRelicBearRugsAddonDeed && (IsHenchman || m is Furtrader))
            {
                DDRelicBearRugsAddonDeed relic = (DDRelicBearRugsAddonDeed)relics; RelicValue = relic.RelicGoldValue;
            }
            else if (relics is DynamicBook && (IsHenchman || m is Scribe))
            {
                RelicValue = Utility.RandomMinMax(20, 100);
            }
            else if (relics is DynamicBook && (IsHenchman || m is Sage))
            {
                RelicValue = Utility.RandomMinMax(20, 100);
            }

            if (relics is DDRelicBook || relics is DDRelicTablet || relics is DDRelicScrolls)
            {
                RelicValue = (int)(RelicValue * (1 + (m.Skills[SkillName.Inscribe].Value * 0.01)));
            }

            return(RelicValue);
        }
示例#2
0
        public override void OnHarvestFinished(Mobile from, Item tool, HarvestDefinition def, HarvestVein vein, HarvestBank bank, HarvestResource resource, object harvested)
        {
            Map     map = from.Map;
            Point3D loc = from.Location;

            HarvestResource res = vein.PrimaryResource;

            if (harvested is StaticTarget)
            {
                int itemID = ((StaticTarget)harvested).ItemID;

                if (!(itemID == 0x0C16 || itemID == 0x12F3 || itemID == 0x12FF || itemID == 0x1305 || itemID == 0x130B || itemID == 0x1311 || itemID == 0x1317 || itemID == 0x131D || itemID == 0x134E || itemID == 0x1398 || itemID == 0x1399 || itemID == 0x1E20 || itemID == 0x1E21 || itemID == 0x1E22 || itemID == 0x1E23 || itemID == 0x1E24 || itemID == 0x1E25))
                {
                    if (itemID == 0x3084 || itemID == 0x3085)
                    {
                        itemID = 0x2DEF;
                    }
                    else if (itemID == 0x3086 || itemID == 0x3087)
                    {
                        itemID = 0x2DF0;
                    }

                    if (res == resource)
                    {
                        try
                        {
                            map = from.Map;

                            if (map == null)
                            {
                                return;
                            }

                            int search = (int)(from.Skills[SkillName.Inscribe].Value);
                            if (search > Utility.Random(5000))
                            {
                                if (from.CheckSkill(SkillName.Inscribe, 0, 125))
                                {
                                    Item shelf = new BasicShelf();
                                    shelf.Name   = "book shelf";
                                    shelf.ItemID = itemID;
                                    if (itemID >= 0x4FDB)
                                    {
                                        shelf.Hue = 0xABE;
                                    }

                                    string name = "a book shelf";

                                    switch (Utility.Random(100))
                                    {
                                    case 0: shelf = new MyNecromancerSpellbook(); name = "necromancer spellbook"; break;

                                    case 1: shelf = new MySpellbook(); name = "a magery spellbook"; break;

                                    case 2: shelf = new MyNinjabook(); name = "a book of the ninja"; break;

                                    case 3: shelf = new MySamuraibook(); name = "a book of the samurai"; break;

                                    case 4: shelf = new MyPaladinbook(); name = "a book of chivalry"; break;

                                    case 5: shelf = new MySongbook(); name = "a book of bardic songs"; break;

                                    case 6: shelf = new ArtifactManual(); name = "an artifact manual"; break;

                                    case 7: shelf = new DDRelicTablet(); ((DDRelicTablet)shelf).RelicGoldValue = ((DDRelicTablet)shelf).RelicGoldValue + Utility.RandomMinMax(1, (int)(from.Skills[SkillName.Inscribe].Value * 2)); name = "a stone tablet"; break;

                                    case 8: shelf = Server.Items.PowerScroll.RandomPowerScroll(); name = "a scroll of power"; break;

                                    case 9:
                                        switch (Utility.Random(6))
                                        {
                                        case 0: shelf = new SmallBoatDeed(); break;

                                        case 1: shelf = new SmallDragonBoatDeed(); break;

                                        case 2: shelf = new MediumBoatDeed(); break;

                                        case 3: shelf = new MediumDragonBoatDeed(); break;

                                        case 4: shelf = new LargeBoatDeed(); break;

                                        case 5: shelf = new LargeDragonBoatDeed(); break;
                                        }
                                        name = "a deed to a ship";
                                        break;

                                    case 10: shelf = new TreasureMap(Utility.RandomList(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6), from.Map, from.Location, from.X, from.Y); name = "a treasure map"; break;
                                    }
                                    if (shelf != null)
                                    {
                                        from.AddToBackpack(shelf);
                                        from.SendMessage("you found " + name + "!");
                                    }
                                }
                            }
                        }
                        catch
                        {
                        }
                    }
                }
            }
        }