Beispiel #1
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);
            GhostlyDust ingut = new GhostlyDust();

            ingut.Amount = Utility.RandomMinMax(1, 3);
            c.DropItem(ingut);

            Mobile killer = this.LastKiller;

            if (killer != null)
            {
                if (killer is BaseCreature)
                {
                    killer = ((BaseCreature)killer).GetMaster();
                }

                if (killer is PlayerMobile)
                {
                    if (GetPlayerInfo.LuckyKiller(killer.Luck) && Utility.RandomMinMax(1, 5) == 1 && !Server.Items.CharacterDatabase.GetSpecialsKilled(killer, "LichKing"))
                    {
                        Server.Items.CharacterDatabase.SetSpecialsKilled(killer, "LichKing");
                        ManualOfItems book = new ManualOfItems();
                        book.Hue        = 0x845;
                        book.Name       = "Tome of Lich King Relics";
                        book.m_Charges  = 1;
                        book.m_Skill_1  = 99;
                        book.m_Skill_2  = 0;
                        book.m_Skill_3  = 0;
                        book.m_Skill_4  = 0;
                        book.m_Skill_5  = 0;
                        book.m_Value_1  = 20.0;
                        book.m_Value_2  = 0.0;
                        book.m_Value_3  = 0.0;
                        book.m_Value_4  = 0.0;
                        book.m_Value_5  = 0.0;
                        book.m_Slayer_1 = 6;
                        book.m_Slayer_2 = 0;
                        book.m_Owner    = null;
                        book.m_Extra    = "of the Lich King";
                        book.m_FromWho  = "Taken from the King of the Dead";
                        book.m_HowGiven = "Acquired by";
                        book.m_Points   = 150;
                        book.m_Hue      = 0x845;
                        c.DropItem(book);
                    }

                    if (GetPlayerInfo.LuckyKiller(killer.Luck) && Server.Misc.IntelligentAction.FameBasedEvent(this))
                    {
                        LootChest MyChest = new LootChest(Server.Misc.IntelligentAction.FameBasedLevel(this));
                        Server.Misc.ContainerFunctions.MakeTomb(MyChest, this, 1);
                        c.DropItem(MyChest);
                    }
                }
            }
        }
Beispiel #2
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);
            GhostlyDust ingut = new GhostlyDust();

            ingut.Amount = Utility.RandomMinMax(1, 3);
            c.DropItem(ingut);

            ArrayList targets = new ArrayList();

            foreach (Item item in World.Items.Values)
            {
                if (item is StaffPartLight)
                {
                    targets.Add(item);
                }
            }
            for (int i = 0; i < targets.Count; ++i)
            {
                Item item = ( Item )targets[i];
                item.Delete();
            }

            c.DropItem(new StaffPartLight());

            Mobile killer = this.LastKiller;

            if (killer != null)
            {
                if (killer is BaseCreature)
                {
                    killer = ((BaseCreature)killer).GetMaster();
                }

                if (killer is PlayerMobile)
                {
                    if (GetPlayerInfo.LuckyKiller(killer.Luck) && Server.Misc.IntelligentAction.FameBasedEvent(this))
                    {
                        LootChest MyChest = new LootChest(Server.Misc.IntelligentAction.FameBasedLevel(this));
                        Server.Misc.ContainerFunctions.MakeTomb(MyChest, this, 0);
                        c.DropItem(MyChest);
                    }
                }
            }
        }
Beispiel #3
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);
            GhostlyDust ingut = new GhostlyDust();

            ingut.Amount = Utility.RandomMinMax(1, 2);
            c.DropItem(ingut);

            if (1 == Utility.RandomMinMax(0, 1))
            {
                switch (Utility.RandomMinMax(0, 8))
                {
                case 0: Item relic1 = new MagicTalisman(); MorphingItem.MorphMyItem(relic1, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic1); break;

                case 1: Item relic2 = new MagicRobe(); relic2.ItemID = 0x1F03; relic2.Name = "robe"; MorphingItem.MorphMyItem(relic2, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic2); break;

                case 2: Item relic3 = new MagicHat(); relic3.ItemID = 5912; relic3.Name = "hat"; MorphingItem.MorphMyItem(relic3, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic3); break;

                case 3: Item relic4 = new MagicCloak(); relic4.ItemID = 0x1515; relic4.Name = "cloak"; MorphingItem.MorphMyItem(relic4, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic4); break;

                case 4: Item relic5 = new MagicBoots(); relic5.ItemID = 0x170B; relic5.Name = "boots"; MorphingItem.MorphMyItem(relic5, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic5); break;

                case 5: Item relic6 = new MagicBelt(); relic6.ItemID = 0x2790; relic6.Name = "belt"; MorphingItem.MorphMyItem(relic6, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic6); break;

                case 6: Item relic7 = new SilverRing(); relic7.Name = "ring"; MorphingItem.MorphMyItem(relic7, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic7); break;

                case 7: Item relic8 = new Necklace(); relic8.Name = "amulet"; MorphingItem.MorphMyItem(relic8, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic8); break;

                case 8: Item relic9 = new Dagger(); relic9.Name = "sacrificial dagger"; MorphingItem.MorphMyItem(relic9, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("weapons")); c.DropItem(relic9); break;
                }
            }

            Mobile killer = this.LastKiller;

            if (killer != null)
            {
                if (killer is BaseCreature)
                {
                    killer = ((BaseCreature)killer).GetMaster();
                }

                if (killer is PlayerMobile)
                {
                    Party p = Engines.PartySystem.Party.Get(killer);
                    if (p != null)
                    {
                        foreach (PartyMemberInfo pmi in p.Members)
                        {
                            if (pmi.Mobile is PlayerMobile && pmi.Mobile.InRange(this.Location, 20) && pmi.Mobile.Map == this.Map)
                            {
                                pmi.Mobile.AddToBackpack(new VordoScroll());
                                pmi.Mobile.SendMessage("An item has appeared in your backpack!");
                            }
                        }
                    }
                    else
                    {
                        killer.AddToBackpack(new VordoScroll());
                        killer.SendMessage("An item has appeared in your backpack!");
                    }
                }
            }
        }