Add gentlemans to stage strike
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
aria-hidden="true"
|
||||
focusable="false"
|
||||
data-prefix="fas"
|
||||
data-icon="check-circle"
|
||||
class="svg-inline--fa fa-check-circle fa-w-16"
|
||||
role="img"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="stage_gentlemans.svg"
|
||||
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.3285873"
|
||||
inkscape:cx="241.98635"
|
||||
inkscape:cy="276.60959"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-center="true"
|
||||
inkscape:snap-text-baseline="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<circle
|
||||
style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="path835"
|
||||
cx="256"
|
||||
cy="256"
|
||||
r="256" />
|
||||
<path
|
||||
id="rect974"
|
||||
style="color:#000000;overflow:visible;fill:#4caf50;fill-opacity:1;fill-rule:evenodd;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers"
|
||||
d="M 256,49.005859 C 141.67944,49.005859 49.005859,141.67944 49.005859,256 49.005859,370.32056 141.67944,462.99414 256,462.99414 370.32056,462.99414 462.99414,370.32056 462.99414,256 462.99414,141.67944 370.32056,49.005859 256,49.005859 Z"
|
||||
sodipodi:nodetypes="sssss" />
|
||||
<path
|
||||
d="m 254.31174,370.72484 q 1.6896,0 3.8861,-0.8448 2.19652,-0.84481 3.5482,-2.1965 L 375.62607,253.46557 q 4.393,-4.39299 6.58952,-10.02516 2.19649,-5.63182 2.19649,-11.26397 0,-5.7447 -2.19649,-11.48939 -2.19652,-5.74469 -6.58952,-10.1377 l -60.82613,-60.82612 q -4.39299,-4.39301 -10.13768,-6.5895 -5.7447,-2.1965 -11.48939,-2.1965 -5.63216,0 -11.26399,2.1965 -5.63215,2.19649 -10.02516,6.5895 l -6.08261,6.0826 27.37176,27.70969 q 4.39299,4.73092 7.77223,10.98249 3.37923,6.25158 3.37923,13.68589 0,12.84107 -9.96872,22.64084 -9.96874,9.79977 -22.80979,9.79977 -8.44808,0 -14.02382,-2.53444 -5.57573,-2.53441 -10.20021,-7.21161 l -24.77482,-24.7221 -61.16404,61.16405 q -1.68962,1.68963 -2.36546,3.55699 -0.67586,1.86769 -0.67586,4.00168 0,4.26864 2.87235,7.14099 2.87234,2.87234 7.15282,2.87234 2.14006,0 3.99863,-1.01378 1.85858,-1.01376 3.21028,-2.36545 l 46.63337,-46.63336 14.19276,14.19276 -46.29543,46.29545 q -1.68962,1.68961 -2.36546,3.71715 -0.67586,2.02754 -0.67586,4.05507 0,4.05508 3.04132,7.09638 3.0413,3.04131 7.09637,3.04131 2.02754,0 3.88612,-0.84481 1.85857,-0.8448 3.21027,-2.1965 l 46.63336,-46.63336 14.19277,14.19277 -46.29546,46.29544 q -1.35168,1.35169 -2.1965,3.49176 -0.8448,2.14039 -0.8448,4.28047 0,4.05507 3.0413,7.09638 3.04131,3.04131 7.09639,3.04131 2.02754,0 3.71715,-0.67586 1.68962,-0.67584 3.37922,-2.36545 l 46.63338,-46.63337 14.19276,14.19276 -46.63337,46.63337 q -1.68962,1.68962 -2.36546,3.71716 -0.67584,2.02754 -0.67584,3.71715 0,4.73092 2.70338,7.4343 2.70338,2.70338 7.43431,2.70338 z m 0.0203,20.27538 q -11.17308,0 -19.95906,-8.27911 -8.78601,-8.27912 -10.47562,-20.48455 -11.48937,-1.64942 -19.26161,-9.42164 -7.77222,-7.77223 -9.46184,-19.26161 -11.48939,-1.68961 -19.09266,-9.6308 -7.60326,-7.94119 -9.29287,-19.09264 -12.50315,-1.68962 -20.6133,-10.13769 -8.11016,-8.44807 -8.11016,-20.27538 0,-5.7447 2.27219,-11.50594 2.27221,-5.76126 6.51381,-10.12113 l 75.69475,-75.69473 37.17152,37.17152 q 2.70338,2.70338 5.85722,4.22404 3.15418,1.52065 6.30801,1.52065 4.393,0 8.27911,-3.88611 3.88611,-3.88611 3.88611,-8.33117 0,-1.97549 -1.18272,-4.5099 -1.18273,-2.53443 -3.88612,-5.23781 l -48.32297,-48.32298 q -4.39301,-4.39302 -10.1377,-6.58951 -5.7447,-2.1965 -11.48939,-2.1965 -5.63215,0 -11.26397,2.1965 -5.63217,2.19649 -10.00523,6.54117 l -51.38424,51.41261 q -4.73092,4.73093 -6.58949,9.96873 -1.85858,5.23781 -2.19651,11.8273 -0.33791,6.5895 2.53443,12.84109 2.87235,6.25157 6.92741,11.32042 l -14.53067,14.53068 q -6.75847,-7.43432 -10.98251,-17.90993 -4.22403,-10.47559 -4.22403,-21.28914 0,-10.13768 3.88612,-19.43058 3.88611,-9.29287 10.98249,-16.38925 l 51.02636,-51.02636 q 7.4343,-7.43432 16.8262,-10.98251 9.39224,-3.54818 19.26161,-3.54818 9.86972,0 19.1626,3.54818 9.29288,3.54819 16.72718,10.98251 l 6.08262,6.08261 6.08261,-6.08261 q 7.43431,-7.43432 16.82621,-10.98251 9.39222,-3.54818 19.2616,-3.54818 9.86971,0 19.16259,3.54818 9.29288,3.54819 16.72719,10.98251 l 60.48821,60.4882 q 7.4343,7.43431 11.15146,16.9073 3.71715,9.47299 3.71715,19.26161 0,9.78861 -3.71715,19.08149 -3.71716,9.29289 -11.15146,16.72719 L 275.93747,381.8763 q -4.39301,4.39299 -9.97955,6.75845 -5.58653,2.36547 -11.6259,2.36547 z m -33.1381,-184.50594 z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.63732;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.2 KiB |
@@ -84,3 +84,6 @@ body {
|
||||
.stamp.stage-selected {
|
||||
background-image: url(./stage_select.svg);
|
||||
}
|
||||
.stamp.stage-selected-gentlemans {
|
||||
background-image: url(./stage_gentlemans.svg);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
function IsStageBanned(ruleset, state, stage) {
|
||||
let banList = GetBannedStages(ruleset, state);
|
||||
|
||||
console.log("banList", banList)
|
||||
console.log("banList", banList);
|
||||
|
||||
let found = banList.findIndex((e) => e === stage);
|
||||
if (found !== -1) {
|
||||
@@ -32,15 +32,8 @@
|
||||
}
|
||||
|
||||
function IsStageStriked(state, stage, previously = false) {
|
||||
for (
|
||||
let i = 0;
|
||||
i < Object.values(state.strikedStages).length;
|
||||
i += 1
|
||||
) {
|
||||
if (
|
||||
i === Object.values(state.strikedStages).length - 1 &&
|
||||
previously
|
||||
) {
|
||||
for (let i = 0; i < Object.values(state.strikedStages).length; i += 1) {
|
||||
if (i === Object.values(state.strikedStages).length - 1 && previously) {
|
||||
continue;
|
||||
}
|
||||
let round = Object.values(state.strikedStages)[i];
|
||||
@@ -82,30 +75,30 @@
|
||||
teamName = team.teamName;
|
||||
}
|
||||
|
||||
if(teamName == ""){
|
||||
teamName = "P"+(t+1)
|
||||
if (teamName == "") {
|
||||
teamName = "P" + (t + 1);
|
||||
}
|
||||
|
||||
teamNames.push(teamName);
|
||||
});
|
||||
|
||||
console.log(data.score.teamsSwapped)
|
||||
console.log(data.score.teamsSwapped);
|
||||
|
||||
if(data.score.teamsSwapped == true){
|
||||
teamNames = teamNames.reverse()
|
||||
if (data.score.teamsSwapped == true) {
|
||||
teamNames = teamNames.reverse();
|
||||
}
|
||||
|
||||
console.log(teamNames)
|
||||
console.log(teamNames);
|
||||
|
||||
console.log(data.score.stage_strike)
|
||||
console.log(data.score.stage_strike);
|
||||
|
||||
let allStages = data.score.ruleset.neutralStages;
|
||||
|
||||
if(data.score.stage_strike.currGame > 0){
|
||||
allStages = allStages.concat(data.score.ruleset.counterpickStages)
|
||||
if (data.score.stage_strike.currGame > 0) {
|
||||
allStages = allStages.concat(data.score.ruleset.counterpickStages);
|
||||
}
|
||||
|
||||
console.log(allStages)
|
||||
console.log(allStages);
|
||||
|
||||
allStages.forEach((stage) => {
|
||||
let path = stage.path;
|
||||
@@ -117,14 +110,21 @@
|
||||
? `<div class="stage-striked stamp"></div>`
|
||||
: ""
|
||||
}
|
||||
${IsStageBanned(data.score.ruleset, data.score.stage_strike, stage.codename)
|
||||
${
|
||||
IsStageBanned(
|
||||
data.score.ruleset,
|
||||
data.score.stage_strike,
|
||||
stage.codename
|
||||
)
|
||||
? `<div class="stage-dsr stamp"></div>`
|
||||
: ""
|
||||
}
|
||||
${
|
||||
data.score.stage_strike.selectedStage &&
|
||||
data.score.stage_strike.selectedStage == stage.codename
|
||||
? `<div class="stage-selected stamp"></div>`
|
||||
? data.score.stage_strike.gentlemans
|
||||
? `<div class="stage-selected-gentlemans stamp"></div>`
|
||||
: `<div class="stage-selected stamp"></div>`
|
||||
: ""
|
||||
}
|
||||
</div>
|
||||
@@ -135,12 +135,18 @@
|
||||
</div>
|
||||
${
|
||||
IsStageStriked(data.score.stage_strike, stage.codename) &&
|
||||
(data.score.stage_strike.strikedBy[0].includes(stage.codename) ||
|
||||
data.score.stage_strike.strikedBy[1].includes(stage.codename))
|
||||
(data.score.stage_strike.strikedBy[0].includes(
|
||||
stage.codename
|
||||
) ||
|
||||
data.score.stage_strike.strikedBy[1].includes(
|
||||
stage.codename
|
||||
))
|
||||
? `<div class="banned-by-name">
|
||||
<div class="text">
|
||||
${
|
||||
data.score.stage_strike.strikedBy[0].includes(stage.codename)
|
||||
data.score.stage_strike.strikedBy[0].includes(
|
||||
stage.codename
|
||||
)
|
||||
? teamNames[0]
|
||||
: teamNames[1]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
aria-hidden="true"
|
||||
focusable="false"
|
||||
data-prefix="fas"
|
||||
data-icon="check-circle"
|
||||
class="svg-inline--fa fa-check-circle fa-w-16"
|
||||
role="img"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="stage_gentlemans.svg"
|
||||
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.3285873"
|
||||
inkscape:cx="241.98635"
|
||||
inkscape:cy="276.60959"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-center="true"
|
||||
inkscape:snap-text-baseline="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<circle
|
||||
style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="path835"
|
||||
cx="256"
|
||||
cy="256"
|
||||
r="256" />
|
||||
<path
|
||||
id="rect974"
|
||||
style="color:#000000;overflow:visible;fill:#4caf50;fill-opacity:1;fill-rule:evenodd;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers"
|
||||
d="M 256,49.005859 C 141.67944,49.005859 49.005859,141.67944 49.005859,256 49.005859,370.32056 141.67944,462.99414 256,462.99414 370.32056,462.99414 462.99414,370.32056 462.99414,256 462.99414,141.67944 370.32056,49.005859 256,49.005859 Z"
|
||||
sodipodi:nodetypes="sssss" />
|
||||
<path
|
||||
d="m 254.31174,370.72484 q 1.6896,0 3.8861,-0.8448 2.19652,-0.84481 3.5482,-2.1965 L 375.62607,253.46557 q 4.393,-4.39299 6.58952,-10.02516 2.19649,-5.63182 2.19649,-11.26397 0,-5.7447 -2.19649,-11.48939 -2.19652,-5.74469 -6.58952,-10.1377 l -60.82613,-60.82612 q -4.39299,-4.39301 -10.13768,-6.5895 -5.7447,-2.1965 -11.48939,-2.1965 -5.63216,0 -11.26399,2.1965 -5.63215,2.19649 -10.02516,6.5895 l -6.08261,6.0826 27.37176,27.70969 q 4.39299,4.73092 7.77223,10.98249 3.37923,6.25158 3.37923,13.68589 0,12.84107 -9.96872,22.64084 -9.96874,9.79977 -22.80979,9.79977 -8.44808,0 -14.02382,-2.53444 -5.57573,-2.53441 -10.20021,-7.21161 l -24.77482,-24.7221 -61.16404,61.16405 q -1.68962,1.68963 -2.36546,3.55699 -0.67586,1.86769 -0.67586,4.00168 0,4.26864 2.87235,7.14099 2.87234,2.87234 7.15282,2.87234 2.14006,0 3.99863,-1.01378 1.85858,-1.01376 3.21028,-2.36545 l 46.63337,-46.63336 14.19276,14.19276 -46.29543,46.29545 q -1.68962,1.68961 -2.36546,3.71715 -0.67586,2.02754 -0.67586,4.05507 0,4.05508 3.04132,7.09638 3.0413,3.04131 7.09637,3.04131 2.02754,0 3.88612,-0.84481 1.85857,-0.8448 3.21027,-2.1965 l 46.63336,-46.63336 14.19277,14.19277 -46.29546,46.29544 q -1.35168,1.35169 -2.1965,3.49176 -0.8448,2.14039 -0.8448,4.28047 0,4.05507 3.0413,7.09638 3.04131,3.04131 7.09639,3.04131 2.02754,0 3.71715,-0.67586 1.68962,-0.67584 3.37922,-2.36545 l 46.63338,-46.63337 14.19276,14.19276 -46.63337,46.63337 q -1.68962,1.68962 -2.36546,3.71716 -0.67584,2.02754 -0.67584,3.71715 0,4.73092 2.70338,7.4343 2.70338,2.70338 7.43431,2.70338 z m 0.0203,20.27538 q -11.17308,0 -19.95906,-8.27911 -8.78601,-8.27912 -10.47562,-20.48455 -11.48937,-1.64942 -19.26161,-9.42164 -7.77222,-7.77223 -9.46184,-19.26161 -11.48939,-1.68961 -19.09266,-9.6308 -7.60326,-7.94119 -9.29287,-19.09264 -12.50315,-1.68962 -20.6133,-10.13769 -8.11016,-8.44807 -8.11016,-20.27538 0,-5.7447 2.27219,-11.50594 2.27221,-5.76126 6.51381,-10.12113 l 75.69475,-75.69473 37.17152,37.17152 q 2.70338,2.70338 5.85722,4.22404 3.15418,1.52065 6.30801,1.52065 4.393,0 8.27911,-3.88611 3.88611,-3.88611 3.88611,-8.33117 0,-1.97549 -1.18272,-4.5099 -1.18273,-2.53443 -3.88612,-5.23781 l -48.32297,-48.32298 q -4.39301,-4.39302 -10.1377,-6.58951 -5.7447,-2.1965 -11.48939,-2.1965 -5.63215,0 -11.26397,2.1965 -5.63217,2.19649 -10.00523,6.54117 l -51.38424,51.41261 q -4.73092,4.73093 -6.58949,9.96873 -1.85858,5.23781 -2.19651,11.8273 -0.33791,6.5895 2.53443,12.84109 2.87235,6.25157 6.92741,11.32042 l -14.53067,14.53068 q -6.75847,-7.43432 -10.98251,-17.90993 -4.22403,-10.47559 -4.22403,-21.28914 0,-10.13768 3.88612,-19.43058 3.88611,-9.29287 10.98249,-16.38925 l 51.02636,-51.02636 q 7.4343,-7.43432 16.8262,-10.98251 9.39224,-3.54818 19.26161,-3.54818 9.86972,0 19.1626,3.54818 9.29288,3.54819 16.72718,10.98251 l 6.08262,6.08261 6.08261,-6.08261 q 7.43431,-7.43432 16.82621,-10.98251 9.39222,-3.54818 19.2616,-3.54818 9.86971,0 19.16259,3.54818 9.29288,3.54819 16.72719,10.98251 l 60.48821,60.4882 q 7.4343,7.43431 11.15146,16.9073 3.71715,9.47299 3.71715,19.26161 0,9.78861 -3.71715,19.08149 -3.71716,9.29289 -11.15146,16.72719 L 275.93747,381.8763 q -4.39301,4.39299 -9.97955,6.75845 -5.58653,2.36547 -11.6259,2.36547 z m -33.1381,-184.50594 z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.63732;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.2 KiB |
@@ -18,6 +18,7 @@ class TSHStageStrikeLogic():
|
||||
self.bestOf = None
|
||||
self.timestamp = 0
|
||||
self.serverTimestamp = 0
|
||||
self.gentlemans = False
|
||||
|
||||
def ExportState(self):
|
||||
StateManager.Set("score.stage_strike", {
|
||||
@@ -29,7 +30,8 @@ class TSHStageStrikeLogic():
|
||||
"stagesWon": self.stagesWon,
|
||||
"stagesPicked": self.stagesPicked,
|
||||
"selectedStage": self.selectedStage,
|
||||
"lastWinner": self.lastWinner
|
||||
"lastWinner": self.lastWinner,
|
||||
"gentlemans": self.gentlemans
|
||||
})
|
||||
|
||||
def SetRuleset(self, ruleset):
|
||||
@@ -48,6 +50,7 @@ class TSHStageStrikeLogic():
|
||||
self.selectedStage = None
|
||||
self.lastWinner = -1
|
||||
self.serverTimestamp = 0
|
||||
self.gentlemans = False
|
||||
|
||||
self.ExportState()
|
||||
|
||||
@@ -55,6 +58,7 @@ class TSHStageStrikeLogic():
|
||||
|
||||
def RpsResult(self, player):
|
||||
print("RPS won by", player)
|
||||
self.lastWinner = player
|
||||
self.currPlayer = player
|
||||
self.ExportState()
|
||||
|
||||
@@ -103,7 +107,7 @@ class TSHStageStrikeLogic():
|
||||
def StageClicked(self, stage):
|
||||
print("Clicked on stage", stage.get("codename"))
|
||||
|
||||
if self.currGame > 0 and self.currStep > 0:
|
||||
if (self.currGame > 0 and self.currStep > 0) or self.gentlemans:
|
||||
# we're picking
|
||||
if not self.IsStageBanned(stage.get("codename")) and not self.IsStageStriked(stage.get("codename")):
|
||||
self.selectedStage = stage.get("codename")
|
||||
@@ -162,6 +166,7 @@ class TSHStageStrikeLogic():
|
||||
self.strikedStages = [[]]
|
||||
self.selectedStage = None
|
||||
self.strikedBy = [[], []]
|
||||
self.gentlemans = False
|
||||
|
||||
self.lastWinner = id
|
||||
|
||||
@@ -170,4 +175,16 @@ class TSHStageStrikeLogic():
|
||||
self.ConfirmClicked()
|
||||
|
||||
self.ExportState()
|
||||
#self.UpdateStreamScore();
|
||||
#self.UpdateStreamScore();
|
||||
|
||||
def SetGentlemans(self, value):
|
||||
print(f"Setting gentlemans to {value}")
|
||||
self.gentlemans = value
|
||||
|
||||
self.currPlayer = self.lastWinner
|
||||
self.currStep = 0
|
||||
self.strikedStages = [[]]
|
||||
self.strikedBy = [[], []]
|
||||
self.selectedStage = None
|
||||
|
||||
self.ExportState()
|
||||
@@ -87,6 +87,11 @@ class WebServer(QThread):
|
||||
WebServer.team_scoreup(teams[int(json.loads(request.get_data()).get("winner"))])
|
||||
|
||||
return "OK"
|
||||
|
||||
@app.route('/set_gentlemans', methods=['POST'])
|
||||
def set_gentlemans():
|
||||
WebServer.stageWidget.stageStrikeLogic.SetGentlemans(json.loads(request.get_data()).get("value"))
|
||||
return "OK"
|
||||
|
||||
@app.route('/reset', methods=['POST'])
|
||||
def reset():
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
{
|
||||
"files": {
|
||||
"main.css": "/stage_strike_app/build/static/css/main.82dbf9bd.css",
|
||||
"main.js": "/stage_strike_app/build/static/js/main.c7074473.js",
|
||||
"main.css": "/stage_strike_app/build/static/css/main.c0e2f17b.css",
|
||||
"main.js": "/stage_strike_app/build/static/js/main.557bfe86.js",
|
||||
"static/js/787.38693322.chunk.js": "/stage_strike_app/build/static/js/787.38693322.chunk.js",
|
||||
"static/media/logo.svg": "/stage_strike_app/build/static/media/logo.0672973db86abe0e1002e2348284f0e9.svg",
|
||||
"static/media/stage_gentlemans.svg": "/stage_strike_app/build/static/media/stage_gentlemans.0f86d7c03cfac3aa120b.svg",
|
||||
"static/media/stage_dsr.svg": "/stage_strike_app/build/static/media/stage_dsr.b691229038cc875107cc.svg",
|
||||
"static/media/stage_strike.svg": "/stage_strike_app/build/static/media/stage_strike.2a63ee3027ea819a797a.svg",
|
||||
"static/media/stage_select.svg": "/stage_strike_app/build/static/media/stage_select.93f1de5f83321b0d15a0.svg",
|
||||
"index.html": "/stage_strike_app/build/index.html",
|
||||
"main.82dbf9bd.css.map": "/stage_strike_app/build/static/css/main.82dbf9bd.css.map",
|
||||
"main.c7074473.js.map": "/stage_strike_app/build/static/js/main.c7074473.js.map",
|
||||
"main.c0e2f17b.css.map": "/stage_strike_app/build/static/css/main.c0e2f17b.css.map",
|
||||
"main.557bfe86.js.map": "/stage_strike_app/build/static/js/main.557bfe86.js.map",
|
||||
"787.38693322.chunk.js.map": "/stage_strike_app/build/static/js/787.38693322.chunk.js.map"
|
||||
},
|
||||
"entrypoints": [
|
||||
"static/css/main.82dbf9bd.css",
|
||||
"static/js/main.c7074473.js"
|
||||
"static/css/main.c0e2f17b.css",
|
||||
"static/js/main.557bfe86.js"
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 115 KiB |
@@ -1 +1 @@
|
||||
<!doctype html><html lang="en"><head><base href="/stage_strike_app/build/"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/><meta charset="utf-8"/><link rel="icon" href="/stage_strike_app/build/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="TournamentStreamHelper Stage Strike App"/><link rel="apple-touch-icon" href="/stage_strike_app/build/logo192.png"/><link rel="manifest" href="/stage_strike_app/build/manifest.json"/><title>Stage Strike</title><script defer="defer" src="/stage_strike_app/build/static/js/main.c7074473.js"></script><link href="/stage_strike_app/build/static/css/main.82dbf9bd.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
||||
<!doctype html><html lang="en"><head><base href="/stage_strike_app/build/"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/><meta charset="utf-8"/><link rel="icon" href="/stage_strike_app/build/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="TournamentStreamHelper Stage Strike App"/><link rel="apple-touch-icon" href="/stage_strike_app/build/logo192.png"/><link rel="manifest" href="/stage_strike_app/build/manifest.json"/><title>Stage Strike</title><script defer="defer" src="/stage_strike_app/build/static/js/main.557bfe86.js"></script><link href="/stage_strike_app/build/static/css/main.c0e2f17b.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
||||
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 28 KiB |
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"static/css/main.82dbf9bd.css","mappings":"AAAA,KAKE,kCAAmC,CACnC,iCAAkC,CAJlC,mIAKF,CAEA,KACE,uEAEF,CCPA,MAEE,YAAa,CAKb,WAAY,CAJZ,aAAc,CAGd,oBAAqB,CADrB,kBAAmB,CAJnB,kBAAmB,CAGnB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAIF,CAEA,KACE,4BAA+B,CAC/B,eAAiB,CAEjB,QAAS,CADT,eAEF,CAEA,WAIE,UAEF,CAEA,iCAPE,YAAa,CAIb,cAAe,CAHf,QAAS,CACT,sBAWF,CAEA,OACE,cAAe,CAIf,mBAAoB,CADpB,gBAAiB,CADjB,UAGF,CAEA,cANE,iBASF,CAHA,OAEE,cACF,CAEA,YAIE,+BAAoC,CAGpC,QAAS,CALT,UAAY,CAGZ,cAAe,CACf,WAAY,CAEZ,iBAAmB,CAPnB,iBAAkB,CAQlB,wBAAyB,CANzB,UAOF,CAEA,iBACE,gBAAiB,CACjB,iBACF,CAEA,YAIE,uBAA2B,CAC3B,2BAA4B,CAF5B,qBAAsB,CADtB,YAAa,CADb,WAKF,CAEA,iBAQE,wBAAyB,CALzB,kBAAmB,CAGnB,gGACoE,CANpE,aAAc,CAGd,eAAgB,CAChB,mBAAoB,CAHpB,iBAOF,CAEA,OAME,WAAY,CAHZ,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,sCAAgC,CAAhC,8BAAgC,CAChC,UAEF,CACA,qBACE,gGACF,CACA,iBACE,6FACF,CACA,sBACE,gGACF,CAEA,WACE,0BAA2B,CAC3B,iBAAkB,CAElB,KAAM,CADN,UAEF","sources":["index.css","App.css"],"sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n","/* @font-face {\n font-family: \"Roboto Condensed\";\n src: url(\"../include/RobotoCondensed.ttf\") format(\"truetype\");\n} */\n\n.text {\n white-space: nowrap;\n display: flex;\n min-width: 99%;\n width: fit-content;\n place-items: center;\n place-content: center;\n height: 100%;\n}\n\nbody {\n font-family: \"Roboto Condensed\";\n font-weight: bold;\n overflow: hidden;\n margin: 0;\n}\n\n.container {\n display: flex;\n gap: 20px;\n justify-content: center;\n width: 100%;\n flex-wrap: wrap;\n}\n\n.neutral,\n.counterpick {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 20px;\n}\n\n.title {\n font-size: 48px;\n text-align: center;\n width: 100%;\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.rules {\n text-align: center;\n font-size: 32px;\n}\n\n.stage-name {\n position: absolute;\n color: white;\n width: 100%;\n background-color: rgba(0, 0, 0, 0.8);\n font-size: 14px;\n height: 28px;\n bottom: 0;\n letter-spacing: 0.8;\n text-transform: uppercase;\n}\n\n.stage-name.text {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.stage-icon {\n width: 200px;\n height: 128px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n.stage-container {\n flex-shrink: 0;\n position: relative;\n border-radius: 16px;\n overflow: hidden;\n padding-bottom: 28px;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%),\n 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n background-color: #424242;\n}\n\n.stamp {\n position: absolute;\n top: 40%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 48px;\n height: 48px;\n}\n.stamp.stage-striked {\n background-image: url(../../assets/icons/stage_strike.svg);\n}\n.stamp.stage-dsr {\n background-image: url(../../assets/icons/stage_dsr.svg);\n}\n.stamp.stage-selected {\n background-image: url(../../assets/icons/stage_select.svg);\n}\n\n.banned_by {\n background-color: #000000aa;\n position: absolute;\n width: 100%;\n top: 0;\n}"],"names":[],"sourceRoot":""}
|
||||
@@ -1,2 +1,2 @@
|
||||
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.text{display:flex;height:100%;min-width:99%;place-content:center;place-items:center;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}body{font-family:Roboto Condensed;font-weight:700;margin:0;overflow:hidden}.container{width:100%}.container,.counterpick,.neutral{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.title{font-size:48px;padding-bottom:10px;padding-top:10px;width:100%}.rules,.title{text-align:center}.rules{font-size:32px}.stage-name{background-color:rgba(0,0,0,.8);bottom:0;color:#fff;font-size:14px;height:28px;letter-spacing:.8;position:absolute;text-transform:uppercase;width:100%}.stage-name.text{padding-left:5px;padding-right:5px}.stage-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;height:128px;width:200px}.stage-container{background-color:#424242;border-radius:16px;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);flex-shrink:0;overflow:hidden;padding-bottom:28px;position:relative}.stamp{height:48px;left:50%;position:absolute;top:40%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:48px}.stamp.stage-striked{background-image:url(/stage_strike_app/build/static/media/stage_strike.2a63ee3027ea819a797a.svg)}.stamp.stage-dsr{background-image:url(/stage_strike_app/build/static/media/stage_dsr.b691229038cc875107cc.svg)}.stamp.stage-selected{background-image:url(/stage_strike_app/build/static/media/stage_select.93f1de5f83321b0d15a0.svg)}.banned_by{background-color:#000000aa;position:absolute;top:0;width:100%}
|
||||
/*# sourceMappingURL=main.82dbf9bd.css.map*/
|
||||
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.text{display:flex;height:100%;min-width:99%;place-content:center;place-items:center;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}body{font-family:Roboto Condensed;font-weight:700;margin:0;overflow:hidden}.container{width:100%}.container,.counterpick,.neutral{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.title{font-size:48px;padding-bottom:10px;padding-top:10px;width:100%}.rules,.title{text-align:center}.rules{font-size:32px}.stage-name{background-color:rgba(0,0,0,.8);bottom:0;color:#fff;font-size:14px;height:28px;letter-spacing:.8;position:absolute;text-transform:uppercase;width:100%}.stage-name.text{padding-left:5px;padding-right:5px}.stage-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;height:128px;width:200px}.stage-container{background-color:#424242;border-radius:16px;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);flex-shrink:0;overflow:hidden;padding-bottom:28px;position:relative}.stamp{height:48px;left:50%;position:absolute;top:40%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:48px}.stamp.stage-striked{background-image:url(/stage_strike_app/build/static/media/stage_strike.2a63ee3027ea819a797a.svg)}.stamp.stage-dsr{background-image:url(/stage_strike_app/build/static/media/stage_dsr.b691229038cc875107cc.svg)}.stamp.stage-selected{background-image:url(/stage_strike_app/build/static/media/stage_select.93f1de5f83321b0d15a0.svg)}.stamp.stage-gentlemans{background-image:url(/stage_strike_app/build/static/media/stage_gentlemans.0f86d7c03cfac3aa120b.svg)}.banned_by{background-color:#000000aa;position:absolute;top:0;width:100%}
|
||||
/*# sourceMappingURL=main.c0e2f17b.css.map*/
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"static/css/main.c0e2f17b.css","mappings":"AAAA,KAKE,kCAAmC,CACnC,iCAAkC,CAJlC,mIAKF,CAEA,KACE,uEAEF,CCPA,MAEE,YAAa,CAKb,WAAY,CAJZ,aAAc,CAGd,oBAAqB,CADrB,kBAAmB,CAJnB,kBAAmB,CAGnB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAIF,CAEA,KACE,4BAA+B,CAC/B,eAAiB,CAEjB,QAAS,CADT,eAEF,CAEA,WAIE,UAEF,CAEA,iCAPE,YAAa,CAIb,cAAe,CAHf,QAAS,CACT,sBAWF,CAEA,OACE,cAAe,CAIf,mBAAoB,CADpB,gBAAiB,CADjB,UAGF,CAEA,cANE,iBASF,CAHA,OAEE,cACF,CAEA,YAIE,+BAAoC,CAGpC,QAAS,CALT,UAAY,CAGZ,cAAe,CACf,WAAY,CAEZ,iBAAmB,CAPnB,iBAAkB,CAQlB,wBAAyB,CANzB,UAOF,CAEA,iBACE,gBAAiB,CACjB,iBACF,CAEA,YAIE,uBAA2B,CAC3B,2BAA4B,CAF5B,qBAAsB,CADtB,YAAa,CADb,WAKF,CAEA,iBAQE,wBAAyB,CALzB,kBAAmB,CAGnB,gGACoE,CANpE,aAAc,CAGd,eAAgB,CAChB,mBAAoB,CAHpB,iBAOF,CAEA,OAME,WAAY,CAHZ,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,sCAAgC,CAAhC,8BAAgC,CAChC,UAEF,CACA,qBACE,gGACF,CACA,iBACE,6FACF,CACA,sBACE,gGACF,CACA,wBACE,oGACF,CAEA,WACE,0BAA2B,CAC3B,iBAAkB,CAElB,KAAM,CADN,UAEF","sources":["index.css","App.css"],"sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n","/* @font-face {\n font-family: \"Roboto Condensed\";\n src: url(\"../include/RobotoCondensed.ttf\") format(\"truetype\");\n} */\n\n.text {\n white-space: nowrap;\n display: flex;\n min-width: 99%;\n width: fit-content;\n place-items: center;\n place-content: center;\n height: 100%;\n}\n\nbody {\n font-family: \"Roboto Condensed\";\n font-weight: bold;\n overflow: hidden;\n margin: 0;\n}\n\n.container {\n display: flex;\n gap: 20px;\n justify-content: center;\n width: 100%;\n flex-wrap: wrap;\n}\n\n.neutral,\n.counterpick {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 20px;\n}\n\n.title {\n font-size: 48px;\n text-align: center;\n width: 100%;\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.rules {\n text-align: center;\n font-size: 32px;\n}\n\n.stage-name {\n position: absolute;\n color: white;\n width: 100%;\n background-color: rgba(0, 0, 0, 0.8);\n font-size: 14px;\n height: 28px;\n bottom: 0;\n letter-spacing: 0.8;\n text-transform: uppercase;\n}\n\n.stage-name.text {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.stage-icon {\n width: 200px;\n height: 128px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n.stage-container {\n flex-shrink: 0;\n position: relative;\n border-radius: 16px;\n overflow: hidden;\n padding-bottom: 28px;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%),\n 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n background-color: #424242;\n}\n\n.stamp {\n position: absolute;\n top: 40%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 48px;\n height: 48px;\n}\n.stamp.stage-striked {\n background-image: url(../../assets/icons/stage_strike.svg);\n}\n.stamp.stage-dsr {\n background-image: url(../../assets/icons/stage_dsr.svg);\n}\n.stamp.stage-selected {\n background-image: url(../../assets/icons/stage_select.svg);\n}\n.stamp.stage-gentlemans {\n background-image: url(../../assets/icons/stage_gentlemans.svg);\n}\n\n.banned_by {\n background-color: #000000aa;\n position: absolute;\n width: 100%;\n top: 0;\n}\n"],"names":[],"sourceRoot":""}
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
aria-hidden="true"
|
||||
focusable="false"
|
||||
data-prefix="fas"
|
||||
data-icon="check-circle"
|
||||
class="svg-inline--fa fa-check-circle fa-w-16"
|
||||
role="img"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="stage_gentlemans.svg"
|
||||
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.3285873"
|
||||
inkscape:cx="241.98635"
|
||||
inkscape:cy="276.60959"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-center="true"
|
||||
inkscape:snap-text-baseline="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<circle
|
||||
style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="path835"
|
||||
cx="256"
|
||||
cy="256"
|
||||
r="256" />
|
||||
<path
|
||||
id="rect974"
|
||||
style="color:#000000;overflow:visible;fill:#4caf50;fill-opacity:1;fill-rule:evenodd;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers"
|
||||
d="M 256,49.005859 C 141.67944,49.005859 49.005859,141.67944 49.005859,256 49.005859,370.32056 141.67944,462.99414 256,462.99414 370.32056,462.99414 462.99414,370.32056 462.99414,256 462.99414,141.67944 370.32056,49.005859 256,49.005859 Z"
|
||||
sodipodi:nodetypes="sssss" />
|
||||
<path
|
||||
d="m 254.31174,370.72484 q 1.6896,0 3.8861,-0.8448 2.19652,-0.84481 3.5482,-2.1965 L 375.62607,253.46557 q 4.393,-4.39299 6.58952,-10.02516 2.19649,-5.63182 2.19649,-11.26397 0,-5.7447 -2.19649,-11.48939 -2.19652,-5.74469 -6.58952,-10.1377 l -60.82613,-60.82612 q -4.39299,-4.39301 -10.13768,-6.5895 -5.7447,-2.1965 -11.48939,-2.1965 -5.63216,0 -11.26399,2.1965 -5.63215,2.19649 -10.02516,6.5895 l -6.08261,6.0826 27.37176,27.70969 q 4.39299,4.73092 7.77223,10.98249 3.37923,6.25158 3.37923,13.68589 0,12.84107 -9.96872,22.64084 -9.96874,9.79977 -22.80979,9.79977 -8.44808,0 -14.02382,-2.53444 -5.57573,-2.53441 -10.20021,-7.21161 l -24.77482,-24.7221 -61.16404,61.16405 q -1.68962,1.68963 -2.36546,3.55699 -0.67586,1.86769 -0.67586,4.00168 0,4.26864 2.87235,7.14099 2.87234,2.87234 7.15282,2.87234 2.14006,0 3.99863,-1.01378 1.85858,-1.01376 3.21028,-2.36545 l 46.63337,-46.63336 14.19276,14.19276 -46.29543,46.29545 q -1.68962,1.68961 -2.36546,3.71715 -0.67586,2.02754 -0.67586,4.05507 0,4.05508 3.04132,7.09638 3.0413,3.04131 7.09637,3.04131 2.02754,0 3.88612,-0.84481 1.85857,-0.8448 3.21027,-2.1965 l 46.63336,-46.63336 14.19277,14.19277 -46.29546,46.29544 q -1.35168,1.35169 -2.1965,3.49176 -0.8448,2.14039 -0.8448,4.28047 0,4.05507 3.0413,7.09638 3.04131,3.04131 7.09639,3.04131 2.02754,0 3.71715,-0.67586 1.68962,-0.67584 3.37922,-2.36545 l 46.63338,-46.63337 14.19276,14.19276 -46.63337,46.63337 q -1.68962,1.68962 -2.36546,3.71716 -0.67584,2.02754 -0.67584,3.71715 0,4.73092 2.70338,7.4343 2.70338,2.70338 7.43431,2.70338 z m 0.0203,20.27538 q -11.17308,0 -19.95906,-8.27911 -8.78601,-8.27912 -10.47562,-20.48455 -11.48937,-1.64942 -19.26161,-9.42164 -7.77222,-7.77223 -9.46184,-19.26161 -11.48939,-1.68961 -19.09266,-9.6308 -7.60326,-7.94119 -9.29287,-19.09264 -12.50315,-1.68962 -20.6133,-10.13769 -8.11016,-8.44807 -8.11016,-20.27538 0,-5.7447 2.27219,-11.50594 2.27221,-5.76126 6.51381,-10.12113 l 75.69475,-75.69473 37.17152,37.17152 q 2.70338,2.70338 5.85722,4.22404 3.15418,1.52065 6.30801,1.52065 4.393,0 8.27911,-3.88611 3.88611,-3.88611 3.88611,-8.33117 0,-1.97549 -1.18272,-4.5099 -1.18273,-2.53443 -3.88612,-5.23781 l -48.32297,-48.32298 q -4.39301,-4.39302 -10.1377,-6.58951 -5.7447,-2.1965 -11.48939,-2.1965 -5.63215,0 -11.26397,2.1965 -5.63217,2.19649 -10.00523,6.54117 l -51.38424,51.41261 q -4.73092,4.73093 -6.58949,9.96873 -1.85858,5.23781 -2.19651,11.8273 -0.33791,6.5895 2.53443,12.84109 2.87235,6.25157 6.92741,11.32042 l -14.53067,14.53068 q -6.75847,-7.43432 -10.98251,-17.90993 -4.22403,-10.47559 -4.22403,-21.28914 0,-10.13768 3.88612,-19.43058 3.88611,-9.29287 10.98249,-16.38925 l 51.02636,-51.02636 q 7.4343,-7.43432 16.8262,-10.98251 9.39224,-3.54818 19.26161,-3.54818 9.86972,0 19.1626,3.54818 9.29288,3.54819 16.72718,10.98251 l 6.08262,6.08261 6.08261,-6.08261 q 7.43431,-7.43432 16.82621,-10.98251 9.39222,-3.54818 19.2616,-3.54818 9.86971,0 19.16259,3.54818 9.29288,3.54819 16.72719,10.98251 l 60.48821,60.4882 q 7.4343,7.43431 11.15146,16.9073 3.71715,9.47299 3.71715,19.26161 0,9.78861 -3.71715,19.08149 -3.71716,9.29289 -11.15146,16.72719 L 275.93747,381.8763 q -4.39301,4.39299 -9.97955,6.75845 -5.58653,2.36547 -11.6259,2.36547 z m -33.1381,-184.50594 z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.63732;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 28 KiB |
@@ -102,10 +102,13 @@ body {
|
||||
.stamp.stage-selected {
|
||||
background-image: url(../../assets/icons/stage_select.svg);
|
||||
}
|
||||
.stamp.stage-gentlemans {
|
||||
background-image: url(../../assets/icons/stage_gentlemans.svg);
|
||||
}
|
||||
|
||||
.banned_by {
|
||||
background-color: #000000aa;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,6 +65,7 @@ class App extends Component {
|
||||
phase: null,
|
||||
match: null,
|
||||
bestOf: null,
|
||||
gentlemans: false,
|
||||
};
|
||||
|
||||
Initialize(resetStreamScore = false) {
|
||||
@@ -75,9 +76,13 @@ class App extends Component {
|
||||
}
|
||||
|
||||
GetStage(stage) {
|
||||
let found = this.state.ruleset.neutralStages.find((s) => s.codename === stage);
|
||||
let found = this.state.ruleset.neutralStages.find(
|
||||
(s) => s.codename === stage
|
||||
);
|
||||
if (found) return found;
|
||||
found = this.state.ruleset.counterpickStages.find((s) => s.codename === stage);
|
||||
found = this.state.ruleset.counterpickStages.find(
|
||||
(s) => s.codename === stage
|
||||
);
|
||||
if (found) return found;
|
||||
return null;
|
||||
}
|
||||
@@ -169,8 +174,16 @@ class App extends Component {
|
||||
fetch("http://" + window.location.hostname + ":5000/match_win", {
|
||||
method: "POST",
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({"winner": id})
|
||||
})
|
||||
body: JSON.stringify({ winner: id }),
|
||||
});
|
||||
}
|
||||
|
||||
SetGentlemans(value) {
|
||||
fetch("http://" + window.location.hostname + ":5000/set_gentlemans", {
|
||||
method: "POST",
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({ value: value }),
|
||||
});
|
||||
}
|
||||
|
||||
GetStrikeNumber() {
|
||||
@@ -213,10 +226,7 @@ class App extends Component {
|
||||
bestOf: data.best_of,
|
||||
});
|
||||
|
||||
if (
|
||||
data.state &&
|
||||
Object.keys(data.state).length > 0
|
||||
) {
|
||||
if (data.state && Object.keys(data.state).length > 0) {
|
||||
this.setState({
|
||||
currGame: data.state.currGame,
|
||||
currPlayer: data.state.currPlayer,
|
||||
@@ -227,6 +237,7 @@ class App extends Component {
|
||||
stagesPicked: data.state.stagesPicked,
|
||||
selectedStage: data.state.selectedStage,
|
||||
lastWinner: data.state.lastWinner,
|
||||
gentlemans: data.state.gentlemans,
|
||||
});
|
||||
}
|
||||
})
|
||||
@@ -302,34 +313,49 @@ class App extends Component {
|
||||
>
|
||||
{this.state.selectedStage ? (
|
||||
<>{i18n.t("report_results")}</>
|
||||
) : this.state.currGame > 0 &&
|
||||
this.state.currStep > 0 ? (
|
||||
<>
|
||||
<span
|
||||
style={{
|
||||
color:
|
||||
darkTheme.palette[
|
||||
`p${this.state.currPlayer + 1}color`
|
||||
].main,
|
||||
}}
|
||||
>
|
||||
{this.state.playerNames[this.state.currPlayer]}
|
||||
</span>
|
||||
, {i18n.t("pick_a_stage")}
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<span
|
||||
style={{
|
||||
color:
|
||||
darkTheme.palette[
|
||||
`p${this.state.currPlayer + 1}color`
|
||||
].main,
|
||||
}}
|
||||
>
|
||||
{this.state.playerNames[this.state.currPlayer]}
|
||||
</span>
|
||||
, {i18n.t("ban")} {this.GetStrikeNumber()} stage(s)
|
||||
{this.state.gentlemans ? (
|
||||
<>{i18n.t("GENTLEMANS: Pick a stage")}</>
|
||||
) : this.state.currGame > 0 &&
|
||||
this.state.currStep > 0 ? (
|
||||
<>
|
||||
<span
|
||||
style={{
|
||||
color:
|
||||
darkTheme.palette[
|
||||
`p${this.state.currPlayer + 1}color`
|
||||
].main,
|
||||
}}
|
||||
>
|
||||
{
|
||||
this.state.playerNames[
|
||||
this.state.currPlayer
|
||||
]
|
||||
}
|
||||
</span>
|
||||
, {i18n.t("pick_a_stage")}
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<span
|
||||
style={{
|
||||
color:
|
||||
darkTheme.palette[
|
||||
`p${this.state.currPlayer + 1}color`
|
||||
].main,
|
||||
}}
|
||||
>
|
||||
{
|
||||
this.state.playerNames[
|
||||
this.state.currPlayer
|
||||
]
|
||||
}
|
||||
</span>
|
||||
, {i18n.t("ban")} {this.GetStrikeNumber()}{" "}
|
||||
stage(s)
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
</Typography>
|
||||
@@ -366,7 +392,28 @@ class App extends Component {
|
||||
: this.state.ruleset.neutralStages
|
||||
).map((stage) => (
|
||||
<Grid item xs={4} sm={3} md={2}>
|
||||
<Card>
|
||||
<Card
|
||||
style={{
|
||||
borderStyle: "solid",
|
||||
borderWidth: 3,
|
||||
borderColor:
|
||||
this.IsStageStriked(stage.codename) ||
|
||||
this.IsStageBanned(stage.codename)
|
||||
? "#f44336ff"
|
||||
: this.state.selectedStage === stage.codename
|
||||
? "#4caf50ff"
|
||||
: "gray",
|
||||
boxShadow:
|
||||
this.IsStageStriked(stage.codename) ||
|
||||
this.IsStageBanned(stage.codename)
|
||||
? "0 0 10px #f44336ff"
|
||||
: this.state.selectedStage === stage.codename
|
||||
? "0 0 10px #4caf50ff"
|
||||
: "0 0 0px #ffffff00",
|
||||
transitionProperty: "border-color box-shadow",
|
||||
transitionDuration: "500ms",
|
||||
}}
|
||||
>
|
||||
<CardActionArea
|
||||
onClick={() => this.StageClicked(stage)}
|
||||
>
|
||||
@@ -395,22 +442,41 @@ class App extends Component {
|
||||
) : null}
|
||||
{this.state.selectedStage === stage.codename ? (
|
||||
<>
|
||||
<div className="stamp stage-selected"></div>
|
||||
<div className="banned_by">
|
||||
<Typography
|
||||
variant="button"
|
||||
component="div"
|
||||
fontWeight={"bold"}
|
||||
noWrap
|
||||
fontSize={{ xs: 8, md: "" }}
|
||||
>
|
||||
{
|
||||
this.state.playerNames[
|
||||
this.state.currPlayer
|
||||
]
|
||||
}
|
||||
</Typography>
|
||||
</div>
|
||||
{this.state.gentlemans ? (
|
||||
<>
|
||||
<div className="stamp stage-gentlemans"></div>
|
||||
<div className="banned_by">
|
||||
<Typography
|
||||
variant="button"
|
||||
component="div"
|
||||
fontWeight={"bold"}
|
||||
noWrap
|
||||
fontSize={{ xs: 8, md: "" }}
|
||||
>
|
||||
{i18n.t("Gentlemans")}
|
||||
</Typography>
|
||||
</div>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<div className="stamp stage-selected"></div>
|
||||
<div className="banned_by">
|
||||
<Typography
|
||||
variant="button"
|
||||
component="div"
|
||||
fontWeight={"bold"}
|
||||
noWrap
|
||||
fontSize={{ xs: 8, md: "" }}
|
||||
>
|
||||
{
|
||||
this.state.playerNames[
|
||||
this.state.currPlayer
|
||||
]
|
||||
}
|
||||
</Typography>
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
) : null}
|
||||
<CardMedia
|
||||
@@ -519,6 +585,21 @@ class App extends Component {
|
||||
{i18n.t("reset")}
|
||||
</Button>
|
||||
</Grid>
|
||||
<Grid item xs={4}>
|
||||
<Button
|
||||
size={
|
||||
darkTheme.breakpoints.up("md") ? "large" : "small"
|
||||
}
|
||||
fontSize={darkTheme.breakpoints.up("md") ? 8 : ""}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
onClick={() => {
|
||||
this.SetGentlemans(!this.state.gentlemans);
|
||||
}}
|
||||
>
|
||||
{i18n.t("gentlemans")}
|
||||
</Button>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Box>
|
||||
@@ -564,11 +645,16 @@ class App extends Component {
|
||||
color="p1color"
|
||||
variant="contained"
|
||||
onClick={() =>
|
||||
fetch("http://" + window.location.hostname + ":5000/rps_win", {
|
||||
method: "POST",
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({"winner": 0})
|
||||
})
|
||||
fetch(
|
||||
"http://" +
|
||||
window.location.hostname +
|
||||
":5000/rps_win",
|
||||
{
|
||||
method: "POST",
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({ winner: 0 }),
|
||||
}
|
||||
)
|
||||
}
|
||||
>
|
||||
{this.state.playerNames[0]} {i18n.t("won")}
|
||||
@@ -584,11 +670,16 @@ class App extends Component {
|
||||
color="p2color"
|
||||
variant="contained"
|
||||
onClick={() =>
|
||||
fetch("http://" + window.location.hostname + ":5000/rps_win", {
|
||||
method: "POST",
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({"winner": 1})
|
||||
})
|
||||
fetch(
|
||||
"http://" +
|
||||
window.location.hostname +
|
||||
":5000/rps_win",
|
||||
{
|
||||
method: "POST",
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({ winner: 1 }),
|
||||
}
|
||||
)
|
||||
}
|
||||
>
|
||||
{this.state.playerNames[1]} {i18n.t("won")}
|
||||
@@ -608,11 +699,16 @@ class App extends Component {
|
||||
color="success"
|
||||
variant="outlined"
|
||||
onClick={() =>
|
||||
fetch("http://" + window.location.hostname + ":5000/rps_win", {
|
||||
method: "POST",
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({"winner": Math.random() > 0.5 ? 1 : 0})
|
||||
})
|
||||
fetch(
|
||||
"http://" + window.location.hostname + ":5000/rps_win",
|
||||
{
|
||||
method: "POST",
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({
|
||||
winner: Math.random() > 0.5 ? 1 : 0,
|
||||
}),
|
||||
}
|
||||
)
|
||||
}
|
||||
>
|
||||
{i18n.t("randomize")}
|
||||
|
||||