diff --git a/modules/common/src/main/mon.scala b/modules/common/src/main/mon.scala index cf394d2f09..be8fcfc87a 100644 --- a/modules/common/src/main/mon.scala +++ b/modules/common/src/main/mon.scala @@ -62,6 +62,7 @@ object mon { def acceptedRatedClock(clock: String) = inc(s"lobby.hook.a_r_clock.${clock.replace("+", "_")}") def joinMobile(isMobile: Boolean) = inc(s"lobby.hook.join_mobile.$isMobile") + def likePoolFiveO(isMobile: Boolean) = inc(s"lobby.hook.like_pool_5_0.$isMobile") } object seek { val create = inc("lobby.seek.create") diff --git a/modules/lobby/src/main/Hook.scala b/modules/lobby/src/main/Hook.scala index ab6b3c3a75..65ecda4046 100644 --- a/modules/lobby/src/main/Hook.scala +++ b/modules/lobby/src/main/Hook.scala @@ -6,10 +6,10 @@ import ornicar.scalalib.Random import play.api.libs.json._ import actorApi.LobbyUser +import lila.common.PimpedJson._ import lila.game.PerfPicker import lila.rating.RatingRange import lila.user.{ User, Perfs } -import lila.common.PimpedJson._ // realtime chess, volatile case class Hook( @@ -70,6 +70,9 @@ case class Hook( lazy val perfType = PerfPicker.perfType(speed, realVariant, none) + def likePoolFiveO = + realMode.rated && realVariant.standard && color == "random" && clock.show == "5+0" + private lazy val speed = Speed(clock.some) } diff --git a/modules/lobby/src/main/Socket.scala b/modules/lobby/src/main/Socket.scala index 11cb787f6d..5daa88d973 100644 --- a/modules/lobby/src/main/Socket.scala +++ b/modules/lobby/src/main/Socket.scala @@ -72,6 +72,9 @@ private[lobby] final class Socket( if (hook.uid == member.uid || Biter.canJoin(hook, member.user)) member push msg } } + if (hook.likePoolFiveO) withMember(hook.uid) { member => + lila.mon.lobby.hook.likePoolFiveO(member.mobile)() + } } case AddSeek(_) => notifySeeks