diff --git a/src/js/tribe.js b/src/js/tribe.js index 62a6f6201..fc31be535 100644 --- a/src/js/tribe.js +++ b/src/js/tribe.js @@ -210,6 +210,7 @@ function mp_joinRoomByCode(code) { } function mp_startTest() { + if (MP.room.newTestCooldown) return; MP.socket.emit("mp_room_test_start"); } @@ -1022,6 +1023,21 @@ MP.socket.on("mp_room_winner", (data) => { if (data.official) { hideResultCountdown(); // updateAllGraphs(graphs, data.maxRaw); + MP.room.newTestCooldown = true; + $("#result #nextTestButton").html( + `` + ); + $("#result #nextTestButton").attr( + "aria-label", + "Please wait for all players to view their result" + ); + setTimeout(() => { + MP.room.newTestCooldown = false; + $("#result #nextTestButton").html( + `` + ); + $("#result #nextTestButton").attr("aria-label", "Next test"); + }, 5000); } let userwon = false; data.sorted.forEach((sid) => { @@ -1052,15 +1068,36 @@ MP.socket.on("mp_room_winner", (data) => { }); MP.socket.on("mp_room_miniCrowns", (data) => { + let count = {}; Object.keys(data.crowns).forEach((c) => { let crown = data.crowns[c]; crown.sidList.forEach((sid) => { + if (count[sid] === undefined) { + count[sid] = 1; + } else { + count[sid]++; + } $(`.tribeResult table [socketId=${sid}] .${c} .miniCrown`).animate( { opacity: 0.5 }, 125 ); }); }); + Object.keys(count).forEach((sid) => { + if (count[sid] === 4) { + $(`.tribeResult table [socketId=${sid}] .crown`).append( + `
` + ); + $(`.tribeResult table [socketId=${sid}] .crown`).attr( + "aria-label", + "Dominated" + ); + $(`.tribeResult table [socketId=${sid}] .crown`).attr( + "data-balloon-pos", + "up" + ); + } + }); }); MP.socket.on("mp_room_points", (data) => { diff --git a/src/sass/style.scss b/src/sass/style.scss index 2b22743e0..77b155c19 100644 --- a/src/sass/style.scss +++ b/src/sass/style.scss @@ -1596,6 +1596,9 @@ key { color: var(--text-color); &.me { color: var(--main-color); + .crown .glow { + box-shadow: 0 0 1rem 0.2rem var(--main-color); + } } .progressAndGraph { width: 25%; @@ -1618,6 +1621,14 @@ key { } .crown { width: 1px; + .glow { + width: 5px; + height: 5px; + position: absolute; + margin-left: 0.45rem; + margin-top: -0.7rem; + box-shadow: 0 0 1rem 0.2rem var(--text-color); + } } .text { display: inline-block;