コード例 #1
0
ファイル: MiscHandler.cs プロジェクト: PeterG75/CypherCore
 void HandleSetPvP(SetPvP packet)
 {
     if (!packet.EnablePVP)
     {
         GetPlayer().RemovePlayerFlag(PlayerFlags.InPVP);
         GetPlayer().AddPlayerFlag(PlayerFlags.PVPTimer);
         if (!GetPlayer().pvpInfo.IsHostile && GetPlayer().IsPvP())
             GetPlayer().pvpInfo.EndTimer = Time.UnixTime; // start toggle-off
     }
     else
     {
         GetPlayer().AddPlayerFlag(PlayerFlags.InPVP);
         GetPlayer().RemovePlayerFlag(PlayerFlags.PVPTimer);
         if (!GetPlayer().IsPvP() || GetPlayer().pvpInfo.EndTimer != 0)
             GetPlayer().UpdatePvP(true, true);
     }
 }
コード例 #2
0
ファイル: MiscHandler.cs プロジェクト: lyosky/CypherCore
 void HandleSetPvP(SetPvP packet)
 {
     if (packet.EnablePVP)
     {
         GetPlayer().AddPlayerFlag(PlayerFlags.InPVP);
         GetPlayer().RemovePlayerFlag(PlayerFlags.PVPTimer);
         if (!GetPlayer().IsPvP() || GetPlayer().pvpInfo.EndTimer != 0)
         {
             GetPlayer().UpdatePvP(true, true);
         }
     }
     else if (!GetPlayer().IsWarModeLocalActive())
     {
         GetPlayer().RemovePlayerFlag(PlayerFlags.InPVP);
         GetPlayer().AddPlayerFlag(PlayerFlags.PVPTimer);
         if (!GetPlayer().pvpInfo.IsHostile&& GetPlayer().IsPvP())
         {
             GetPlayer().pvpInfo.EndTimer = GameTime.GetGameTime() + 300; // start toggle-off
         }
     }
 }
コード例 #3
0
        void HandleSetPvP(SetPvP packet)
        {
            Player player = GetPlayer();

            player.ApplyModFlag(PlayerFields.Flags, PlayerFlags.InPVP, packet.EnablePVP);
            player.ApplyModFlag(PlayerFields.Flags, PlayerFlags.PVPTimer, !packet.EnablePVP);

            if (player.HasFlag(PlayerFields.Flags, PlayerFlags.InPVP))
            {
                if (!player.IsPvP() || player.pvpInfo.EndTimer != 0)
                {
                    player.UpdatePvP(true, true);
                }
            }
            else
            {
                if (!player.pvpInfo.IsHostile && player.IsPvP())
                {
                    player.pvpInfo.EndTimer = Time.UnixTime; // start set-off
                }
            }
        }