Exemple #1
0
        private void DrawEntries(int index, int page, int nextPage, DisguiseEntry[] entries, int nextNumber)
        {
            AddPage(page);

            if (nextPage != -1)
            {
                AddButton(155, 320, 250 + (index * 2), 251 + (index * 2), 0, GumpButtonType.Page, nextPage);
                AddHtmlLocalized(180, 320, 150, 35, nextNumber, false, false);
            }

            for (int i = 0; i < entries.Length; ++i)
            {
                DisguiseEntry entry = entries[i];

                if (entry == null)
                {
                    continue;
                }

                int x = (i % 2) * 205;
                int y = (i / 2) * 55;

                if (entry.m_GumpID != 0)
                {
                    AddBackground(220 + x, 60 + y, 50, 50, 2620);
                    AddImage(153 + x + entry.m_OffsetX, 15 + y + entry.m_OffsetY, entry.m_GumpID);
                }

                AddHtmlLocalized(140 + x, 72 + y, 80, 35, entry.m_Number, false, false);
                AddRadio(118 + x, 73 + y, 208, 209, false, (i * 2) + index);
            }
        }
Exemple #2
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            if (info.ButtonID == 0)
            {
                if (m_Used)
                {
                    m_From.SendLocalizedMessage(501706);                       // Disguises wear off after 2 hours.
                }
                else
                {
                    m_From.SendLocalizedMessage(501707);                       // You're looking good.
                }
                return;
            }

            int[] switches = info.Switches;

            if (switches.Length == 0)
            {
                return;
            }

            int switched = switches[0];
            int type     = switched % 2;
            int index    = switched / 2;

            bool hair = (type == 0);

            DisguiseEntry[] entries = (hair ? m_HairEntries : m_BeardEntries);

            if (index >= 0 && index < entries.Length)
            {
                DisguiseEntry entry = entries[index];

                if (entry == null)
                {
                    return;
                }

                if (!m_Kit.ValidateUse(m_From))
                {
                    return;
                }

                if (!hair && (m_From.Female || m_From.Body.IsFemale))
                {
                    return;
                }

                m_From.NameMod = NameList.RandomName(m_From.Female ? "female" : "male");

                if (m_From is PlayerMobile)
                {
                    PlayerMobile pm = (PlayerMobile)m_From;

                    if (hair)
                    {
                        pm.SetHairMods(entry.m_ItemID, -2);
                    }
                    else
                    {
                        pm.SetHairMods(-2, entry.m_ItemID);
                    }
                }

                m_From.SendGump(new DisguiseGump(m_From, m_Kit, hair, true));

                DisguiseTimers.RemoveTimer(m_From);

                DisguiseTimers.CreateTimer(m_From, TimeSpan.FromHours(2.0));
                DisguiseTimers.StartTimer(m_From);
            }
        }
Exemple #3
0
		private void DrawEntries( int index, int page, int nextPage, DisguiseEntry[] entries, int nextNumber )
		{
			AddPage( page );

			if ( nextPage != -1 )
			{
				AddButton( 155, 320, 250 + (index*2), 251 + (index*2), 0, GumpButtonType.Page, nextPage );
				AddHtmlLocalized( 180, 320, 150, 35, nextNumber, false, false );
			}

			for ( int i = 0; i < entries.Length; ++i )
			{
				DisguiseEntry entry = entries[i];

				if ( entry == null )
					continue;

				int x = (i % 2) * 205;
				int y = (i / 2) * 55;

				if ( entry.m_GumpID != 0 )
				{
					AddBackground( 220 + x, 60 + y, 50, 50, 2620 );
					AddImage( 153 + x + entry.m_OffsetX, 15 + y + entry.m_OffsetY, entry.m_GumpID );
				}

				AddHtmlLocalized( 140 + x, 72 + y, 80, 35, entry.m_Number, false, false );
				AddRadio( 118 + x, 73 + y, 208, 209, false, (i * 2) + index );
			}
		}
Exemple #4
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            if (info.ButtonID == 0)
            {
                m_From.CloseGump(typeof(DisguiseGump));
                m_From.SendGump(new HairDyeGump( ));

                if (m_Used)
                {
                    m_From.SendMessage("Disguises wear off after 5 hours");                       // Disguises wear off after 2 hours.
                }
                else
                {
                    m_From.SendLocalizedMessage(501707);                       // You're looking good.
                }
                return;
            }


/* DYE button
 *                      if ( info.ButtonID == 2 )
 *                      {
 *
 *                              //m_From.CloseGump( typeof( DisguiseGump ) );
 *                              m_From.SendGump( new HairDyeGump( ) );
 *                              //return;
 *                      }
 */



            int[] switches = info.Switches;

            if (switches.Length == 0)
            {
                return;
            }

            int switched = switches[0];
            int type     = switched % 2;
            int index    = switched / 2;

            bool hair = (type == 0);

            DisguiseEntry[] entries = (hair ? m_HairEntries : m_BeardEntries);

            if (index >= 0 && index < entries.Length)
            {
                DisguiseEntry entry = entries[index];

                if (entry == null)
                {
                    return;
                }

                if (!m_Kit.ValidateUse(m_From))
                {
                    return;
                }

                if (!hair && (m_From.Female || m_From.Body.IsFemale))
                {
                    return;
                }



                TextRelay relay = info.GetTextEntry(0);
                string    text  = (relay == null ? null : relay.Text.Trim());
                if (text != "")
                {
                    m_From.NameMod = text;
                }


                //m_From.NameMod = NameList.RandomName( m_From.Female ? "female" : "male" );



                if (m_From is PlayerMobile)
                {
                    PlayerMobile pm = (PlayerMobile)m_From;

                    if (hair)
                    {
                        pm.SetHairMods(entry.m_ItemID, -2);
                    }
                    else
                    {
                        pm.SetHairMods(-2, entry.m_ItemID);
                    }
                }

                m_From.SendGump(new DisguiseGump(m_From, m_Kit, hair, true));

                StopTimer(m_From);

                m_Timers[m_From] = Timer.DelayCall(TimeSpan.FromHours(5.0), new TimerStateCallback(OnDisguiseExpire), m_From);
            }
        }
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            if (info.ButtonID == 0)
            {
                if (m_Used)
                {
                    m_From.SendLocalizedMessage(501706);                       // Disguises wear off after 2 hours.
                }
                else
                {
                    m_From.SendLocalizedMessage(501707);                       // You're looking good.
                }
                return;
            }

            string name = info.GetTextEntry(0).Text.Trim();

            name = ValidateName(name);

            int[] switches = info.Switches;

            if (switches.Length == 0)
            {
                return;
            }

            int switched = switches[0];
            int type     = switched % 2;
            int index    = switched / 2;

            bool hair = (type == 0);

            DisguiseEntry[] entries = (hair ? m_HairEntries : m_BeardEntries);

            if (index >= 0 && index < entries.Length)
            {
                DisguiseEntry entry = entries[index];

                if (entry == null)
                {
                    return;
                }

                if (!m_Kit.ValidateUse(m_From))
                {
                    return;
                }

                if (!hair && (m_From.Female || m_From.Body.IsFemale))
                {
                    return;
                }

                m_From.NameMod = name;

                if (m_From is PlayerMobile)
                {
                    PlayerMobile pm = (PlayerMobile)m_From;

                    if (hair)
                    {
                        pm.SetHairMods(entry.m_ItemID, -2);
                    }
                    else
                    {
                        pm.SetHairMods(-2, entry.m_ItemID);
                    }
                }

                DisguiseTimers.RemoveTimer(m_From);

                DisguiseTimers.CreateTimer(m_From, TimeSpan.FromHours(2.0));
                DisguiseTimers.StartTimer(m_From);

                m_Kit.Delete();

                m_From.SendMessage("You put on the disguise and discard the container.");
            }
        }