コード例 #1
0
        public override void OnDeath(Container c)
        {
            GetLootingRights(DamageEntries, HitsMax)
            .Where(e => e.m_HasRight && e.m_Mobile is PlayerMobile)
            .Select(e => (PlayerMobile)e.m_Mobile)
            .ForEach(PlayerMobile.ChampionTitleInfo.AwardHarrowerTitle);

            _Tentacles.Where(t => !t.Deleted).ForEach(t => t.Kill());
            _Tentacles.Clear();

            if (!NoKillAwards && _GateItem != null)
            {
                _GateItem.Delete();
            }

            var scroll = new SkillScroll();

            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            base.OnDeath(c);
        }
コード例 #2
0
        public override bool OnBeforeDeath()
        {
            AddLoot(LootPack.FilthyRich, 2);
            AddLoot(LootPack.Rich, 2);
            AddLoot(LootPack.Average, 2);
            AddLoot(LootPack.Gems, 5);

            PackItem(new Gold(1400, 1900));

            if (0.05 >= Utility.RandomDouble())
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                PackItem(scroll);
            }

            if (0.1 >= Utility.RandomDouble())
            {
                PackItem(new CultistPaint());
            }

            /*if (0.0002 >= Utility.RandomDouble())
             * {
             * SpecialHairDye hairdye = new SpecialHairDye();
             * hairdye.Name = "cultist hair treatment";
             * PackItem(hairdye);
             * }*/

            return(true);
        }
コード例 #3
0
ファイル: Sphinx.cs プロジェクト: zerodowned/UO-Forever
        public override void OnDeath(Container c)
        {
            var scroll = new SkillScroll();

            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            var statue = new SphinxStatue();

            c.DropItem(statue);

            base.OnDeath(c);
        }
コード例 #4
0
        public override bool OnBeforeDeath()
        {
            Frozen = true;
            Yell(Utility.RandomBool() ? "The Dark Lord welcomes me fool..." : "Why..?");
            AddLoot(LootPack.FilthyRich, 2);
            AddLoot(LootPack.Rich, 2);
            AddLoot(LootPack.Average, 2);
            AddLoot(LootPack.Gems, 5);
            PackItem(new Gold(1400, 1900));

            if (0.05 >= Utility.RandomDouble())
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                PackItem(scroll);
            }
            if (0.1 >= Utility.RandomDouble())
            {
                PackItem(new covenpaint());
            }

            if (0.5 >= Utility.RandomDouble())
            {
                PackItem(new ChaosScroll());
            }

            return(base.OnBeforeDeath());
        }
コード例 #5
0
ファイル: DarkFather.cs プロジェクト: zerodowned/UO-Forever
        public override void OnDeath(Container c)
        {
            var scroll = new SkillScroll();

            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);
            c.DropItem(new Platinum {
                Amount = 50
            });
            c.DropItem(new GargoyleRune());
            if (Utility.RandomDouble() < 0.5)
            {
                c.DropItem(new GargoyleRune());
            }
            if (Utility.RandomDouble() < 0.1)
            {
                c.DropItem(new GargoyleRune());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                c.DropItem(new DarkFatherStatue {
                    Hue = Hue
                });
            }

            base.OnDeath(c);
        }
コード例 #6
0
        public override void OnDeath(Container c)
        {
            if (Utility.RandomDouble() >= 0.15)
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                c.DropItem(scroll);
            }
            if (Utility.RandomDouble() >= 0.15)
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                c.DropItem(scroll);
            }

            c.DropItem(new Platinum {
                Amount = 25
            });
            c.DropItem(new GargoyleRune());
            if (Utility.RandomDouble() < 0.5)
            {
                c.DropItem(new GargoyleRune());
            }
            if (Utility.RandomDouble() < 0.1)
            {
                c.DropItem(new GargoyleRune());
            }

            base.OnDeath(c);
        }
コード例 #7
0
ファイル: Khalngalich.cs プロジェクト: zerodowned/UO-Forever
        public override bool OnBeforeDeath()
        {
            Say("NO, THIS CANNOT BE!!");
            Say("I AM UNDONNNEEEEEEE......");

            Effects.SendLocationEffect(Location, Map, 0x36BD, 30, 10, 0x835, 0);
            Effects.SendLocationEffect(Location, Map, 0x36BD, 30, 10, 0x835, 0);
            Effects.SendLocationEffect(Location, Map, 0x36BD, 30, 10, 0x835, 0);

            AddLoot(LootPack.FilthyRich, 3);
            AddLoot(LootPack.MedScrolls, 2);
            PackItem(new Gold(1500));
            if (0.009 > Utility.RandomDouble())// 2 percent - multipy number x 100 to get percent
            {
                switch (Utility.Random(2))
                { // rolls and number it gives it a case. if the number is , say , 3 it will pack that item
                case 0: PackItem(new BlackDyeTub()); break;

                case 1: PackItem(new Sandals(1175)); break;
                }
            }
            if (0.05 > Utility.RandomDouble())
            {
                Spellbook spellbook = new Spellbook();
                spellbook.Hue      = 1157;
                spellbook.LootType = LootType.Regular;
                spellbook.Name     = "red book of spells";
                PackItem(spellbook);
            }
            if (0.10 >= Utility.RandomDouble())
            {
                SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
            }
            return(true);
        }
コード例 #8
0
ファイル: FireRabbit.cs プロジェクト: zerodowned/UO-Forever
 public override void GenerateLoot()
 {
     AddLoot(LootPack.FilthyRich);
     AddLoot(LootPack.Rich);
     if (0.02 >= Utility.RandomDouble())
     {
         SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
     }
 }
コード例 #9
0
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Average, 2);
            AddLoot(LootPack.Gems, 2);

            if (0.06 > Utility.RandomDouble())  // 6 percent
            {
                SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
            }
        }
コード例 #10
0
ファイル: Semidar.cs プロジェクト: zerodowned/UO-Forever
        public override void GenerateLoot()
        {
            AddLoot(LootPack.UltraRich, 4);
            AddLoot(LootPack.FilthyRich);

            var scroll = new SkillScroll();

            scroll.Randomize();
            PackItem(scroll);
        }
コード例 #11
0
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Rich);
            AddLoot(LootPack.MedScrolls, 2);

            if (0.04 > Utility.RandomDouble())      // 2 percent - multipy number x 100 to get percent
            {
                SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
            }
        }
コード例 #12
0
ファイル: BurningImp.cs プロジェクト: zerodowned/UO-Forever
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Meager, 3);
            AddLoot(LootPack.MedScrolls, 2);

            if (0.0025 > Utility.RandomDouble()) // 6% chance
            {
                SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
            }
        }
コード例 #13
0
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Poor, Utility.Random(1, 1));
            AddLoot(LootPack.Meager);

            if (0.02 >= Utility.RandomDouble())
            {
                SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
            }
        }
コード例 #14
0
        public override void GenerateLoot()
        {
            AddLoot(LootPack.FilthyRich, 8);

            if (0.08 > Utility.RandomDouble()) // 2 percent - multiply number x 100 to get percent
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                PackItem(scroll);
            }
        }
コード例 #15
0
ファイル: OrcishMage.cs プロジェクト: zerodowned/UO-Forever
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Average);
            AddLoot(LootPack.LowScrolls);

            if (0.02 >= Utility.RandomDouble())
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                PackItem(scroll);
            }
        }
コード例 #16
0
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Rich);
            AddLoot(LootPack.Average, 2);
            AddLoot(LootPack.MedScrolls, 2);
            AddLoot(LootPack.Potions);

            if (0.04 > Utility.RandomDouble())       // 4% chance
            {
                SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
            }
        }
コード例 #17
0
        public override void GenerateLoot()
        {
            AddLoot(LootPack.FilthyRich, 2);
            AddLoot(LootPack.Rich, 2);
            AddLoot(LootPack.Average, 2);
            AddLoot(LootPack.HighScrolls);
            AddLoot(LootPack.Gems, 5);

            if (0.10 >= Utility.RandomDouble())
            {
                SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
            }
        }
コード例 #18
0
        public OgreMage() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Hue         = 1502;
            Body        = 83;
            BaseSoundID = 427;

            Alignment = Alignment.Giantkin;

            SetStr(945, 1023);
            SetDex(66, 75);
            SetInt(536, 675);

            SetHits(670, 792);

            SetDamage(25, 32);


            SetSkill(SkillName.MagicResist, 125.1, 140.0);
            SetSkill(SkillName.Tactics, 90.1, 100.0);
            SetSkill(SkillName.Wrestling, 90.1, 100.0);

            SetSkill(SkillName.Magery, 90.1, 110.0);

            SetSkill(SkillName.EvalInt, 90.1, 100.0);
            SetSkill(SkillName.Meditation, 90.1, 110.0);


            Fame  = 15000;
            Karma = -15000;

            VirtualArmor = 75;

            var weapon = new Club();

            weapon.DamageLevel     = (WeaponDamageLevel)Utility.Random(1, 5);
            weapon.DurabilityLevel = (WeaponDurabilityLevel)Utility.Random(0, 5);
            weapon.AccuracyLevel   = (WeaponAccuracyLevel)Utility.Random(0, 5);

            PackItem(weapon);

            PackArmor(0, 5);
            PackWeapon(0, 5);
            PackGold(1100, 1400);

            if (0.04 > Utility.RandomDouble()) // 2 percent - multipy number x 100 to get percent
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                PackItem(scroll);
            }
        }
コード例 #19
0
ファイル: OgreChamp.cs プロジェクト: zerodowned/UO-Forever
 public override void GenerateLoot()
 {
     AddLoot(LootPack.Rich, 9);
     if (0.02 >= Utility.RandomDouble())
     {
         SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
     }
     AddPackedLoot(LootPack.RichProvisions, typeof(Pouch));
     AddPackedLoot(LootPack.MeagerProvisions, typeof(Bag));
     if (0.5 > Utility.RandomDouble())
     {
         AddPackedLoot(LootPack.AverageProvisions, typeof(Backpack));
     }
 }
コード例 #20
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            if (info.ButtonID != 0)
            {
                _from.CloseGump(_gumpToClose.GetType());

                SkillScroll scroll = new SkillScroll();
                _from.AddToBackpack(scroll);
            }
            else
            {
                _from.SendGump(_gumpToClose);
            }
        }
コード例 #21
0
        public override bool OnBeforeDeath()
        {
            if (1.00 > Utility.RandomDouble())
            {
                PackItem(new Gold(Utility.RandomMinMax(700, 1100)));
            }

            if (0.06 > Utility.RandomDouble()) // 2 percent - multipy number x 100 to get percent
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                PackItem(scroll);
            }
            return(base.OnBeforeDeath());
        }
コード例 #22
0
ファイル: Titan.cs プロジェクト: zerodowned/UO-Forever
        public override void GenerateLoot()
        {
            AddLoot(LootPack.FilthyRich);
            AddLoot(LootPack.Average);
            AddLoot(LootPack.MedScrolls);
            AddPackedLoot(LootPack.AverageProvisions, typeof(Bag));
            AddPackedLoot(LootPack.RichProvisions, typeof(Pouch));

            if (0.08 > Utility.RandomDouble()) // 2 percent - multipy number x 100 to get percent
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                PackItem(scroll);
            }
        }
コード例 #23
0
ファイル: crippledking.cs プロジェクト: zerodowned/UO-Forever
        public override void OnDeath(Container c)
        {
            var scroll = new SkillScroll();

            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            c.DropItem(new TitleScroll("The Kingslayer"));

            if (0.01 > Utility.RandomDouble())
            {
                c.DropItem(new FullSpellbook()
                {
                    Name = "abyssal spellbook", LootType = LootType.Regular, Hue = 2065
                });
            }

            if (0.01 > Utility.RandomDouble())
            {
                c.DropItem(new HueScroll(2049));
            }
            if (IsQuest)
            {
                c.DropItem(new HueScroll(2049));
            }

            base.OnDeath(c);
        }
コード例 #24
0
ファイル: OrcMiner.cs プロジェクト: zerodowned/UO-Forever
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Average, 2);
            if (Utility.Random(250) == 0)
            {
                PackItem(new OrcishPickaxe());
            }
            else
            {
                PackItem(new Shovel());
            }

            if (0.02 >= Utility.RandomDouble())
            {
                SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
            }
        }
コード例 #25
0
        public override bool OnBeforeDeath()
        {
            AddLoot(LootPack.FilthyRich, 2);
            AddLoot(LootPack.Rich, 2);
            AddLoot(LootPack.Average, 2);
            AddLoot(LootPack.Gems, 5);

            PackItem(new Gold(1400, 1900));

            if (0.05 >= Utility.RandomDouble())
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                PackItem(scroll);
            }

            if (0.1 >= Utility.RandomDouble())
            {
                PackItem(new CultistPaint());
            }

            if (0.01 > Utility.RandomDouble())
            {
                int ItemID = 0;
                switch (Utility.Random(7))
                {
                case 0: ItemID = 7026; break;

                case 1: ItemID = 5102; break;

                case 2: ItemID = 5104; break;

                case 3: ItemID = 5099; break;

                case 4: ItemID = 5100; break;

                case 5: ItemID = 5134; break;

                case 6: ItemID = 5139; break;
                }
                PackItem(new AncientArmorNew(ItemID));
            }

            return(true);
        }
コード例 #26
0
ファイル: Hydra.cs プロジェクト: zerodowned/UO-Forever
        public override void OnDeath(Container c)
        {
            _FireBreathTimer.Stop();
            _WaterBreathTimer.Stop();

            InvalidateHue();

            foreach (BloodoftheHydra target in _Bloods.ToArray())
            {
                target.Kill();
            }

            _Bloods.Clear();

            var scroll = new SkillScroll();

            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            if (_Moongate != null && !_Moongate.Deleted)
            {
                _Moongate.Delete();
            }

            if (GlobalTownCrierEntryList.Instance.Entries != null)
            {
                GlobalTownCrierEntryList.Instance.Entries.Clear();
            }

            base.OnDeath(c);
        }
コード例 #27
0
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Rich, 3);
            AddLoot(LootPack.MedScrolls, 2);
            if (0.02 >= Utility.RandomDouble())
            {
                SkillScroll scroll = new SkillScroll(); scroll.Randomize(); PackItem(scroll);
            }

            if (0.002 > Utility.RandomDouble())              // 2 percent - multipy number x 100 to get percent

            {
                switch (Utility.Random(2))
                { // rolls and number it gives it a case. if the number is , say , 3 it will pack that item
                case 0: PackItem(new BlackDyeTub()); break;

                case 1: PackItem(new Sandals(1175)); break;
                }
            }
        }
コード例 #28
0
        public override bool OnBeforeDeath()
        {
            AddLoot(LootPack.FilthyRich, 3);
            AddLoot(LootPack.Rich, 3);
            AddLoot(LootPack.MedScrolls, 3);
            AddLoot(LootPack.HighScrolls, 2);
            PackItem(new Gold(1400, 1800));

            if (0.05 >= Utility.RandomDouble())
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                PackItem(scroll);
            }
            if (0.05 >= Utility.RandomDouble())
            {
                PackItem(new BoneContainer());
            }
            return(base.OnBeforeDeath());
        }
コード例 #29
0
        public override void GenerateLoot()
        {
            if (0.75 > Utility.RandomDouble())
            {
                AddLoot(LootPack.Meager);
                AddLoot(LootPack.Average, 2);
            }
            else
            {
                AddLoot(LootPack.Average, 2);
                AddLoot(LootPack.Rich);
            }

            // TODO: evil orc helm
            if (0.05 > Utility.RandomDouble())
            {
                PackItem(new EvilOrcHelm());
            }

            int random = Utility.Random(250);

            if (random == 0)
            {
                PackItem(new OrcishPickaxe());
            }
            else if (random < 10)
            {
                PackItem(new SturdyPickaxe());
            }
            else
            {
                PackItem(new Shovel());
            }

            if (0.02 >= Utility.RandomDouble())
            {
                var scroll = new SkillScroll();
                scroll.Randomize();
                PackItem(scroll);
            }
        }
コード例 #30
0
        public override void OnDeath(Container c)
        {
            var scroll = new SkillScroll();

            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            scroll = new SkillScroll();
            scroll.Randomize();
            c.DropItem(scroll);

            if (IsQuest)
            {
                c.DropItem(new BannerOfTrinsicDeed()
                {
                    Weight = 20
                });
            }

            base.OnDeath(c);
        }