Example #1
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     DragonHead head = new DragonHead();
     head.Hue = 0;
     bpc.DropItem( head );
 }
Example #2
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new PorkHock( 1 ) );
     bpc.DropItem( new RawHam( 1 ) );
     bpc.DropItem( new RawBaconSlab( 1 ) );
 }
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     Ribs ribs = new Ribs( 3 );
     ribs.Hue = 2935;
     ribs.Name = "flesh";
     ribs.RotStage = RotStage.Rotten;
     bpc.DropItem( ribs );
 }
Example #4
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new DevourersTeeth() );
 }
Example #5
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new BushmasterVenom() );
 }
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new FunnelWebSpiderVenom() );
 }
Example #7
0
        public virtual void OnCarve( Mobile from, Corpse corpse )
        {
            if ( !from.InRange( corpse.Location, 1 ) )
            {
                from.SendMessage( "You are too far away." );
                return;
            }

            BodyPartsContainer bpc = corpse.FindItemByType( typeof( BodyPartsContainer ) ) as BodyPartsContainer;
            if (bpc == null)
            {
                bpc = new BodyPartsContainer();
                corpse.DropItem( bpc );
            }

            if ( !corpse.Carved && !Summoned && !IsBonded )
            {
                AddBodyParts( bpc, corpse );
                corpse.Carved = true;
            }

            if ( bpc.TotalItems > 0 )
            {
                from.CloseGump( typeof( SkinningGump ) );
                from.SendGump( new SkinningGump( corpse, corpse.FindItemByType( typeof( BodyPartsContainer ) ) as BodyPartsContainer, from ) );
            }
            else
                from.SendMessage( "There's nothing left to carve." );

            PlayerMobile pm = from as PlayerMobile;
            if ( pm != null )
            {
                OnXMLEvent( XMLEventType.OnCarveInvokeOnMobile, pm );
                OnXMLEvent( XMLEventType.OnCarveInvokeOnItem, corpse );
                OnXMLEvent( XMLEventType.OnCarve );
            }
        }
Example #8
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new TrollBlood() );
 }
Example #9
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new BeefHock( 4 ) );
 }
Example #10
0
 public override void AddBodyParts(BodyPartsContainer bpc, Corpse corpse)
 {
     base.AddBodyParts(bpc, corpse);
     bpc.DropItem(new WalrusBlubber());
 }
Example #11
0
 public SkinningTimer( Mobile from, Corpse corpse, Item item, BodyPartsContainer bpc )
     : base(TimeSpan.FromSeconds( 2.0 ), TimeSpan.FromSeconds( 2.0 ))
 {
     Priority = TimerPriority.OneSecond;
     m_From = from;
     m_Corpse = corpse;
     m_Item = item;
     m_BPC = bpc;
 }
Example #12
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new HornedBeetleHorn() );
 }
Example #13
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new UnicornHead() );
     bpc.DropItem( new UnicornHorn() );
 }
Example #14
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new BeholdersEye() );
 }
Example #15
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new RawLambLeg( 4 ) );
 }
Example #16
0
        public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
        {
            base.AddBodyParts( bpc, corpse );
            Ribs ribs = new Ribs( 17 );
            ribs.Hue = 2935;
            ribs.Name = "flesh";
            ribs.RotStage = RotStage.Rotten;

            Ham ham = new Ham( 14 );
            ham.Hue = 2935;
            ham.Name = "flesh";
            ham.RotStage = RotStage.Rotten;

            BaconSlab bacon = new BaconSlab( 5 );
            bacon.Hue = 2935;
            bacon.Name = "flesh";
            bacon.RotStage = RotStage.Rotten;

            CookedBird bird = new CookedBird( 9 );
            bird.Hue = 2935;
            bird.Name = "flesh";
            bird.RotStage = RotStage.Rotten;

            Spam deer = new Spam( 1 );
            deer.Hue = 2964;
            deer.Name = "a partially digested hind";
            deer.RotStage = RotStage.Rotten;
            deer.ItemID = 15721;
            deer.Stackable = false;

            bpc.DropItem( ribs );
            bpc.DropItem( ham );
            bpc.DropItem( bacon );
            bpc.DropItem( bird );
            bpc.DropItem( deer );
        }
Example #17
0
        public SkinningGump(Corpse corpse, BodyPartsContainer bpc, Mobile mobile)
            : base(0, 0)
        {
            m_Corpse = corpse;
            m_Mobile = mobile;
            m_BPC = bpc;

            this.Closable=true;
            this.Disposable=false;
            this.Dragable=true;
            this.Resizable=false;
            this.AddPage(0);

            this.AddBackground(38, 27, 327, 361, 9380);
            this.AddBackground(52, 57, 303, 304, 9270);
            this.AddImage(172, 344, 5576);
            this.AddLabel(174, 32, 2654, "Skinning");

            this.AddLabel(94, 72, 32, "Which part do you want to remove?");

            if ( !(m_Mobile is PlayerMobile) )
                return;

            PlayerMobile pm  = m_Mobile as PlayerMobile;
            int skinning = pm.Feats.GetFeatLevel(FeatList.Skinning);
            int i = 0;
            int j = 1;
            List<Item> items = new List<Item>();
            if (m_BPC != null && !m_BPC.Deleted)
            {
                foreach (Item item in m_BPC.Items)
                {
                    if ( item == null || item.Deleted )
                        continue;

                    bool canCarve = false;

                    if ( skinning >= 1 && item is CookableFood )
                        canCarve = true;
                    else if ( skinning >= 2 && ( item is Wool || item is BaseHides || item is Fur || item is Feather ) )
                        canCarve = true;
                    else if ( skinning >= 3 )
                    {
                        canCarve = true;
                        if ( item is BaseToxinIngredient )
                        {
                            if ( pm.Skills[SkillName.Poisoning].Fixed < ((BaseToxinIngredient)item).SkillRequired )
                                canCarve = false;
                        }
                        else if ( item is Bone )
                        {
                            if ( pm.Feats.GetFeatLevel(FeatList.Bone) < 1 )
                                canCarve = false;
                        }
                    }

                    string displayedName = null;

                    if ( item is BaseHides ) // handled differently
                    {
                        if ( item is Hides )
                            displayedName = item.Amount > 1 ? item.Amount + " hides" : "hide";
                        else if ( item is ThickHides )
                            displayedName = item.Amount > 1 ? item.Amount + " thick hides" : "thick hide";
                        else if	( item is BeastHides )
                            displayedName = item.Amount > 1 ? item.Amount + " beast hides" : "beast hide";
                        else if ( item is ScaledHides )
                            displayedName = item.Amount > 1 ? item.Amount + " scaled hides" : "scaled hide";
                    }
                    else if (!String.IsNullOrEmpty(item.Name))
                        displayedName = (item.Amount > 1 ? item.Amount + " " : "") + item.Name.ToLower();

                    if ( !String.IsNullOrEmpty(displayedName) )
                        this.AddLabel(100, 101 + i*20, canCarve ? 469 : 950, displayedName);
                    else // these should never display (all skinnable items should have a name), but it is easier to spot them if they do with the different color
                        this.AddHtmlLocalized( 100, 101 + i*20, 250, 18, item.LabelNumber, canCarve ? 0x777777 : 0x77FF77, false, false );
                    if (canCarve)
                    {
                        this.AddButton(78, 104 + i*20, 5601, 5605, j, GumpButtonType.Reply, 0);
                        items.Add(item);
                        j++;
                    }
                    i++;
                }
            }
            m_Items = new Item[items.Count];
            i = 0;
            foreach (Item item in items)
                m_Items[i++] = item;
        }
Example #18
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new GiantsSkull() );
 }
Example #19
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new HydraScale() );
 }
Example #20
0
 public override void AddBodyParts(BodyPartsContainer bpc, Corpse corpse)
 {
     base.AddBodyParts(bpc, corpse);
 }
Example #21
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new KingCobraVenom() );
 }
Example #22
0
        public virtual void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
        {
            int feathers = Feathers;
            int wool = Wool;
            int meat = Meat;
            int hides = Hides;
            int fur = ( this.HasFur ? hides : 0 );
            int scales = Scales;
            int bones = Bones;

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

            if( bones != 0 )
            {
                bpc.DropItem( new Bone( bones ) );
                //from.SendMessage( "You dismember the creature and can now extract the bones from the corpse." );
            }

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

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

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

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

            if ( hides != 0 )
            {
                if ( HideType == HideType.Regular )
                    bpc.DropItem( new Hides( hides ) );
                else if ( HideType == HideType.Thick )
                    bpc.DropItem( new ThickHides( hides ) );
                else if ( HideType == HideType.Beast )
                    bpc.DropItem( new BeastHides( hides ) );
                else if ( HideType == HideType.Scaled )
                    bpc.DropItem( new ScaledHides( hides ) );

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

            if ( fur != 0 )
            {
                bpc.DropItem( new Fur( fur ) );
            }

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

                switch ( sc )
                {
                    case ScaleType.Red:		bpc.DropItem( new RedScales( scales ) ); break;
                    case ScaleType.Yellow:	bpc.DropItem( new YellowScales( scales ) ); break;
                    case ScaleType.Black:	bpc.DropItem( new BlackScales( scales ) ); break;
                    case ScaleType.Green:	bpc.DropItem( new GreenScales( scales ) ); break;
                    case ScaleType.White:	bpc.DropItem( new WhiteScales( scales ) ); break;
                    case ScaleType.Blue:	bpc.DropItem( new BlueScales( scales ) ); break;
                    case ScaleType.All:
                    {
                        bpc.DropItem( new RedScales( scales ) );
                        bpc.DropItem( new YellowScales( scales ) );
                        bpc.DropItem( new BlackScales( scales ) );
                        bpc.DropItem( new GreenScales( scales ) );
                        bpc.DropItem( new WhiteScales( scales ) );
                        bpc.DropItem( new BlueScales( scales ) );
                        break;
                    }
                }

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

            if( m_CustomSkinnableParts != null )
            {
                foreach( Item item in m_CustomSkinnableParts )
                    bpc.DropItem( item );
            }
        }
Example #23
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new CopperheadVenom() );
 }
Example #24
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new GoblinBrain() );
 }
Example #25
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new QuaraphonLimb() );
 }
Example #26
0
 public override void AddBodyParts(BodyPartsContainer bpc, Corpse corpse)
 {
     base.AddBodyParts(bpc, corpse);
     bpc.DropItem(new PureWater());
 }
Example #27
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new FairyWing( 2 ) );
     bpc.DropItem(new FairyShroom(3));
 }
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new MinotaurHorn( 2 ) );
 }
Example #29
0
 public override void AddBodyParts( BodyPartsContainer bpc, Corpse corpse )
 {
     base.AddBodyParts( bpc, corpse );
     bpc.DropItem( new DisplacerBeastFur() );
 }