diff --git a/modules/pref/src/main/PieceSet.scala b/modules/pref/src/main/PieceSet.scala index 46f166e0b9..aa801de85e 100644 --- a/modules/pref/src/main/PieceSet.scala +++ b/modules/pref/src/main/PieceSet.scala @@ -28,7 +28,7 @@ sealed trait PieceSetObject { object PieceSet extends PieceSetObject { - val all = NonEmptyList("cburnett", "merida", "pirouetti", "alpha", "spatial", "light") map { name => new PieceSet(name) } + val all = NonEmptyList("cburnett", "merida", "pirouetti", "alpha", "spatial", "lightp") map { name => new PieceSet(name) } } object PieceSet3d extends PieceSetObject { diff --git a/modules/puzzle/src/main/Selector.scala b/modules/puzzle/src/main/Selector.scala index 69bfc8db32..9ec1d9f884 100644 --- a/modules/puzzle/src/main/Selector.scala +++ b/modules/puzzle/src/main/Selector.scala @@ -18,27 +18,26 @@ private[puzzle] final class Selector( toleranceMax: Int, modulo: Int) { - private val popularSelector = BSONDocument( - Puzzle.BSONFields.voteSum -> BSONDocument("$gt" -> BSONInteger(anonMinRating))) + private def popularSelector(mate: Boolean) = BSONDocument( + Puzzle.BSONFields.voteSum -> BSONDocument("$gt" -> BSONInteger(mate.fold(anonMinRating, 0)))) private def mateSelector(mate: Boolean) = BSONDocument("mate" -> mate) - private lazy val popularCount = puzzleColl.db command Count(puzzleColl.name, popularSelector.some) - private def difficultyDecay(difficulty: Int) = difficulty match { case 1 => -200 case 3 => +200 case _ => 0 } + val anonSkipMax = 2000 + def apply(me: Option[User], difficulty: Int): Fu[Puzzle] = { val isMate = scala.util.Random.nextBoolean me match { - case None => popularCount map (_ - 1) flatMap { skipMax => - puzzleColl.find(popularSelector ++ mateSelector(isMate)) - .options(QueryOpts(skipN = Random nextInt skipMax)) + case None => + puzzleColl.find(popularSelector(isMate) ++ mateSelector(isMate)) + .options(QueryOpts(skipN = Random nextInt anonSkipMax)) .one[Puzzle] flatten "Can't find a puzzle for anon player!" - } case Some(user) => api.attempt.playedIds(user, modulo) flatMap { ids => tryRange(user, toleranceStep, difficultyDecay(difficulty), ids, isMate) } diff --git a/public/piece/light/bB.png b/public/piece/lightp/bB.png similarity index 100% rename from public/piece/light/bB.png rename to public/piece/lightp/bB.png diff --git a/public/piece/light/bK.png b/public/piece/lightp/bK.png similarity index 100% rename from public/piece/light/bK.png rename to public/piece/lightp/bK.png diff --git a/public/piece/light/bN.png b/public/piece/lightp/bN.png similarity index 100% rename from public/piece/light/bN.png rename to public/piece/lightp/bN.png diff --git a/public/piece/light/bP.png b/public/piece/lightp/bP.png similarity index 100% rename from public/piece/light/bP.png rename to public/piece/lightp/bP.png diff --git a/public/piece/light/bQ.png b/public/piece/lightp/bQ.png similarity index 100% rename from public/piece/light/bQ.png rename to public/piece/lightp/bQ.png diff --git a/public/piece/light/bR.png b/public/piece/lightp/bR.png similarity index 100% rename from public/piece/light/bR.png rename to public/piece/lightp/bR.png diff --git a/public/piece/light/wB.png b/public/piece/lightp/wB.png similarity index 100% rename from public/piece/light/wB.png rename to public/piece/lightp/wB.png diff --git a/public/piece/light/wK.png b/public/piece/lightp/wK.png similarity index 100% rename from public/piece/light/wK.png rename to public/piece/lightp/wK.png diff --git a/public/piece/light/wN.png b/public/piece/lightp/wN.png similarity index 100% rename from public/piece/light/wN.png rename to public/piece/lightp/wN.png diff --git a/public/piece/light/wP.png b/public/piece/lightp/wP.png similarity index 100% rename from public/piece/light/wP.png rename to public/piece/lightp/wP.png diff --git a/public/piece/light/wQ.png b/public/piece/lightp/wQ.png similarity index 100% rename from public/piece/light/wQ.png rename to public/piece/lightp/wQ.png diff --git a/public/piece/light/wR.png b/public/piece/lightp/wR.png similarity index 100% rename from public/piece/light/wR.png rename to public/piece/lightp/wR.png diff --git a/public/stylesheets/board.css b/public/stylesheets/board.css index acf4217d40..d235f43af1 100644 --- a/public/stylesheets/board.css +++ b/public/stylesheets/board.css @@ -384,42 +384,42 @@ body.is2d.spatial .cg-piece.queen.black { body.is2d.spatial .cg-piece.king.black { background-image: url(../piece/spatial/bK.svg); } -body.is2d.light .cg-piece.pawn.white { - background-image: url(../piece/light/wP.png); +body.is2d.lightp .cg-piece.pawn.white { + background-image: url(../piece/lightp/wP.png); } -body.is2d.light .cg-piece.bishop.white { - background-image: url(../piece/light/wB.png); +body.is2d.lightp .cg-piece.bishop.white { + background-image: url(../piece/lightp/wB.png); } -body.is2d.light .cg-piece.knight.white, -#top .cg-piece.light { - background-image: url(../piece/light/wN.png); +body.is2d.lightp .cg-piece.knight.white, +#top .cg-piece.lightp { + background-image: url(../piece/lightp/wN.png); } -body.is2d.light .cg-piece.rook.white { - background-image: url(../piece/light/wR.png); +body.is2d.lightp .cg-piece.rook.white { + background-image: url(../piece/lightp/wR.png); } -body.is2d.light .cg-piece.queen.white { - background-image: url(../piece/light/wQ.png); +body.is2d.lightp .cg-piece.queen.white { + background-image: url(../piece/lightp/wQ.png); } -body.is2d.light .cg-piece.king.white { - background-image: url(../piece/light/wK.png); +body.is2d.lightp .cg-piece.king.white { + background-image: url(../piece/lightp/wK.png); } -body.is2d.light .cg-piece.pawn.black { - background-image: url(../piece/light/bP.png); +body.is2d.lightp .cg-piece.pawn.black { + background-image: url(../piece/lightp/bP.png); } -body.is2d.light .cg-piece.bishop.black { - background-image: url(../piece/light/bB.png); +body.is2d.lightp .cg-piece.bishop.black { + background-image: url(../piece/lightp/bB.png); } -body.is2d.light .cg-piece.knight.black { - background-image: url(../piece/light/bN.png); +body.is2d.lightp .cg-piece.knight.black { + background-image: url(../piece/lightp/bN.png); } -body.is2d.light .cg-piece.rook.black { - background-image: url(../piece/light/bR.png); +body.is2d.lightp .cg-piece.rook.black { + background-image: url(../piece/lightp/bR.png); } -body.is2d.light .cg-piece.queen.black { - background-image: url(../piece/light/bQ.png); +body.is2d.lightp .cg-piece.queen.black { + background-image: url(../piece/lightp/bQ.png); } -body.is2d.light .cg-piece.king.black { - background-image: url(../piece/light/bK.png); +body.is2d.lightp .cg-piece.king.black { + background-image: url(../piece/lightp/bK.png); } body.is2d.alpha .cg-piece.pawn.white { background-image: url(../piece/alpha/wP.svg); diff --git a/public/stylesheets/common.css b/public/stylesheets/common.css index 73f80e0cf5..eafac23714 100644 --- a/public/stylesheets/common.css +++ b/public/stylesheets/common.css @@ -499,7 +499,7 @@ div.content_box .loader:after { display: inline-block; } .none { - display: none!important; + display: none; } html { min-height: 100%; @@ -1008,8 +1008,11 @@ body.offline #nb_connected_players { display: block; padding: 5px 10px 10px 10px; } -#top #message_notifications_tag span:before, -#top #challenge_notifications_tag span:before { +#challenge_notifications_tag.none { + display: none!important; +} +#message_notifications_tag span:before, +#challenge_notifications_tag span:before { font-size: 1.45em; padding-left: 3px; }