예제 #1
0
        public override void UOACZCarve(Mobile from, Corpse corpse)
        {
            base.UOACZCarve(from, corpse);

            if (Corrupted)
            {
                corpse.DropItem(new UOACZCorruptedRawMeatShank());
            }

            else
            {
                corpse.DropItem(new UOACZRawMeatShank());

                if (Utility.RandomDouble() <= .5)
                {
                    corpse.DropItem(new UOACZRawCutsOfMeat());
                }
            }

            if (Utility.RandomDouble() <= .1)
            {
                corpse.DropItem(new UOACZIntestines());
            }

            corpse.DropItem(new Leather(4));
        }
        public virtual void DropResources(Mobile from, double meatbonus, Corpse corpse)
        {
            bool CanUse = from.CheckSkill(SkillName.Anatomy, 30, 70);

            if (meatbonus < 1)
            {
                from.SendMessage("Nothing but grisle!");
            }
            if (meatbonus > 0)
            {
                corpse.DropItem(new RawVenisonSteak(2));
            }
            if (meatbonus > 1 && CanUse)
            {
                corpse.DropItem(new RawVenisonRoast(2));
            }
            if (meatbonus > 2)
            {
                corpse.DropItem(new RawVenisonSteak(4));
            }
            if (meatbonus > 3 && CanUse)
            {
                corpse.DropItem(new RawVenisonRoast(2));
            }
        }
예제 #3
0
        public override void UOACZCarve(Mobile from, Corpse corpse)
        {
            base.UOACZCarve(from, corpse);

            if (Corrupted)
            {
                corpse.DropItem(new UOACZCorruptedRawDrumstick());
            }

            else
            {
                corpse.DropItem(new UOACZRawBird());

                if (Utility.RandomDouble() <= .33)
                {
                    corpse.DropItem(new UOACZRawDrumstick());
                }
            }

            if (Utility.RandomDouble() <= .1)
            {
                corpse.DropItem(new UOACZIntestines());
            }

            corpse.DropItem(new Feather(75));
        }
예제 #4
0
파일: Medusa.cs 프로젝트: bsenyuva/ServUO
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            int amount = Utility.Random(5) + 1;

            corpse.DropItem(new MedusaLightScales(amount));

            if (0.20 > Utility.RandomDouble())
            {
                corpse.DropItem(new MedusaBlood());
            }

            base.OnCarve(from, corpse, with);
        }
예제 #5
0
        public virtual void DropResources(Mobile from, double meatbonus, Corpse corpse)
        {
            bool CanUse = from.CheckSkill(SkillName.Anatomy, 30, 70);

            if (meatbonus < 1)
            {
                from.SendMessage("Nothing but grisle!");
            }
            if (meatbonus > 0 && CanUse)
            {
                corpse.DropItem(new RawBeefRoast(2));
            }
            if (meatbonus > 1)
            {
                corpse.DropItem(new RawBeefSirloin(4));
            }
            if (meatbonus > 2)
            {
                corpse.DropItem(new RawBeefRibs(2));
            }
            if (meatbonus > 3 && CanUse)
            {
                corpse.DropItem(new RawBeefTBone(2));
            }
            if (meatbonus > 4)
            {
                corpse.DropItem(new RawBeefTenderloin(2));
            }
            if (meatbonus > 5)
            {
                corpse.DropItem(new RawBeefRibeye(2));
            }
            if (meatbonus > 6 && CanUse)
            {
                corpse.DropItem(new RawBeefPrimeRib(2));
            }
            if (meatbonus > 7 && CanUse)
            {
                corpse.DropItem(new RawBeefPorterhouse(2));
            }
            if (meatbonus > 8)
            {
                corpse.DropItem(new RawBeefRoast(2));
            }
            if (meatbonus > 9)
            {
                corpse.DropItem(new RawBeefRibs(4));
            }
        }
예제 #6
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            base.OnCarve(from, corpse, with);

            corpse.DropItem(new Bloodmoss(Utility.RandomMinMax(8, 16)));
            from.SendMessage("You cut some bloodmoss from between the troll's toes; it remains on the corpse.");
        }
예제 #7
0
        public override void OnCarve(Mobile m, Corpse corpse, Item with)
        {
            base.OnCarve(m, corpse, with);

            if (m != null)
            {
                var h = CreateHead();

                if (h != null)
                {
                    if (corpse != null && !corpse.IsBones)
                    {
                        corpse.TurnToBones();
                    }

                    if (m.GiveItem(h, GiveFlags.Pack) != GiveFlags.Pack)
                    {
                        if (corpse != null)
                        {
                            corpse.DropItem(h);
                        }
                        else
                        {
                            h.MoveToWorld(m.Location, m.Map);
                        }
                    }
                }
            }
        }
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            base.OnCarve(from, corpse, with);
            double meatbonus = 1;

            if (Age == AgeDescription.Baby)
            {
                meatbonus += 0;
            }
            else if (Age == AgeDescription.Young)
            {
                meatbonus += 1;
            }
            else if (Age == AgeDescription.Adult)
            {
                meatbonus += 3;
            }
            else if (Age == AgeDescription.Senior)
            {
                meatbonus += 2;
            }
            corpse.Carved = true;
            DropResources(from, meatbonus, corpse);
            corpse.DropItem(new DeerHide((int)meatbonus + 2));
            //if (((int)(meatbonus *10))>1) corpse.DropItem( new RawRibs((int)(meatbonus * 10)));
            //corpse.DropItem( new BeefHock( 4 ) );
        }
예제 #9
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            Carve(from, with);

            base.OnCarve(from, corpse, with);
            double meatbonus = 0;

            if (m_MotherBreed == GoatBreed.Boer || m_FatherBreed == GoatBreed.Boer)
            {
                meatbonus += (IsPurebred() ? 1.50 : .75);
            }
            if (m_MotherBreed == GoatBreed.Stiefelgeiss || m_FatherBreed == GoatBreed.Stiefelgeiss)
            {
                meatbonus += (IsPurebred() ? 2.0 : 1.0);
            }
            if (Age == AgeDescription.Young)
            {
                meatbonus += .25;
            }
            else if (Age == AgeDescription.Adult)
            {
                meatbonus += .50;
            }
            else if (Age == AgeDescription.Senior)
            {
                meatbonus += .40;
            }
            meatbonus += (Female ? 0:1);
            //if (((int)(meatbonus*2)) > 1) corpse.DropItem( new RawRibs((int)(meatbonus * 2)));
            corpse.Carved = true;
            corpse.DropItem(new GoatHide((int)meatbonus * 2));
            DropResources(from, meatbonus, corpse);
        }
예제 #10
0
        public override int GenerateFurs(Corpse c)
        {
            Item i = new LightFur();

            i.Amount = 2;
            c.DropItem(i);
            return(2);
        }
예제 #11
0
        public virtual void DropResources(Mobile from, double meatbonus, Corpse corpse)
        {
            bool CanUse = from.CheckSkill(SkillName.Anatomy, 30, 70);

            corpse.DropItem(new RawTrotters(2));
            if (CanUse)
            {
                corpse.DropItem(new RawPigHead(1));
            }
            if (meatbonus < 1)
            {
                from.SendMessage("Nothing but grisle!");
            }
            if (meatbonus > 0)
            {
                corpse.DropItem(new RawBaconSlab(1));
            }
            if (meatbonus > 1)
            {
                corpse.DropItem(new RawSpareRibs(4));
            }
            if (meatbonus > 2 && CanUse)
            {
                corpse.DropItem(new RawHam(2));
            }
            if (meatbonus > 3)
            {
                corpse.DropItem(new RawPorkChop(2));
            }
            if (meatbonus > 4 && CanUse)
            {
                corpse.DropItem(new RawPorkRoast(2));
            }
        }
예제 #12
0
파일: Medusa.cs 프로젝트: nogu3ira/xrunuo
        public override void OnCarve(Mobile from, Corpse corpse, bool butcher)
        {
            base.OnCarve(from, corpse, butcher);

            if (0.2 > Utility.RandomDouble())
            {
                corpse.DropItem(new LesserMedusaScales(5));
            }
        }
예제 #13
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            if (corpse != null)
            {
                corpse.DropItem(new DragonBlood(8));
            }

            base.OnCarve(from, corpse, with);
        }
예제 #14
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            if (!Controlled && corpse != null && !corpse.Carved)
            {
                from.SendLocalizedMessage(1156197); // You cut away some pelts, but they remain on the corpse.
                corpse.DropItem(GetPelt);
            }

            base.OnCarve(from, corpse, with);
        }
예제 #15
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            if (corpse != null && !corpse.Carved)
            {
                from.SendLocalizedMessage(1156198); // You cut away some scoots, but they remain on the corpse.
                corpse.DropItem(new DragonTurtleScute(18));
            }

            base.OnCarve(from, corpse, with);
        }
예제 #16
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            if (!corpse.Carved)
            {
                corpse.DropItem(new TitanTooth());
                from.SendMessage("Vous arrachez une dent au titan");
            }

            base.OnCarve(from, corpse, with);
        }
예제 #17
0
        public override void UOACZCarve(Mobile from, Corpse corpse)
        {
            base.UOACZCarve(from, corpse);

            if (Corrupted)
            {
                corpse.DropItem(new UOACZCorruptedRawMeatScraps());
            }

            else
            {
                corpse.DropItem(new UOACZRawMeatScraps());
            }

            if (Utility.RandomDouble() <= .1)
            {
                corpse.DropItem(new UOACZIntestines());
            }
        }
예제 #18
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            if (corpse.Carved)
            {
                base.OnCarve(from, corpse, with);
            }

            TransformContext context = TransformationSpellHelper.GetContext(from);

            if (context != null && context.Spell is NecromancerSpell && Utility.RandomDouble() < 0.3)
            {
                corpse.DropItem(new GlowingOre(Utility.Random(2, 3)));
                from.SendMessage("Le Wisp se fige à votre toucher");
            }
            else if (Utility.RandomDouble() < .1)
            {
                corpse.DropItem(new GlowingOre());
                from.SendMessage("Seulement une partie du wisp se fige. Vous ne deviez pas être assez effrayant...");
            }
            base.OnCarve(from, corpse, with);
        }
예제 #19
0
        public override void UOACZCarve(Mobile from, Corpse corpse)
        {
            base.UOACZCarve(from, corpse);

            if (Corrupted)
            {
                corpse.DropItem(new UOACZCorruptedRawHam());
            }

            else
            {
                switch (Utility.RandomMinMax(1, 3))
                {
                case 1: corpse.DropItem(new UOACZRawHam()); break;

                case 2: corpse.DropItem(new UOACZRawSausage()); break;

                case 3: corpse.DropItem(new UOACZRawCutsOfMeat()); break;
                }
            }

            if (Utility.RandomDouble() <= .1)
            {
                corpse.DropItem(new UOACZIntestines());
            }

            corpse.DropItem(new Leather(3));
        }
예제 #20
0
        public virtual void UOACZCarve(Mobile from, Corpse corpse)
        {
            from.Animate(32, 3, 1, true, false, 0);
            Effects.PlaySound(from.Location, from.Map, 0x3E3);

            new Blood(0x122D).MoveToWorld(corpse.Location, corpse.Map);
            corpse.Carved = true;

            if (Utility.RandomDouble() <= .2)
            {
                corpse.DropItem(new UOACZIntestines());
            }

            from.SendMessage("You carve the corpse.");
        }
예제 #21
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            Carve(from, with);

            base.OnCarve(from, corpse, with);
            double meatbonus = 1;

            if (m_MotherBreed == SheepBreed.Cotswold || m_FatherBreed == SheepBreed.Cotswold)
            {
                meatbonus += (IsPurebred() ? 1.50 : .75);
            }
            if (m_MotherBreed == SheepBreed.Swaledale || m_FatherBreed == SheepBreed.Swaledale)
            {
                meatbonus += (IsPurebred() ? 2.0 : 1.0);
            }
            if (m_MotherBreed == SheepBreed.Racka || m_FatherBreed == SheepBreed.Racka)
            {
                meatbonus += (IsPurebred() ? 2.0 : 1.0);
            }
            if (m_MotherBreed == SheepBreed.Coopworth || m_FatherBreed == SheepBreed.Coopworth)
            {
                meatbonus += (IsPurebred() ? 1.20 : .60);
            }
            if (Age == AgeDescription.Young)
            {
                meatbonus += .25;
            }
            else if (Age == AgeDescription.Adult)
            {
                meatbonus += .50;
            }
            else if (Age == AgeDescription.Senior)
            {
                meatbonus += .40;
            }
            meatbonus += (Female ? 0:1);
            //if (((int)(meatbonus *2))>1) corpse.DropItem( new RawRibs((int)(meatbonus * 2)));
            //I have SheepHide on my shard
            corpse.DropItem(new SheepHide((int)meatbonus * 2));
            //corpse.DropItem( new RawLambLeg( 4 ) );
            from.SendMessage("you skin the sheep corpse");
            corpse.Carved = true;
            DropResources(from, meatbonus, corpse);
        }
예제 #22
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            base.OnCarve(from, corpse, with);
            double meatbonus = 1;

            if (m_MotherBreed == CowBreed.Angus || m_FatherBreed == CowBreed.Angus)
            {
                meatbonus += (IsPurebred() ? 4 : 2);
            }
            if (m_MotherBreed == CowBreed.Hereford || m_FatherBreed == CowBreed.Hereford)
            {
                meatbonus += (IsPurebred() ? 3.5 : 1.75);
            }
            if (m_MotherBreed == CowBreed.Gloucester || m_FatherBreed == CowBreed.Gloucester)
            {
                meatbonus += (IsPurebred() ? 2 : 1);
            }
            if (m_MotherBreed == CowBreed.Montbeliarde || m_FatherBreed == CowBreed.Montbeliarde)
            {
                meatbonus += (IsPurebred() ? 1.5 : .75);
            }
            if (Age == AgeDescription.Baby)
            {
                meatbonus += 0;
            }
            else if (Age == AgeDescription.Young)
            {
                meatbonus += 2;
            }
            else if (Age == AgeDescription.Adult)
            {
                meatbonus += 5;
            }
            else if (Age == AgeDescription.Senior)
            {
                meatbonus += 2;
            }
            corpse.Carved = true;
            DropResources(from, meatbonus, corpse);
            corpse.DropItem(new Hides((int)meatbonus + 4));
            //if (((int)(meatbonus *10))>1) corpse.DropItem( new RawRibs((int)(meatbonus * 10)));
            //corpse.DropItem( new BeefHock( 4 ) );
        }
예제 #23
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            if (corpse.Carved)
            {
                base.OnCarve(from, corpse, with);
            }

            if (Utility.RandomDouble() < 0.15)
            {
                if (!from.CheckSkill(SkillName.Forensics, 30, 80))
                {
                    from.SendMessage("Vous auriez gagné à mieux appréhender les cadavres");
                }
                else
                {
                    corpse.DropItem(new UndeadRelic());
                    from.SendMessage("Vous arrachez un morceau de chair à la liche");
                }
            }
            base.OnCarve(from, corpse, with);
        }
예제 #24
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            if (corpse.Carved)
            {
                base.OnCarve(from, corpse, with);
            }

            if (Utility.RandomDouble() < 0.15)
            {
                if (!from.CheckSkill(SkillName.Forensics, 30, 80))
                {
                    from.SendMessage("Vous auriez gagné à mieux appréhender les cadavres");
                }
                else
                {
                    corpse.DropItem(new ReptiledRelic());
                    from.SendMessage("Un pan de cuir se détache du ventre de la bête");
                }
            }
            base.OnCarve(from, corpse, with);
        }
예제 #25
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            if (corpse.Carved)
            {
                base.OnCarve(from, corpse, with);
            }

            if (Utility.RandomDouble() < 0.15)
            {
                if (!from.CheckSkill(SkillName.Forensics, 30, 80))
                {
                    from.SendMessage("Vous auriez gagné à mieux appréhender les cadavres");
                }
                else
                {
                    corpse.DropItem(new ElementalRelic());
                    from.SendMessage("L'élémental se crystallise");
                }
            }
            base.OnCarve(from, corpse, with);
        }
예제 #26
0
        public override void OnCarve(Mobile from, Corpse corpse, Item with)
        {
            base.OnCarve(from, corpse, with);
            if (m_MotherBreed == ChickenBreed.Bresse || m_FatherBreed == ChickenBreed.Bresse)
            {
                //corpse.DropItem( new RawChickenLeg( 2 ) );
            }
            if (m_MotherBreed == ChickenBreed.Braekel || m_FatherBreed == ChickenBreed.Braekel)
            {
                //corpse.DropItem( new RawChickenLeg( 2 ) );
            }
            if (m_MotherBreed == ChickenBreed.Orpington || m_FatherBreed == ChickenBreed.Orpington)
            {
                //corpse.DropItem( new RawChickenLeg( 2 ) );
            }
            if (m_MotherBreed == ChickenBreed.Poltava || m_FatherBreed == ChickenBreed.Poltava)
            {
            }

            /*
             * if (Age == AgeDescription.Baby)
             * {
             * }
             * else if (Age == AgeDescription.Young)
             * {
             * }
             * else if (Age == AgeDescription.Adult)
             * {
             * }
             * else if (Age == AgeDescription.Senior)
             * {
             * }
             */
            corpse.Carved = true;
            corpse.DropItem(new RawChickenLeg(2));
        }
예제 #27
0
 public override void OnCarve(Mobile from, Corpse corpse, Item item)
 {
     corpse.DropItem(new WyrmsHeart(2));
     base.OnCarve(from, corpse, item);
 }
예제 #28
0
 public override void OnCarve(Mobile from, Corpse corpse, Item item)
 {
     corpse.DropItem(new FishingBait(2));
     base.OnCarve(from, corpse, item);
 }
예제 #29
0
        public static void OnCarve(Mobile from, Corpse corpse, BaseCreature mob, LokaiSkill lokaiSkill)
        {
            if (corpse.Carved)
            {
                return;
            }

            int feathers = mob.Feathers;
            int wool     = mob.Wool;
            int meat     = mob.Meat;
            int hides    = mob.Hides;
            int scales   = mob.Scales;

            if ((feathers == 0 && wool == 0 && meat == 0 && hides == 0 && scales == 0) || mob.Summoned || mob.IsBonded)
            {
                from.SendLocalizedMessage(500485); // You see nothing useful to carve from the corpse.
            }
            else
            {
                if (Core.ML && from.Race == Race.Human)
                {
                    hides = (int)Math.Ceiling(hides * 1.1);     //10% Bonus Only applies to Hides, Ore & Logs
                }

                if (corpse.Map == Map.Felucca)
                {
                    feathers *= 2;
                    wool     *= 2;
                    hides    *= 2;
                }

                int ratingFactor = 10;
                int skinFactor   = 10;

                SuccessRating rating = LokaiSkillUtilities.CheckLokaiSkill(from, lokaiSkill, 0.0, 100.0);
                switch (rating)
                {
                case SuccessRating.CriticalFailure: skinFactor = 3; ratingFactor = 0; break;

                case SuccessRating.HazzardousFailure: skinFactor = 6; ratingFactor = 0; break;

                case SuccessRating.Failure: skinFactor = 9; ratingFactor = 0; break;

                case SuccessRating.PartialSuccess: skinFactor = 11; ratingFactor = 0; break;

                case SuccessRating.Success: skinFactor = 14; ratingFactor = 3; break;

                case SuccessRating.CompleteSuccess: skinFactor = 17; ratingFactor = 6; break;

                case SuccessRating.ExceptionalSuccess:
                case SuccessRating.TooEasy: skinFactor = 20; ratingFactor = 9; break;

                default:
                case SuccessRating.TooDifficult: skinFactor = 0; ratingFactor = 0; break;
                }

                feathers *= skinFactor;
                wool     *= skinFactor;
                hides    *= skinFactor;
                scales   *= skinFactor;
                meat     *= ratingFactor;

                feathers /= 10;
                wool     /= 10;
                hides    /= 10;
                scales   /= 10;
                meat     /= 10;

                new Blood(0x122D).MoveToWorld(corpse.Location, corpse.Map);

                if (feathers != 0)
                {
                    corpse.DropItem(new Feather(feathers));
                    from.SendLocalizedMessage(500479); // You pluck the bird. The feathers are now on the corpse.
                }

                if (wool != 0)
                {
                    corpse.DropItem(new Wool(wool));
                    from.SendLocalizedMessage(500483); // You shear it, and the wool is now on the corpse.
                }

                if (meat != 0)
                {
                    if (mob.MeatType == MeatType.Ribs)
                    {
                        corpse.DropItem(new RawRibs(meat));
                    }
                    else if (mob.MeatType == MeatType.Bird)
                    {
                        corpse.DropItem(new RawBird(meat));
                    }
                    else if (mob.MeatType == MeatType.LambLeg)
                    {
                        corpse.DropItem(new RawLambLeg(meat));
                    }

                    from.SendLocalizedMessage(500467); // You carve some meat, which remains on the corpse.
                }

                if (hides != 0)
                {
                    if (mob.HideType == HideType.Regular)
                    {
                        corpse.DropItem(new Hides(hides));
                    }
                    else if (mob.HideType == HideType.Spined)
                    {
                        corpse.DropItem(new SpinedHides(hides));
                    }
                    else if (mob.HideType == HideType.Horned)
                    {
                        corpse.DropItem(new HornedHides(hides));
                    }
                    else if (mob.HideType == HideType.Barbed)
                    {
                        corpse.DropItem(new BarbedHides(hides));
                    }

                    from.SendLocalizedMessage(500471); // You skin it, and the hides are now in the corpse.
                }

                if (scales != 0)
                {
                    ScaleType sc = mob.ScaleType;

                    switch (sc)
                    {
                    case ScaleType.Red: corpse.DropItem(new RedScales(scales)); break;

                    case ScaleType.Yellow: corpse.DropItem(new YellowScales(scales)); break;

                    case ScaleType.Black: corpse.DropItem(new BlackScales(scales)); break;

                    case ScaleType.Green: corpse.DropItem(new GreenScales(scales)); break;

                    case ScaleType.White: corpse.DropItem(new WhiteScales(scales)); break;

                    case ScaleType.Blue: corpse.DropItem(new BlueScales(scales)); break;

                    case ScaleType.All:
                    {
                        corpse.DropItem(new RedScales(scales));
                        corpse.DropItem(new YellowScales(scales));
                        corpse.DropItem(new BlackScales(scales));
                        corpse.DropItem(new GreenScales(scales));
                        corpse.DropItem(new WhiteScales(scales));
                        corpse.DropItem(new BlueScales(scales));
                        break;
                    }
                    }

                    from.SendMessage("You cut away some scales, but they remain on the corpse.");
                }

                corpse.Carved = true;

                if (corpse.IsCriminalAction(from))
                {
                    from.CriminalAction(true);
                }
            }
        }
예제 #30
0
 public override int GenerateFurs(Corpse c)
 {
     c.DropItem(new LightFur());
     return(1);
 }