private static void KickPlayerFromEvent_Target(Mobile from, object o, object state) { if (o is PlayerMobile) { PlayerMobile player = (PlayerMobile)o; if (player.CurrentEvent != null) { player.CurrentEvent.RemovePlayer(player); from.SendMessage("The player has been kicked."); } else if (PvpCore.IsInDeathmatch(player)) { PvpCore.TryLeaveDM(player, true); from.SendMessage("The player has been kicked."); } else if (TournamentCore.IsInTournament(player)) { TournamentCore.TryLeaveTournament(player, true); from.SendMessage("The player has been kicked."); } else { from.SendMessage("That player is not in a game"); } } else { from.BeginTarget(-1, false, TargetFlags.None, new TargetStateCallback(KickPlayerFromEvent_Target), false); from.SendMessage("Target the player."); } }
protected override void OnTick() { if (m_DMStone != null && m_DMStone.m_Started && PvpCore.IsInDeathmatch(m_From)) { m_From.Frozen = false; m_From.Resurrect(); m_DMStone.RemovePlayer(m_From, true); } }
private static void Execute(CommandEventArgs e) { Mobile from = e.Mobile; DMStone stone = PvpCore.GetPlayerStone(e.Mobile); if (stone != null && stone.Started && PvpCore.IsInDeathmatch(from) && !from.Alive) { stone.doResurrection(from); } }
protected override void OnTick() { if (m_From.Alive || !PvpCore.IsInDeathmatch(m_From)) { Stop(); } else if (m_Count <= 0) { Stop(); } else { m_From.SendMessage(String.Format(m_DeathMessage, m_Count * 10)); m_Count--; } }
private static void ScoreEvent_Command(CommandEventArgs e) { BaseGame Game = ((PlayerMobile)e.Mobile).CurrentEvent; if (Game != null) { Game.AnnounceScore(e.Mobile); } else if (PvpCore.IsInDeathmatch(e.Mobile)) { PvpCore.TryShowScoreBoard(e.Mobile); } else { e.Mobile.SendAsciiMessage("You are not in an event."); } }
private static void ShowScore_Target(Mobile from, object o) { if (o is PlayerMobile) { PlayerMobile pm = o as PlayerMobile; BaseGame Game = pm.CurrentEvent; if (Game != null) { Game.AnnounceScore(from); } else if (PvpCore.IsInDeathmatch(pm)) { DMStone s = PvpCore.GetPlayerStone(pm); if (s != null) { s.ShowScore(from); } } else { from.BeginTarget(-1, false, TargetFlags.None, ShowScore_Target); from.SendMessage("Target a player in a game or a deathmatch stone"); } } else if (o is DMStone) { DMStone game = (DMStone)o; if (game.Started) { game.ShowScore(from); } else { from.SendAsciiMessage("This deathmatch is not running"); } } else { from.BeginTarget(-1, false, TargetFlags.None, ShowScore_Target); from.SendMessage("Target a player in a game or a deathmatch stone"); } }
public override bool OnMoveOver(Mobile m) { if (!Visible) { return(true); } if (m == null || !m.Player) { return(true); } if (!PvpCore.IsInDeathmatch(m)) { return(true); } Visible = false; StatMod mod = m.GetStatMod(String.Format("[DM] {0}", m_PowerUp)); if (mod != null) { m.RemoveStatMod(String.Format("[DM] {0}", m_PowerUp)); } switch (m_PowerUp) { case PowerUpType.Dex: { m.FixedParticles(0x3779, 10, 15, 5009, EffectLayer.Waist); m.PlaySound(0x1E6); m.AddStatMod(new StatMod(StatType.Dex, String.Format("[DM] {0}", m_PowerUp), 5, TimeSpan.FromMinutes(1.0))); break; } case PowerUpType.Fury: { m.FixedParticles(0x3779, 10, 15, 5009, EffectLayer.Waist); m.PlaySound(0x1E6); m.AddStatMod(new StatMod(StatType.All, String.Format("[DM] {0}", m_PowerUp), 5, TimeSpan.FromMinutes(1.0))); break; } case PowerUpType.Int: { m.FixedParticles(0x3779, 10, 15, 5009, EffectLayer.Waist); m.PlaySound(0x1E6); m.AddStatMod(new StatMod(StatType.Int, String.Format("[DM] {0}", m_PowerUp), 5, TimeSpan.FromMinutes(1.0))); break; } case PowerUpType.Rage: { m.FixedParticles(0x3779, 10, 15, 5009, EffectLayer.Waist); m.PlaySound(0x1E6); m.AddStatMod(new StatMod(StatType.All, String.Format("[DM] {0}", m_PowerUp), 10, TimeSpan.FromMinutes(1.0))); break; } case PowerUpType.Spirit: { m.FixedParticles(0x3779, 10, 15, 5009, EffectLayer.Waist); m.PlaySound(0x1E6); m.AddStatMod(new StatMod(StatType.Int, String.Format("[DM] {0}", m_PowerUp), 15, TimeSpan.FromMinutes(1.0))); break; } case PowerUpType.Str: { m.FixedParticles(0x3779, 10, 15, 5009, EffectLayer.Waist); m.PlaySound(0x1E6); m.AddStatMod(new StatMod(StatType.Str, String.Format("[DM] {0}", m_PowerUp), 5, TimeSpan.FromMinutes(1.0))); break; } case PowerUpType.Supremacy: { m.FixedParticles(0x3779, 10, 15, 5009, EffectLayer.Waist); m.PlaySound(0x1E6); m.AddStatMod(new StatMod(StatType.All, String.Format("[DM] {0}", m_PowerUp), 20, TimeSpan.FromSeconds(20.0))); break; } } new RespawnTimer(this).Start(); return(true); }