public override void PlayerLeft(object room, RoomPlayerEventArgs e) { if (StateMachine.IsInState(GameRuleState.FirstHalf)) { e.Player.Chasser.ChaserWon++; } base.PlayerLeft(room, e); }
public override void PlayerLeft(object room, RoomPlayerEventArgs e) { if (StateMachine.IsInState(GameRuleState.FirstHalf) || StateMachine.IsInState(GameRuleState.HalfTime) || StateMachine.IsInState(GameRuleState.SecondHalf)) { e.Player.DeathMatch.Loss++; } base.PlayerLeft(room, e); }
public override void PlayerJoined(object room, RoomPlayerEventArgs e) { base.PlayerJoined(room, e); e.Player.Session.SendAsync(new SArcadeStageBriefingAckMessage { Unk1 = Stage, Unk2 = SubStage, Data = new byte[] { 0, 0, 0 } }); }
public override void PlayerLeft(object room, RoomPlayerEventArgs e) { e.Player.BattleRoyal.Loss++; base.PlayerLeft(room, e); }
public virtual void PlayerLeft(object room, RoomPlayerEventArgs e) { var plr = e.Player; plr.Mission.OnGoinClear(); var b = plr.CharacterManager.Boosts.GetItems().First(); if (b != null) { b.PlayTime += plr.RoomInfo.PlayTime; } // Change item status foreach (var @char in plr.CharacterManager) { var sec = plr.RoomInfo.CharacterPlayTime[@char.Slot]; var loss = (int)plr.RoomInfo.CharacterPlayTime[@char.Slot].TotalMinutes * Config.Instance.Game.DurabilityLossPerMinute; loss += plr.RoomInfo.CharacterDeaths[@char.Slot] * Config.Instance.Game.DurabilityLossPerDeath; foreach (var item in @char.Weapons.GetItems().Where(item => item != null && item.Durability != -1)) { if (item.PeriodType == ItemPeriodType.Hours) { item.PlayTime += sec; if (item.PlayTime >= TimeSpan.FromHours(item.Period)) { plr.Inventory.Remove(item); } else { plr.Inventory.Update(item); } } else if (item.PeriodType == ItemPeriodType.None) { item.LoseDurabilityAsync(loss).Wait(); } } foreach (var item in @char.Costumes.GetItems().Where(item => item != null && item.Durability != -1)) { if (item.PeriodType == ItemPeriodType.Hours) { item.PlayTime += sec; if (item.PlayTime >= TimeSpan.FromHours(item.Period)) { plr.Inventory.Remove(item); } else { plr.Inventory.Update(item); } } else if (item.PeriodType == ItemPeriodType.None) { item.LoseDurabilityAsync(loss).Wait(); } } foreach (var item in @char.Skills.GetItems().Where(item => item != null && item.Durability != -1)) { item.LoseDurabilityAsync(loss).Wait(); if (item.PeriodType == ItemPeriodType.Hours) { item.PlayTime += sec; if (item.PlayTime >= TimeSpan.FromHours(item.Period)) { plr.Inventory.Remove(item); } else { plr.Inventory.Update(item); } } else if (item.PeriodType == ItemPeriodType.None) { item.LoseDurabilityAsync(loss).Wait(); } } } }
public virtual void PlayerJoined(object room, RoomPlayerEventArgs e) { }