예제 #1
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.ReadInt();

			switch (version)
			{
				case 2:
					m_CardClubOnly = reader.ReadBool();
					goto case 1;

				case 1:
					m_MembershipCard = reader.ReadBool();
					goto case 0;

				case 0: // Release 0
					{
						m_Active = reader.ReadBool();
						m_Cost = reader.ReadInt();
						m_Won = reader.ReadInt();
						m_LastPay = reader.ReadInt();
						m_SlotTheme = (SlotThemeType)reader.ReadInt();
						m_TotalSpins = reader.ReadInt();
						m_TotalCollected = reader.ReadInt();
						m_TotalWon = reader.ReadInt();
						m_ErrorCode = reader.ReadInt();
						m_InUseBy = reader.ReadMobile();
						m_LastPlayed = reader.ReadDateTime();
						m_LastWonBy = reader.ReadMobile();
						m_LastWonByDate = reader.ReadDateTime();
						m_LastWonAmount = reader.ReadInt();
						m_isProgMaster = reader.ReadBool();
						m_ProgressivePercent = reader.ReadInt();
						m_ProgressiveMaster = reader.ReadItem();
						m_ProgressiveJackpot = reader.ReadInt();
						m_DefaultStartProgressive = reader.ReadInt();
						m_ShowPayback = reader.ReadBool();
						m_PaybackType = (PaybackType)reader.ReadInt();
						m_BonusRound = (BonusRoundType)reader.ReadInt();
						m_ScatterPay = (ScatterType)reader.ReadInt();
						m_Rewards = (JackpotRewardType)reader.ReadInt();
						m_AnnounceJackpot = reader.ReadBool();
						m_CreditCashOut = reader.ReadInt();
						m_CreditATMLimit = reader.ReadInt();
						m_CreditATMIncrements = reader.ReadInt();
						m_AnyBars = reader.ReadBool();
						m_PlayerSounds = reader.ReadBool();
						m_OrigHue = reader.ReadInt();
						this.m_RandomMin = reader.ReadTimeSpan();
						this.m_RandomMax = reader.ReadTimeSpan();
						m_ProfReel[0] = reader.ReadString();
						m_ProfReel[1] = reader.ReadString();
						m_ProfReel[2] = reader.ReadString();
						m_ProfPayTable = reader.ReadString();
						m_ProfSymbols = reader.ReadString();
						for (int i = 0; i < 11; i++)
							m_jackpotStats[i] = reader.ReadInt();
						int count = reader.ReadInt();
						m_SlotSlaves = new ArrayList(count);
						for (int i = 0; i < count; ++i)
						{
							Item item = reader.ReadItem();
							if (item != null)
								m_SlotSlaves.Add(item);
						}
						break;
					}
			}
			if (m_OrigHue != -1 && m_Active)
			{
				this.Hue = m_OrigHue;
				m_OrigHue = -1;
			}
			SetupTheme(m_SlotTheme, false);
		}
예제 #2
0
		private void ProfileAll()
		{
			//m_ProfileAll = true;
			for (int i = 0; i < (int)SlotThemeType.TrophyHunter; i++)
			{
				m_isProgMaster = false;
				m_ProgressiveJackpot = 0;
				m_ProgressivePercent = 0;
				m_SlotTheme = (SlotThemeType)i;
				SetupTheme(m_SlotTheme, true);
				for (int h = 0; h < (int)PaybackType.Random; h++)
				{
					m_PaybackType = (PaybackType)h;
					m_Profile = true;
					SetupOddsTable(m_PaybackType, true);
					Profile(false, 5);
					m_Profile = false;
				}
			}
			m_ProfileAll = false;
		}
예제 #3
0
		private void SetupTheme(SlotThemeType theme, bool initialize)
		{
			switch (theme)
			{
				case SlotThemeType.MinerMadness:
					MinerMadness(initialize);
					break;

				case SlotThemeType.GruesomeGambling:
					GruesomeGambling(initialize);
					break;

				case SlotThemeType.FarmerFaceoff:
					FarmerFaceoff(initialize);
					break;

				case SlotThemeType.OffToTheRaces:
					OffToTheRaces(initialize);
					break;

				case SlotThemeType.LadyLuck:
					LadyLuck(initialize);
					break;

				case SlotThemeType.Classic:
					Classic(initialize);
					break;

				case SlotThemeType.ClassicII:
					ClassicII(initialize);
					break;

				case SlotThemeType.ClassicIII:
					ClassicIII(initialize);
					break;

				case SlotThemeType.Holiday1:
					Holiday1(initialize);
					break;
#if MINIHOUSES
				case SlotThemeType.MiniHouses:
					MiniHouses(initialize);
					break;
#endif
				case SlotThemeType.Pirates:
					Pirates(initialize);
					break;

				case SlotThemeType.PowerScrolls:
					PowerScrolls(initialize);
					break;

				case SlotThemeType.StatScrolls:
					StatScrolls(initialize);
					break;

				case SlotThemeType.TailorTreats:
					TailorTreats(initialize);
					break;

				case SlotThemeType.TrophyHunter:
					TrophyHunter(initialize);
					break;

				default:
					string text = String.Format("Unknown Theme ({0})! Slot Machine Offline.", m_SlotTheme);
					this.PublicOverheadMessage(0, this.Hue, false, text);
					SlotOffline(8003);
					break;
			}
			SetupOddsTable(m_PaybackType, true);
			m_ReelOne = m_Symbols[0];
			m_ReelTwo = m_Symbols[0];
			m_ReelThree = m_Symbols[0];
		}
예제 #4
0
		public TurboSlot()
			: base(3804)
		{
			Movable = false;
			m_SlotTheme = SlotThemeType.Classic;
			SetupTheme(m_SlotTheme, true);
			m_Active = false;
		}