public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 0: { m_Boat = reader.ReadItem() as BaseBoat; m_Side = (PlankSide) reader.ReadInt(); m_Locked = reader.ReadBool(); m_KeyValue = reader.ReadUInt(); if ( m_Boat == null ) Delete(); break; } } if ( IsOpen ) { m_CloseTimer = new CloseTimer( this ); m_CloseTimer.Start(); } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); i_Timer=new DBSTimer(this); i_Timer.Start(); }
public VendorInventory( BaseHouse house, GenericReader reader ) { m_House = house; int version = reader.ReadEncodedInt(); m_Owner = reader.ReadMobile(); m_VendorName = reader.ReadString(); m_ShopName = reader.ReadString(); m_Items = reader.ReadStrongItemList(); m_Gold = reader.ReadInt(); m_ExpireTime = reader.ReadDeltaTime(); if ( m_Items.Count == 0 && m_Gold == 0 ) { Timer.DelayCall( TimeSpan.Zero, new TimerCallback( Delete ) ); } else { TimeSpan delay = m_ExpireTime - DateTime.UtcNow; m_ExpireTimer = new ExpireTimer( this, delay > TimeSpan.Zero ? delay : TimeSpan.Zero ); m_ExpireTimer.Start(); } }
public TreasureMapChest( Mobile owner, int level, bool temporary ) : base( 0xE40 ) { Name = "a treasure chest"; m_Owner = owner; m_Level = level; m_DeleteTime = DateTime.Now + TimeSpan.FromHours( 3.0 ); m_Temporary = temporary; m_Guardians = new List<Mobile>(); m_Timer = new DeleteTimer( this, m_DeleteTime ); m_Timer.Start(); Fill( this, level ); if ( level == 0 || level == 1 ) ItemValue = ItemValue.Common; else if ( level == 2 || level == 3 ) ItemValue = ItemValue.Uncommon; else if ( level == 4 || level == 5 ) ItemValue = ItemValue.Rare; else if ( level == 6 || level == 7 ) ItemValue = ItemValue.Epic; else ItemValue = ItemValue.Legendary; }
public PlayerVendor( Mobile owner, BaseHouse house ) { Owner = owner; House = house; if ( BaseHouse.NewVendorSystem ) { m_BankAccount = 0; m_HoldGold = 4; } else { m_BankAccount = 1000; m_HoldGold = 0; } ShopName = "Shop Not Yet Named"; m_SellItems = new Hashtable(); CantWalk = true; InitStats( 75, 75, 75 ); InitBody(); InitOutfit(); TimeSpan delay = PayTimer.GetInterval(); m_PayTimer = new PayTimer( this, delay ); m_PayTimer.Start(); m_NextPayTime = DateTime.Now + delay; }
public Penthesilea(bool decays) : base() { Name = "Penthesilea"; Body = 401; VirtualArmor = 50; CantWalk = true; Female = true; HairItemID= 0x203C; HairHue = 1153; AddItem( new Server.Items.FancyDress( 0x481) ); AddItem( new Server.Items.Sandals( 0x481) );; Blessed = true; if (decays) { m_Decays = true; m_DecayTime = DateTime.Now + TimeSpan.FromSeconds(30); m_Timer = new InternalTimer(this, m_DecayTime); m_Timer.Start(); } }
public IceSnow2() { m_Decays = true; m_DecayTime = DateTime.Now + TimeSpan.FromMinutes( 2.0 ); m_Timer = new InternalTimer( this, m_DecayTime ); m_Timer.Start(); }
public TrackArrow( Mobile from, Mobile target, int range ) : base(from, target) { m_From = from; m_Timer = new TrackTimer( from, target, range, this ); m_Timer.Start(); }
public PageEntry( Mobile sender, string message, PageType type ) { m_Sender = sender; m_Sent = DateTime.Now; m_Message = Utility.FixHtml( message ); m_Type = type; m_PageLocation = sender.Location; m_PageMap = sender.Map; PlayerMobile pm = sender as PlayerMobile; if ( pm != null && pm.SpeechLog != null && Array.IndexOf( SpeechLogAttachment, type ) >= 0 ) m_SpeechLog = new List<SpeechLogEntry>( pm.SpeechLog ); m_Timer = new InternalTimer( this ); m_Timer.Start(); StaffHistory history = Reports.Reports.StaffHistory; if ( history != null ) { m_PageInfo = new PageInfo( this ); history.AddPage( m_PageInfo ); } }
public override void OnTalk( PlayerMobile player, bool contextMenu ) { QuestSystem qs = player.Quest; if ( qs is TheGraveDiggerQuest ) { QuestObjective obj = qs.FindObjective( typeof( VincentsLittleGirlObjective ) ); if ( obj != null && !obj.Completed ) { obj.Complete(); this.Say( "Sweetie that strange person over there is stairing at me." ); if ( this.BoyFriend != null ) { m_RespondTime = DateTime.Now + TimeSpan.FromSeconds( 1.0 ); m_Timer = new InternalTimer( this.BoyFriend, player, m_RespondTime ); m_Timer.Start(); m_Player = player; } } else { this.Say( "Yes? can i help you?" ); } } }
public ChiefParoxysmus() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "Chief Paroxysmus"; Body = 0x100; SetStr( 1200, 1400 ); SetDex( 75, 85 ); SetInt( 75, 85 ); SetHits( 50000 ); SetDamage( 28, 36 ); SetDamageType( ResistanceType.Physical, 80 ); SetDamageType( ResistanceType.Poison, 20 ); SetResistance( ResistanceType.Physical, 75, 85 ); SetResistance( ResistanceType.Fire, 40, 50 ); SetResistance( ResistanceType.Cold, 50, 60 ); SetResistance( ResistanceType.Poison, 55, 65 ); SetResistance( ResistanceType.Energy, 50, 60 ); SetSkill( SkillName.MagicResist, 120.0 ); SetSkill( SkillName.Tactics, 120.0 ); SetSkill( SkillName.Wrestling, 120.0 ); SetSkill( SkillName.Anatomy, 120.0 ); SetSkill( SkillName.Poisoning, 120.0 ); Fame = 32000; Karma = -32000; m_Timer = new TeleportTimer( this ); m_Timer.Start(); }
public CorpseSkull() : base(0x1AE1) { Movable = false; m_Timer = new DecayTimer(this); m_Timer.Start(); }
public DuelWall( bool northsouth, Mobile from, Mobile to ) : base(0x80) { m_From = from; m_To = to; Movable = false; if( northsouth ) { m_Item1 = new InternalItem( this, 1, 0 ); m_Item2 = new InternalItem( this, -1, 0 ); m_XOffset1 = 1; m_XOffset2 = -1; m_YOffset1 = 0; m_YOffset2 = 0; } else { m_Item1 = new InternalItem( this, 0, 1 ); m_Item2 = new InternalItem( this, 0, -1 ); m_XOffset1 = 0; m_XOffset2 = 0; m_YOffset1 = 1; m_YOffset2 = -1; } m_Timer = new InternalTimer( this, TimeSpan.FromSeconds( 10.0 ), m_From, m_To ); m_Timer.Start(); m_End = DateTime.Now + TimeSpan.FromSeconds( 3.0 ); Effects.PlaySound( new Point3D( X, Y, Z ), Map, 0x1F6 ); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { m_Caster = (BaseCreature)reader.ReadMobile(); goto case 0; } case 0: { m_End = reader.ReadDeltaTime(); m_Timer = new InternalTimer(this, TimeSpan.Zero, true, true); m_Timer.Start(); break; } } }
public PreviewHouse( int multiID ) : base( multiID | 0x8000 ) { m_Components = new List<Item>(); MultiComponentList mcl = this.Components; for ( int i = 1; i < mcl.List.Length; ++i ) { MultiTileEntry entry = mcl.List[i]; if ( entry.m_Flags == 0 ) { #region SA Item item = new Static( entry.m_ItemID & 0x7FFF ); #endregion item.MoveToWorld( new Point3D( X + entry.m_OffsetX, Y + entry.m_OffsetY, Z + entry.m_OffsetZ ), Map ); m_Components.Add( item ); } } m_Timer = new DecayTimer( this ); m_Timer.Start(); }
public BaseTreeSapling( Mobile sower ) : base( sower, 0xCE9 ) { m_Timer = new InternalTimer( this ); m_Timer.Start(); Name = "a sapling"; }
public CommunityBeeHive() : base(0x91a) { Name = "A Community BeeHive"; m_timer = new CommunityBeeHiveTimer( this ); m_timer.Start(); }
public void DoDamage(Mobile m) { if(m_DamageTimer != null && m_DamageTimer.Running) m_DamageTimer.Stop(); m_DamageTimer = new InternalTimer(this, m); m_DamageTimer.Start(); }
public override void OnCombatantChange() { if (Combatant != null && m_FellowsTimer == null) { m_FellowsTimer = new InternalTimer(this); m_FellowsTimer.Start(); } }
public void BeginSwing() { if ( m_Timer != null ) m_Timer.Stop(); m_Timer = new InternalTimer( this ); m_Timer.Start(); }
public void StartTimer() { if (m_Timer == null) { m_Timer = new InternalTimer(this); m_Timer.Start(); } }
public Wanderer() { this.Name = "Me"; this.Body = 0x1; this.AccessLevel = AccessLevel.GameMaster; m_Timer = new InternalTimer( this ); m_Timer.Start(); }
public CityVotingStone() : base( 3804 ) { Movable = false; Name = "city voting stone"; m_Time = DateTime.Now + PlayerGovernmentSystem.VoteUpdate; m_Timer = new CityElectionTimer( m_Time, this ); m_Timer.Start(); }
public ThePeddler() : base("le Colporteur") { Name = "Ikboul"; Female = false; SpeechHue = 234; peddlerSpeech = new PeddlerSpeechTimer(this); peddlerSpeech.Start(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadEncodedInt(); m_Timer = new InternalTimer( this ); m_Timer.Start(); }
public void BeginDecay( TimeSpan delay ) { if ( m_DecayTimer != null ) m_DecayTimer.Stop(); m_DecayTime = DateTime.Now + delay; m_DecayTimer = new InternalTimer( this, delay ); m_DecayTimer.Start(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); /*int version = */ reader.ReadInt(); m_SoundTimer = Timer.DelayCall( TimeSpan.Zero, TimeSpan.FromSeconds( 5.0 ), new TimerCallback( PlaySound ) ); m_SoundTimer.Start(); }
public NavreyParalyzingWeb() : base(0x0EE3 + Utility.Random(4) ) { Visible = true; Movable = false; m_Timer = new InternalTimer( this, duration ); m_Timer.Start(); m_End = DateTime.Now + duration; }
public Atomic() : base(0xF0D) { Movable = false; Hue = 1161; Name = "a bomb"; m_Timer = new DelayTimer(this); m_Timer.Start(); }
public override void OnDeath( Mobile m ) { bool toreturn = true; if ( m != null && !m.Deleted) { if (m is PlayerMobile && m_Controller.NoPlayerItemDrop) { if (m.Female) { m.FixedParticles(0x374A, 10, 30, 5013, 1153, 2, EffectLayer.Waist); m.Body = 403; m.Hidden = true; } else { m.FixedParticles(0x374A, 10, 30, 5013, 1153, 2, EffectLayer.Waist); m.Body = 402; m.Hidden = true; } m.Hidden = false; toreturn = false; } else if ( !(m is PlayerMobile) && m_Controller.NoNPCItemDrop) { if (m.Female) { m.FixedParticles(0x374A, 10, 30, 5013, 1153, 2, EffectLayer.Waist); m.Body = 403; m.Hidden = true; } else { m.FixedParticles(0x374A, 10, 30, 5013, 1153, 2, EffectLayer.Waist); m.Body = 402; m.Hidden = true; } m.Hidden = false; toreturn = false; } else toreturn = true; // Start a 1 second timer // The Timer will check if they need moving, corpse deleting etc. m_Timer = new MovePlayerTimer(m, m_Controller); m_Timer.Start(); // return base.OnDeath(m); } base.OnDeath(m); }
public static void Start(this ISerializable entity, Timer timer) { timer?.Start(); entity.MarkDirty(); }
static void Main(string[] args) { _rand = new Random(Environment.TickCount); SslConfig sslConfig; TcpConfig tcpConfig = new TcpConfig(true, 5000, 20000); Console.WriteLine("Setting up secure server"); sslConfig = new SslConfig(true, "cert.pfx", "", SslProtocols.Tls12); _webServer = new SimpleWebServer(10000, tcpConfig, 16 * 1024, 3000, sslConfig); _webServer.Start(Constants.GAME_PORT); Console.WriteLine("Server started"); _webServer.onConnect += WebServerOnConnect; _webServer.onData += WebServerOnData; _webServer.onDisconnect += WebServerOnDisconnect; Timer stateUpdateTimer = new Timer(1f / Constants.SERVER_TICKRATE * 1000); stateUpdateTimer.Elapsed += StateUpdateTimerOnElapsed; stateUpdateTimer.AutoReset = true; stateUpdateTimer.Enabled = true; while (!Console.KeyAvailable) { _webServer.ProcessMessageQueue(); // GUARD, DONT DO STATE STUFF IF WE ARE WAITING if (_waitingOnStateTimer) { continue; } switch (_currentState) { case GameState.Waiting: { if (_connectedIds.Count >= 2) { _currentState = GameState.Begin; SendStateUpdate(_currentState); } break; } case GameState.Begin: { // Set timer to go to builder state Timer beginTimer = new Timer(SECONDS_WAITING_IN_BEGIN * 1000); beginTimer.AutoReset = false; beginTimer.Start(); _waitingOnStateTimer = true; beginTimer.Elapsed += delegate(Object source, ElapsedEventArgs e) { _waitingOnStateTimer = false; _movedObjects = new List <ushort>(); _currentState = GameState.Builder; SendStateUpdate(_currentState); }; break; } case GameState.Builder: { // Set timer to go to builder state Timer buildTimer = new Timer(SECONDS_WAITING_IN_BUILD * 1000); buildTimer.AutoReset = false; buildTimer.Start(); _waitingOnStateTimer = true; buildTimer.Elapsed += delegate(Object source, ElapsedEventArgs e) { _waitingOnStateTimer = false; _currentState = GameState.Search; SendStateUpdate(_currentState); }; break; } } } Console.WriteLine("Closing server"); _webServer.Stop(); }
private async void GUI_Shown(object sender, EventArgs e) { OPT.LoadSettings(); DesCipher = new XDes(OPT.GetString("des.key")); Statistics.SetIO(); Statistics.StartUptime(); clientList = new Dictionary <int, Client>(); Output.Write(new Structures.Message() { Text = "Indexing legacy file names..." }); OPT.LoadLegacyIndex(); Output.Write(new Structures.Message() { Text = string.Format("[OK]\n\t- {0} legacy files indexed!", OPT.LegacyCount), AddBreak = true }); Output.Write(new Structures.Message() { Text = "Indexing delete file names..." }); OPT.LoadDeleteFiles(); Output.Write(new Structures.Message() { Text = string.Format("[OK]\n\t- {0} delete files indexed!", OPT.DeleteCount), AddBreak = true }); await Task.Run(() => { IndexManager.Build(false); }); Output.Write(new Structures.Message() { Text = "Checking for tmp directory..." }); if (!Directory.Exists(tmpPath)) { Directory.CreateDirectory(tmpPath); } Output.Write(new Structures.Message() { Text = "[OK]", AddBreak = true }); clearTmp(); Output.Write(new Structures.Message() { Text = string.Format("Initializing client listener...{0}", (ClientManager.Instance.Start()) ? "[OK]" : "[FAIL]"), AddBreak = true }); Output.Write(new Structures.Message() { Text = "Initializing Index Rebuild Service..." }); int rebuildInterval = OPT.GetInt("rebuild.interval") * 1000; indexTimer = new Timer() { Enabled = true, Interval = rebuildInterval }; indexTimer.Tick += indexTick; indexTimer.Start(); Output.Write(new Structures.Message() { Text = "[OK]", AddBreak = true }); Output.Write(new Structures.Message() { Text = "Initializing OTP Reset Service..." }); otpTimer = new Timer() { Enabled = true, Interval = 300000 }; otpTimer.Tick += otpTick; Output.Write(new Structures.Message() { Text = "[OK]", AddBreak = true }); Output.Write(new Structures.Message() { Text = "Initializing Statistics Update Service..." }); Statistics.StartUpdating(); Output.Write(new Structures.Message() { Text = "[OK]", AddBreak = true }); toolTip.SetToolTip(setWTBtn, "Sets the Updates folder last write time to the current time"); }
static void Main(string[] args) { _rand = new Random(Environment.TickCount); SslConfig sslConfig; TcpConfig tcpConfig = new TcpConfig(true, 5000, 20000); Console.WriteLine("Setting up secure server"); sslConfig = new SslConfig(true, "cert.pfx", "", SslProtocols.Tls12); _webServer = new SimpleWebServer(10000, tcpConfig, 16*1024, 3000, sslConfig); _webServer.Start(Constants.GAME_PORT); Console.WriteLine("Server started"); _webServer.onConnect += WebServerOnConnect; _webServer.onData += WebServerOnData; _webServer.onDisconnect += WebServerOnDisconnect; Timer stateUpdateTimer = new Timer(1f / Constants.SERVER_TICKRATE * 1000); stateUpdateTimer.Elapsed += StateUpdateTimerOnElapsed; stateUpdateTimer.AutoReset = true; stateUpdateTimer.Enabled = true; while (!Console.KeyAvailable) { _webServer.ProcessMessageQueue(); // GUARD, DONT DO STATE STUFF IF WE ARE WAITING if (_waitingOnStateTimer) continue; switch(_currentState) { case GameState.Waiting: { if (_handshakenClientCount >= 2) { _currentState = GameState.Begin; SendStateUpdate(_currentState); } break; } case GameState.Begin: { // Set timer to go to builder state beginTimer = new Timer(SECONDS_WAITING_IN_BEGIN * 1000); beginTimer.AutoReset = false; beginTimer.Start(); _waitingOnStateTimer = true; beginTimer.Elapsed += delegate(Object source, ElapsedEventArgs e) { _waitingOnStateTimer = false; _movedObjects = new Dictionary<ushort, Tuple<ushort, ushort>>(); _currentState = GameState.Builder; SendStateUpdate(_currentState); }; break; } case GameState.Builder: { // Set timer to go to builder state buildTimer = new Timer(SECONDS_WAITING_IN_BUILD * 1000); buildTimer.AutoReset = false; buildTimer.Start(); _waitingOnStateTimer = true; buildTimer.Elapsed += delegate(Object source, ElapsedEventArgs e) { _waitingOnStateTimer = false; // Reset everyones guesses foreach (PlayerData playerData in _playerDatas.Values) { playerData.guesses.Clear(); } _currentState = GameState.Search; SendStateUpdate(_currentState); }; break; } case GameState.Search: { // Set timer to go to scoring state searchTimer = new Timer(SECONDS_WAITING_IN_SEARCH * 1000); searchTimer.AutoReset = false; searchTimer.Start(); _waitingOnStateTimer = true; searchTimer.Elapsed += delegate(Object source, ElapsedEventArgs e) { _waitingOnStateTimer = false; _currentState = GameState.Scoring; SendStateUpdate(_currentState); }; break; } case GameState.Scoring: { // Set timer to wait for points to come in from clients scoringTimer = new Timer(SECONDS_WAITING_IN_SCORING * 1000); scoringTimer.AutoReset = false; scoringTimer.Start(); _waitingOnStateTimer = true; scoringTimer.Elapsed += delegate(Object source, ElapsedEventArgs e) { _waitingOnStateTimer = false; // Tell everyone everyones scores _bitBuffer.Clear(); _bitBuffer.AddByte(7); _bitBuffer.AddUShort((ushort)_playerDatas.Count); foreach (PlayerData data in _playerDatas.Values) { _bitBuffer.AddUShort(data.id); _bitBuffer.AddShort(data.points); Console.WriteLine($"Points: {data.id} {data.points}"); } _bitBuffer.ToArray(_buffer); _webServer.SendAll(_connectedIds, new ArraySegment<byte>(_buffer, 0, 3 + 4 * _playerDatas.Count)); if (_handshakenClientCount >= 2) { _currentState = GameState.Begin; } else { _currentState = GameState.Waiting; } SendStateUpdate(_currentState); }; break; } } } Console.WriteLine("Closing server"); _webServer.Stop(); }
static void Main(string[] args) { _rand = new Random(Environment.TickCount); SslConfig sslConfig; TcpConfig tcpConfig = new TcpConfig(true, 5000, 20000); Console.WriteLine("Setting up secure server"); sslConfig = new SslConfig(true, "cert.pfx", "", SslProtocols.Tls12); _webServer = new SimpleWebServer(10000, tcpConfig, 16 * 1024, 3000, sslConfig); _webServer.Start(Constants.GAME_PORT); Console.WriteLine("Server started"); _webServer.onConnect += WebServerOnConnect; _webServer.onData += WebServerOnData; _webServer.onDisconnect += WebServerOnDisconnect; Timer stateUpdateTimer = new Timer(1f / Constants.SERVER_TICKRATE * 1000); stateUpdateTimer.Elapsed += StateUpdateTimerOnElapsed; stateUpdateTimer.AutoReset = true; stateUpdateTimer.Enabled = true; while (!Console.KeyAvailable) { _webServer.ProcessMessageQueue(); // GUARD, DONT DO STATE STUFF IF WE ARE WAITING if (_waitingOnStateTimer) { continue; } switch (_currentState) { case GameState.Waiting: { if (_connectedIds.Count >= 2) { _currentState = GameState.Begin; SendStateUpdate(_currentState); } break; } case GameState.Begin: { // Set timer to go to builder state Timer beginTimer = new Timer(SECONDS_WAITING_IN_BEGIN * 1000); beginTimer.AutoReset = false; beginTimer.Start(); _waitingOnStateTimer = true; beginTimer.Elapsed += delegate(Object source, ElapsedEventArgs e) { _waitingOnStateTimer = false; _movedObjects = new List <ushort>(); _currentState = GameState.Builder; SendStateUpdate(_currentState); }; break; } case GameState.Builder: { // Set timer to go to builder state Timer buildTimer = new Timer(SECONDS_WAITING_IN_BUILD * 1000); buildTimer.AutoReset = false; buildTimer.Start(); _waitingOnStateTimer = true; buildTimer.Elapsed += delegate(Object source, ElapsedEventArgs e) { _waitingOnStateTimer = false; // Reset everyones guesses foreach (PlayerData playerData in _playerDatas.Values) { playerData.guesses.Clear(); } _currentState = GameState.Search; SendStateUpdate(_currentState); }; break; } case GameState.Search: { // Set timer to go to scoring state Timer searchTimer = new Timer(SECONDS_WAITING_IN_SEARCH * 1000); searchTimer.AutoReset = false; searchTimer.Start(); _waitingOnStateTimer = true; searchTimer.Elapsed += delegate(Object source, ElapsedEventArgs e) { _waitingOnStateTimer = false; _currentState = GameState.Scoring; SendStateUpdate(_currentState); }; break; } case GameState.Scoring: { _bitBuffer.Clear(); foreach (var playerData in _playerDatas.Values) { // GUARD, DON'T SCORE THE BUILDER THIS WAY if (playerData.id == _builderId) { continue; } // Free points for objects builder couldnt move // A point for a correct guess, minus point for a wrong guess int correct = _movedObjects.Distinct().Intersect(playerData.guesses).Count(); int points = (correct * 2) - playerData.guesses.Count + (NUMBER_OF_MOVEABLE_OBJECTS - _movedObjects.Count); } } } } Console.WriteLine("Closing server"); _webServer.Stop(); }