示例#1
0
        public void OnTarget(Mobile from, object obj)
        {
            if (!(obj is AlchemyVial))
            {
                from.SendMessage("Chauffer cette solution ne vous servira à rien");
                return;
            }

            AlchemyVial vial = (AlchemyVial)obj;

            if (vial.AlchemyLiquidType == LiquidType.None)
            {
                from.SendMessage("Votre fiole est vide");
                return;
            }

            if (vial.AlchemyLiquidType != LiquidType.ChangelingBlood)
            {
                from.SendMessage("Il ne servirait à rien de tenter de faire chauffer cette éprouvette");
                return;
            }

            if (!from.CheckSkill(SkillName.Alchemy, 20, 90))
            {
                from.SendMessage("L'éprouvette explose!");
                from.Hits -= 5;
                return;
            }

            from.SendMessage("Le liquide bout et se transforme. Vous le versez lentement dans une autre éprouvette");
            vial.Consume();
            from.AddToBackpack(new MorphBase());
        }
示例#2
0
        public void AddVial(AlchemyVial vial)
        {
            int index = (int)vial.AlchemyLiquidType;

            if (index >= VialTypes.Length)
            {
                return;
            }

            VialTypes[index]++;
        }
示例#3
0
        public void OnTarget(Mobile from, object obj)
        {
            if (!(obj is AlchemyVial))
            {
                from.SendMessage("Cela ne servira à rien");
                return;
            }

            AlchemyVial targ = (AlchemyVial)obj;

            if (targ.AlchemyLiquidType != LiquidType.OgreBlood && targ.AlchemyLiquidType != LiquidType.OrcBlood && targ.AlchemyLiquidType != LiquidType.TrollBlood)
            {
                from.SendMessage("Vous versez le sang, mais rien ne se passe");
                targ.AlchemyLiquidType = LiquidType.None;
                return;
            }

            if (!from.CheckTargetSkill(SkillName.Alchemy, targ, 50, 95))
            {
                from.SendMessage("Vous versez le sang, mais échouez à faire tomber les gravats");
                targ.AlchemyLiquidType = LiquidType.None;
                return;
            }

            int rarete = 0;

            switch (Resource)
            {
            case CraftResource.BlackScales: rarete = 2; break;

            case CraftResource.WhiteScales: rarete = 3; break;

            case CraftResource.GreenScales: rarete = 4; break;

            case CraftResource.BlueScales: rarete = 4; break;

            default: rarete = 6; break;
            }
            if (this.Amount >= rarete)
            {
                from.SendMessage("Vous recueillez des gravats");
                this.m_Harvested = true;
                DragonOre ore = new DragonOre();
                ore.ItemID = 0x19B8;
                ore.Amount = (int)Math.Floor(this.Amount / (double)rarete);
                from.AddToBackpack(ore);
                targ.AlchemyLiquidType = LiquidType.None;
            }
            else
            {
                from.SendMessage("Il n'y en a malheureusement pas assez pour constituer des gravats convenables");
            }
        }
示例#4
0
        public void AddVial(AlchemyVial vial)
        {
            int index = (int)vial.AlchemyLiquidType;

            if (index >= VialTypes.Length)
                return;

            VialTypes[index]++;
        }
示例#5
0
        public void OnTarget(Mobile from, object obj)
        {
            if (!(obj is Corpse))
            {
                from.SendMessage("Il vous faut trouver autre chose pour la remplir");
                return;
            }

            Corpse targcorpse = (Corpse)obj;

            if (targcorpse.Channeled)
            {
                from.SendMessage("Vous ne pouvez récolter que sur un corps frais");
                return;
            }

            Type type = null;

            if (targcorpse.Owner != null)
            {
                type = targcorpse.Owner.GetType();
            }

            AlchemyVial vial = new AlchemyVial();

            #region Check des différents corps
            // Ogre Trashing
            if (type == typeof(Ogre) || type == typeof(OgreLord) || type == typeof(ArcticOgreLord))
            {
                from.SendMessage("Vous recueillez du sang d'ogre");
                vial.AlchemyLiquidType = LiquidType.OgreBlood;
            }
            //Orc Slaying
            else if (type == typeof(Orc) || type == typeof(OrcBomber) || type == typeof(OrcBrute) || type == typeof(OrcCaptain) || type == typeof(OrcScout) || type == typeof(OrcishLord) || type == typeof(OrcishMage))
            {
                from.SendMessage("Vous recueillez du sang d'orc");
                vial.AlchemyLiquidType = LiquidType.OrcBlood;
            }
            //Troll Slaughter
            else if (type == typeof(Troll) || type == typeof(FrostTroll))
            {
                from.SendMessage("Vous recueillez du sang de troll");
                vial.AlchemyLiquidType = LiquidType.TrollBlood;
            }
            //Blood Drinking
            else if (type == typeof(BloodElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de sang");
                vial.AlchemyLiquidType = LiquidType.BloodElemental;
            }
            //Earth Shatter
            else if (type == typeof(AgapiteElemental) || type == typeof(BronzeElemental) || type == typeof(CopperElemental) || type == typeof(DullCopperElemental) || type == typeof(EarthElemental) || type == typeof(GoldenElemental) || type == typeof(ShadowIronElemental) || type == typeof(ValoriteElemental) || type == typeof(VeriteElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de terre");
                vial.AlchemyLiquidType = LiquidType.EarthElemental;
            }
            //Elemental Health
            else if (type == typeof(PoisonElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de poison");
                vial.AlchemyLiquidType = LiquidType.PoisonElemental;
            }
            //Flame Dousing
            else if (type == typeof(FireElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de feu");
                vial.AlchemyLiquidType = LiquidType.FireElemental;
            }
            //Summer Wind
            else if (type == typeof(SnowElemental) || type == typeof(IceElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de glace");
                vial.AlchemyLiquidType = LiquidType.IceElemental;
            }
            //Vacuum
            else if (type == typeof(AirElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de vent");
                vial.AlchemyLiquidType = LiquidType.AirElemental;
            }
            //Water Dissipation
            else if (type == typeof(WaterElemental))
            {
                from.SendMessage("Vous recueillez de l'élément d'eau");
                vial.AlchemyLiquidType = LiquidType.WaterElemental;
            }
            //Gargoyle Foes
            else if (type == typeof(EnslavedGargoyle) || type == typeof(FireGargoyle) || type == typeof(Gargoyle) || type == typeof(GargoyleDestroyer) || type == typeof(GargoyleEnforcer) || type == typeof(StoneGargoyle))
            {
                from.SendMessage("Vous recueillez du sang de gargouille");
                vial.AlchemyLiquidType = LiquidType.GargoyleBlood;
            }
            //Scorpions Bane
            else if (type == typeof(Scorpion))
            {
                from.SendMessage("Vous recueillez du sang de scorpion");
                vial.AlchemyLiquidType = LiquidType.ScorpionBlood;
            }
            //Spiders Death
            else if (type == typeof(DreadSpider) || type == typeof(FrostSpider) || type == typeof(GiantBlackWidow) || type == typeof(GiantSpider) || type == typeof(Mephitis))
            {
                from.SendMessage("Vous recueillez du sang d'araignée");
                vial.AlchemyLiquidType = LiquidType.SpiderBlood;
            }
            //Terathan Avenger
            else if (type == typeof(TerathanAvenger) || type == typeof(TerathanDrone) || type == typeof(TerathanMatriarch) || type == typeof(TerathanWarrior))
            {
                from.SendMessage("Vous recueillez du sang de Terathan");
                vial.AlchemyLiquidType = LiquidType.TerathanBlood;
            }
            //Dragon Slayer
            else if (type == typeof(AncientWyrm) || type == typeof(GreaterDragon) || type == typeof(Dragon) || type == typeof(Drake) || type == typeof(Hiryu) || type == typeof(LesserHiryu) || type == typeof(SerpentineDragon) || type == typeof(ShadowWyrm) || type == typeof(SkeletalDragon) || type == typeof(SwampDragon) || type == typeof(WhiteWyrm) || type == typeof(Wyvern))
            {
                from.SendMessage("Vous recueillez du sang de dragon");
                vial.AlchemyLiquidType = LiquidType.DragonBlood;
            }
            //Lizardman Slaughter
            else if (type == typeof(Lizardman))
            {
                from.SendMessage("Vous recueillez du sang d'homme lézard");
                vial.AlchemyLiquidType = LiquidType.LizardmanBlood;
            }
            //Ophidian
            else if (type == typeof(OphidianArchmage) || type == typeof(OphidianKnight) || type == typeof(OphidianMage) || type == typeof(OphidianMatriarch) || type == typeof(OphidianWarrior))
            {
                from.SendMessage("Vous recueillez du sang d'ophidien");
                vial.AlchemyLiquidType = LiquidType.OphidianBlood;
            }
            //Snakes Bane
            else if (type == typeof(DeepSeaSerpent) || type == typeof(GiantIceWorm) || type == typeof(GiantSerpent) || type == typeof(IceSerpent) || type == typeof(IceSnake) || type == typeof(LavaSerpent) || type == typeof(LavaSnake) || type == typeof(SeaSerpent) || type == typeof(Serado) || type == typeof(SilverSerpent) || type == typeof(Snake) || type == typeof(Yamandon))
            {
                from.SendMessage("Vous recueillez du sang de serpent");
                vial.AlchemyLiquidType = LiquidType.SerpentBlood;
            }
            else if (type == typeof(AncientLich) || type == typeof(DarknightCreeper) || type == typeof(FleshGolem) || type == typeof(LadyOfTheSnow) || type == typeof(Lich) || type == typeof(LichLord) || type == typeof(Mummy) || type == typeof(PestilentBandage) || type == typeof(RevenantLion) || type == typeof(RottingCorpse) || type == typeof(ShadowKnight))
            {
                from.SendMessage("Vous recueillez du sang de mort-vivant");
                vial.AlchemyLiquidType = LiquidType.UndeadBlood;
            }
            else if (type == typeof(Centaur) || type == typeof(EtherealWarrior) || type == typeof(Kirin) || type == typeof(LordOaks) || type == typeof(Silvani) || type == typeof(Treefellow) || type == typeof(Unicorn) || type == typeof(MLDryad) || type == typeof(Satyr))
            {
                from.SendMessage("Vous recueillez du sang féérique");
                vial.AlchemyLiquidType = LiquidType.FairyBlood;
            }
            else if (type == typeof(AbysmalHorror) || type == typeof(ArcaneDaemon) || type == typeof(Balron) || type == typeof(BoneDemon) || type == typeof(ChaosDaemon) || type == typeof(Daemon) || type == typeof(DemonKnight) || type == typeof(Devourer) || type == typeof(FanDancer) || type == typeof(Gibberling) || type == typeof(IceFiend) || type == typeof(Impaler) || type == typeof(Oni) || type == typeof(Ravager) || type == typeof(Semidar) || type == typeof(Succubus) || type == typeof(TsukiWolf))
            {
                from.SendMessage("Vous recueillez du sang démoniaque");
                vial.AlchemyLiquidType = LiquidType.DaemonBlood;
            }
            //Potion de changement de sexe
            else if (type == typeof(Changeling))
            {
                from.SendMessage("Vous recueillez du sang de changeling");
                vial.AlchemyLiquidType = LiquidType.ChangelingBlood;
            }
            else
            {
                from.SendMessage("Cela ne vous servira à rien");
                return;
            }
            #endregion

            from.AddItem(vial);
            Consume();
            targcorpse.Channeled = true;
        }
示例#6
0
        public void OnTarget(Mobile from, object obj)
        {
            if (!(obj is Corpse))
            {
                from.SendMessage("Il vous faut trouver autre chose pour la remplir");
                return;
            }

            Corpse targcorpse = (Corpse)obj;

            if (targcorpse.Channeled)
            {
                from.SendMessage("Vous ne pouvez récolter que sur un corps frais");
                return;
            }

            Type type = null;

            if (targcorpse.Owner != null)
                type = targcorpse.Owner.GetType();

            AlchemyVial vial = new AlchemyVial();

            #region Check des différents corps
            // Ogre Trashing 
            if (type == typeof(Ogre) || type == typeof(OgreLord) || type == typeof(ArcticOgreLord))
            {
                from.SendMessage("Vous recueillez du sang d'ogre");
                vial.AlchemyLiquidType = LiquidType.OgreBlood;
            }
            //Orc Slaying 
            else if (type == typeof(Orc) || type == typeof(OrcBomber) || type == typeof(OrcBrute) || type == typeof(OrcCaptain) || type == typeof(OrcScout) || type == typeof(OrcishLord) || type == typeof(OrcishMage))
            {
                from.SendMessage("Vous recueillez du sang d'orc");
                vial.AlchemyLiquidType = LiquidType.OrcBlood;
            }
            //Troll Slaughter 
            else if (type == typeof(Troll) || type == typeof(FrostTroll))
            {
                from.SendMessage("Vous recueillez du sang de troll");
                vial.AlchemyLiquidType = LiquidType.TrollBlood;
            }
            //Blood Drinking
            else if (type == typeof(BloodElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de sang");
                vial.AlchemyLiquidType = LiquidType.BloodElemental;
            }
            //Earth Shatter
            else if (type == typeof(AgapiteElemental) || type == typeof(BronzeElemental) || type == typeof(CopperElemental) || type == typeof(DullCopperElemental) || type == typeof(EarthElemental) || type == typeof(GoldenElemental) || type == typeof(ShadowIronElemental) || type == typeof(ValoriteElemental) || type == typeof(VeriteElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de terre");
                vial.AlchemyLiquidType = LiquidType.EarthElemental;
            }
            //Elemental Health
            else if (type == typeof(PoisonElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de poison");
                vial.AlchemyLiquidType = LiquidType.PoisonElemental;
            }
            //Flame Dousing
            else if (type == typeof(FireElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de feu");
                vial.AlchemyLiquidType = LiquidType.FireElemental;
            }
            //Summer Wind
            else if (type == typeof(SnowElemental) || type == typeof(IceElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de glace");
                vial.AlchemyLiquidType = LiquidType.IceElemental;
            }
            //Vacuum
            else if (type == typeof(AirElemental))
            {
                from.SendMessage("Vous recueillez de l'élément de vent");
                vial.AlchemyLiquidType = LiquidType.AirElemental;
            }
            //Water Dissipation
            else if (type == typeof(WaterElemental))
            {
                from.SendMessage("Vous recueillez de l'élément d'eau");
                vial.AlchemyLiquidType = LiquidType.WaterElemental;
            }
            //Gargoyle Foes
            else if (type == typeof(EnslavedGargoyle) || type == typeof(FireGargoyle) || type == typeof(Gargoyle) || type == typeof(GargoyleDestroyer) || type == typeof(GargoyleEnforcer) || type == typeof(StoneGargoyle))
            {
                from.SendMessage("Vous recueillez du sang de gargouille");
                vial.AlchemyLiquidType = LiquidType.GargoyleBlood;
            }
            //Scorpions Bane
            else if (type == typeof(Scorpion))
            {
                from.SendMessage("Vous recueillez du sang de scorpion");
                vial.AlchemyLiquidType = LiquidType.ScorpionBlood;
            }
            //Spiders Death
            else if (type == typeof(DreadSpider) || type == typeof(FrostSpider) || type == typeof(GiantBlackWidow) || type == typeof(GiantSpider) || type == typeof(Mephitis))
            {
                from.SendMessage("Vous recueillez du sang d'araignée");
                vial.AlchemyLiquidType = LiquidType.SpiderBlood;
            }
            //Terathan Avenger
            else if (type == typeof(TerathanAvenger) || type == typeof(TerathanDrone) || type == typeof(TerathanMatriarch) || type == typeof(TerathanWarrior))
            {
                from.SendMessage("Vous recueillez du sang de Terathan");
                vial.AlchemyLiquidType = LiquidType.TerathanBlood;
            }
            //Dragon Slayer
            else if (type == typeof(AncientWyrm) || type == typeof(GreaterDragon) || type == typeof(Dragon) || type == typeof(Drake) || type == typeof(Hiryu) || type == typeof(LesserHiryu) || type == typeof(SerpentineDragon) || type == typeof(ShadowWyrm) || type == typeof(SkeletalDragon) || type == typeof(SwampDragon) || type == typeof(WhiteWyrm) || type == typeof(Wyvern))
            {
                from.SendMessage("Vous recueillez du sang de dragon");
                vial.AlchemyLiquidType = LiquidType.DragonBlood;
            }
            //Lizardman Slaughter
            else if (type == typeof(Lizardman))
            {
                from.SendMessage("Vous recueillez du sang d'homme lézard");
                vial.AlchemyLiquidType = LiquidType.LizardmanBlood;
            }
            //Ophidian
            else if (type == typeof(OphidianArchmage) || type == typeof(OphidianKnight) || type == typeof(OphidianMage) || type == typeof(OphidianMatriarch) || type == typeof(OphidianWarrior))
            {
                from.SendMessage("Vous recueillez du sang d'ophidien");
                vial.AlchemyLiquidType = LiquidType.OphidianBlood;
            }
            //Snakes Bane
            else if (type == typeof(DeepSeaSerpent) || type == typeof(GiantIceWorm) || type == typeof(GiantSerpent) || type == typeof(IceSerpent) || type == typeof(IceSnake) || type == typeof(LavaSerpent) || type == typeof(LavaSnake) || type == typeof(SeaSerpent) || type == typeof(Serado) || type == typeof(SilverSerpent) || type == typeof(Snake) || type == typeof(Yamandon))
            {
                from.SendMessage("Vous recueillez du sang de serpent");
                vial.AlchemyLiquidType = LiquidType.SerpentBlood;
            }
            else if (type == typeof(AncientLich) || type == typeof(DarknightCreeper) || type == typeof(FleshGolem) || type == typeof(LadyOfTheSnow) || type == typeof(Lich) || type == typeof(LichLord) || type == typeof(Mummy) || type == typeof(PestilentBandage) || type == typeof(RevenantLion) || type == typeof(RottingCorpse) || type == typeof(ShadowKnight))
            {
                from.SendMessage("Vous recueillez du sang de mort-vivant");
                vial.AlchemyLiquidType = LiquidType.UndeadBlood;
            }
            else if (type == typeof(Centaur) || type == typeof(EtherealWarrior) || type == typeof(Kirin) || type == typeof(LordOaks) || type == typeof(Silvani) || type == typeof(Treefellow) || type == typeof(Unicorn) || type == typeof(MLDryad) || type == typeof(Satyr))
            {
                from.SendMessage("Vous recueillez du sang féérique");
                vial.AlchemyLiquidType = LiquidType.FairyBlood;
            }
            else if (type == typeof(AbysmalHorror) || type == typeof(ArcaneDaemon) || type == typeof(Balron) || type == typeof(BoneDemon) || type == typeof(ChaosDaemon) || type == typeof(Daemon) || type == typeof(DemonKnight) || type == typeof(Devourer) || type == typeof(FanDancer) || type == typeof(Gibberling) || type == typeof(IceFiend) || type == typeof(Impaler) || type == typeof(Oni) || type == typeof(Ravager) || type == typeof(Semidar) || type == typeof(Succubus) || type == typeof(TsukiWolf))
            {
                from.SendMessage("Vous recueillez du sang démoniaque");
                vial.AlchemyLiquidType = LiquidType.DaemonBlood;
            }
            //Potion de changement de sexe
            else if (type == typeof(Changeling))
            {
                from.SendMessage("Vous recueillez du sang de changeling");
                vial.AlchemyLiquidType = LiquidType.ChangelingBlood;
            }
            else
            {
                from.SendMessage("Cela ne vous servira à rien");
                return;
            }
            #endregion

            from.AddItem(vial);
            Consume();
            targcorpse.Channeled = true;
        }