public void Update(TimeSpan elapsedTime) { if (!Has <Aisling>()) { return; } if (Has <Monster>()) { UpdateMonsters(elapsedTime); } if (Has <Mundane>()) { UpdateMundanes(elapsedTime); } if (Has <Item>() || Has <Money>()) { UpdateItems(elapsedTime); } WarpTimer.Update(elapsedTime); if (WarpTimer.Elapsed) { UpdateWarps(); WarpTimer.Reset(); } }
public override void Update(TimeSpan elapsedTime) { if (Client != null) { if (Client.Aisling.CurrentHp <= 0) { Client.Aisling.CurrentHp = 0; GrimTimer.Update(elapsedTime); if (GrimTimer.Elapsed) { OnDeath(Client, elapsedTime); GrimTimer.Reset(); } } else { if (Client.Aisling.Dead) { Revive(); } } } }
public override void Update(TimeSpan elapsedTime) { timer.Update(elapsedTime); if (timer.Elapsed) { timer.Reset(); var format20 = new ServerFormat20 { Shade = shade }; lock (Server.Clients) { foreach (var client in Server.Clients) { if (client != null) { client.Send(format20); } } } shade += 1; shade %= 18; } }
public void UpdateMonsterObjects(TimeSpan elapsedTime, IEnumerable <Monster> objects) { Reaper.Update(elapsedTime); var enumerable = objects as Monster[] ?? objects.ToArray(); if (Reaper.Elapsed) { Reaper.Reset(); foreach (var obj in enumerable) { if (obj != null && obj.Map != null && obj.Scripts != null) { if (obj.CurrentHp <= 0) { if (obj.Target != null) { foreach (var script in obj.Scripts.Values) { script.OnDeath(obj.Target.Client); } } } } } } foreach (var obj in enumerable) { if (obj != null && obj.Map != null && obj.Scripts != null) { if (obj.CurrentHp <= 0) { if (obj.Target != null) { if (!obj.Skulled) { foreach (var script in obj.Scripts.Values) { script.OnSkulled(obj.Target.Client); } obj.Skulled = true; } } } foreach (var script in obj.Scripts.Values) { script.Update(elapsedTime); } obj.UpdateBuffs(elapsedTime); obj.UpdateDebuffs(elapsedTime); obj.LastUpdated = DateTime.UtcNow; } } }
public override void Update(TimeSpan elapsedTime) { _timer.Update(elapsedTime); if (_timer.Elapsed) { var templates = ServerContext.GlobalMonsterTemplateCache.Values; if (templates.Count == 0) { return; } foreach (var map in ServerContext.GlobalMapCache.Values) { if (map == null || map.Rows == 0 || map.Cols == 0) { return; } var temps = templates.Where(i => i.AreaID == map.ID); foreach (var template in temps) { if (template != null) { if (template.Timer == null) { template.Timer = new GameServerTimer(TimeSpan.FromSeconds(template.SpawnRate)); } try { template.Timer.Update(DateTime.UtcNow - template.LastUpdate); } catch { template.LastUpdate = DateTime.UtcNow; } if (template.Timer.Elapsed) { if (template.SpawnOnlyOnActiveMaps && !map.Has <Aisling>()) { continue; } SpawnOn(template, map); template.LastUpdate = DateTime.UtcNow; template.Timer.Reset(); } } } } _timer.Reset(); } }
public override void Update(TimeSpan elapsedTime) { Timer.Update(elapsedTime); if (Timer.Elapsed) { ServerContext.SaveCommunityAssets(); Timer.Reset(); } }
public override void Update(TimeSpan elapsedTime) { Timer.Update(elapsedTime); if (Timer.Elapsed) { UpdateObjects(); Timer.Reset(); } }
public void Update(TimeSpan elapsedTime) { _updateTimer.Update(elapsedTime); if (!_updateTimer.Elapsed) { return; } UpdateAreaObjects(elapsedTime); _updateTimer.Reset(); }
public override void Update(TimeSpan elapsedTime) { _updateEventScheduler.Update(elapsedTime); _updateMediatorScheduler.Update(elapsedTime); if (_updateMediatorScheduler.Elapsed) { InvokeMediators(); _updateMediatorScheduler.Reset(); } }
public override void Update(TimeSpan elapsedTime) { if (Updating) { _timer.Update(elapsedTime); if (_timer.Elapsed) { _timer.Reset(); Lorule.Update(ManageSpawns); } } }
public override void Update(TimeSpan elapsedTime) { if (Client != null && Client.Aisling.LoggedIn) if (Client.Aisling.CurrentHp <= 0) { Client.Aisling.CurrentHp = 0; GrimTimer.Update(elapsedTime); if (GrimTimer.Elapsed) { OnDeath(Client, elapsedTime); GrimTimer.Reset(); } } }
public void UpdateMonsterObjects(TimeSpan elapsedTime, IEnumerable <Monster> objects) { _Reaper.Update(elapsedTime); if (_Reaper.Elapsed) { _Reaper.Reset(); foreach (var obj in objects) { if (obj != null && obj.Map != null && obj.Script != null) { if (obj.CurrentHp <= 0) { if (obj.Target != null) { obj.Script?.OnDeath(obj.Target.Client); } } } } } foreach (var obj in objects) { if (obj != null && obj.Map != null && obj.Script != null) { if (obj.CurrentHp <= 0) { if (obj.Target != null) { if (!obj.Skulled) { obj.Script?.OnSkulled(obj.Target.Client); obj.Skulled = true; } } } obj.Script.Update(elapsedTime); obj.UpdateBuffs(elapsedTime); obj.UpdateDebuffs(elapsedTime); obj.LastUpdated = DateTime.UtcNow; } } }
public void Update(TimeSpan elapsedTime) { UpdateTimer.Update(elapsedTime); if (UpdateTimer.Elapsed) { ObjectUpdate(elapsedTime); UpdateTimer.Reset(); } WarpTimer.Update(elapsedTime); if (WarpTimer.Elapsed) { UpdateWarps(); WarpTimer.Reset(); } }
public override void Update(TimeSpan elapsedTime) { _timer.Update(elapsedTime); if (!_timer.Elapsed) { return; } _timer.Reset(); var format20 = new ServerFormat20 { Shade = _shade }; if (Server.Clients == null) { return; } foreach (var client in Server.Clients.Where(client => client != null)) { if (client.Aisling != null && !client.Aisling.LoggedIn) { continue; } try { client.Send( client.Aisling?.Map != null && client.Aisling.Map.Flags.HasFlag(MapFlags.HasDayNight) ? format20 : new ServerFormat20()); } catch { // ignored } } _shade += 1; _shade %= 18; }
public void Update(TimeSpan elapsedTime) { UpdateTimer.Update(elapsedTime); if (UpdateTimer.Elapsed) { ObjectUpdate(elapsedTime); UpdateTimer.Reset(); } if (ServerContext.Config.ShowWarpAnimation) { WarpTimer.Update(elapsedTime); if (WarpTimer.Elapsed) { UpdateWarps(); WarpTimer.Reset(); } } }
public override void Update(TimeSpan elapsedTime) { _cacheEventScheduler.Update(elapsedTime); _updateEventScheduler.Update(elapsedTime); _updateMediatorScheduler.Update(elapsedTime); if (_cacheEventScheduler.Elapsed) { if (ServerContext.Config.CacheObjects) { Cache(); } _cacheEventScheduler.Reset(); } if (_updateMediatorScheduler.Elapsed) { InvokeMediators(); _updateMediatorScheduler.Reset(); } }