コード例 #1
0
        public override void OnResponse( NetState sender, RelayInfo info )
        {
            Mobile from = sender.Mobile;
            if ( info.ButtonID == 0 ) // close
                return;
            else
            {
                if (!m_Artist.InRange( m_Target.Location, 1 ))
                {
                    m_Artist.SendMessage( "You are too far away." );
                    return;
                }
                Tattoo tattoo = m_Target.FindItemOnLayer( Layer.Unused_xF ) as Tattoo;
                Item item = m_Target.FindItemOnLayer( Layer.Unused_xF );
                if ( info.ButtonID == (int)Buttons.Remove )
                {
                    if ( tattoo != null )
                    {
                        tattoo.Delete();
                        m_Artist.SendMessage( "You remove their tattoo." );
                    }
                    else
                        m_Artist.SendMessage( "They don't have a tattoo!" );
                }
                else if ( info.ButtonID == (int)Buttons.Dye )
                {
                    if ( tattoo != null )
                    {
                        if ( m_Artist.Feats.GetFeatLevel(FeatList.TattooArtist) > 1 )
                            m_Artist.SendGump( new DyeTattooGump( m_Artist, 0, m_Target ) );
                        else
                            m_Artist.SendMessage( "You don't know how to do that!" );
                    }
                    else
                        m_Artist.SendMessage( "They don't have a tattoo!" );
                }
                else
                {
                    if ( tattoo == null && item == null )
                    {
                        int index = info.ButtonID - 10;
                        if ( index < 0 || index >= TattooArray.Length )
                            return;
                        int newId = TattooArray[index].Value;
                        Tattoo newTattoo = new Tattoo( newId );
                        m_Target.EquipItem(newTattoo);
                        newTattoo.Movable = false;
                        from.SendMessage( "You apply a new tattoo." );
                        if ( m_Artist.Feats.GetFeatLevel(FeatList.TattooArtist) > 2 )
                        {
                            from.SendMessage( "Enter the name for the tattoo: (ESC to cancel)" );
                            from.Prompt = new TattooPrompt( newTattoo );
                        }
                    }
                    else
                        from.SendMessage( "They already have a tattoo! Remove it first." );
                }
            }

            return;
        }
コード例 #2
0
 public TattooPrompt( Tattoo tattoo )
 {
     m_Tattoo = tattoo;
 }