Game: Improve gauge

This commit is contained in:
LoveEevee
2020-03-05 18:58:49 +03:00
parent 09c212df8b
commit 41afc2a905
7 changed files with 94 additions and 42 deletions

View File

@@ -319,15 +319,18 @@ class Scoresheet{
var elapsed = 0
}
var gaugePercent = Math.round(this.results.gauge / 2) / 50
var gaugePercent = Math.round(this.results.gauge / 200) / 50
var gaugeClear = [this.controller.game.rules.gaugeClear]
if(players === 2){
var gauge2 = Math.round(p2.results.gauge / 2) / 50
if(gauge2 > gaugePercent){
gaugePercent = gauge2
gaugeClear.push(this.controller.syncWith.game.rules.gaugeClear)
}
var failedOffset = gaugePercent >= gaugeClear[0] ? 0 : -2000
if(players === 2){
var gauge2 = Math.round(p2.results.gauge / 200) / 50
if(gauge2 > gaugePercent && failedOffset !== 0 && gauge2 >= gaugeClear[1]){
failedOffset = 0
}
}
var gaugeClear = 25 / 50
var failedOffset = gaugePercent >= gaugeClear ? 0 : -2000
if(elapsed >= 3100 + failedOffset){
for(var p = 0; p < players; p++){
ctx.save()
@@ -335,8 +338,8 @@ class Scoresheet{
if(p === 1){
results = p2.results
}
var resultGauge = Math.round(results.gauge / 2) / 50
var clear = resultGauge >= gaugeClear
var resultGauge = Math.round(results.gauge / 200) / 50
var clear = resultGauge >= gaugeClear[p]
if(p === 1 || !this.multiplayer && clear){
ctx.translate(0, 290)
}
@@ -570,7 +573,7 @@ class Scoresheet{
if(this.tetsuoHanaClass){
this.tetsuoHana.classList.remove(this.tetsuoHanaClass)
}
this.tetsuoHanaClass = gaugePercent >= gaugeClear ? "dance" : "failed"
this.tetsuoHanaClass = this.controller.game.rules.clearReached(this.results.gauge) ? "dance" : "failed"
this.tetsuoHana.classList.add(this.tetsuoHanaClass)
}
}
@@ -589,25 +592,26 @@ class Scoresheet{
results = p2.results
ctx.translate(0, p2Offset)
}
var gaugePercent = Math.round(results.gauge / 2) / 50
var gaugePercent = Math.round(results.gauge / 200) / 50
var w = 712
this.draw.gauge({
ctx: ctx,
x: 558 + w,
y: 116,
clear: 25 / 50,
clear: gaugeClear[p],
percentage: gaugePercent,
font: this.font,
scale: w / 788,
scoresheet: true,
blue: p === 1
})
var rules = p === 0 ? this.controller.game.rules : this.controller.syncWith.game.rules
this.draw.soul({
ctx: ctx,
x: 1215,
y: 144,
scale: 36 / 42,
cleared: gaugePercent - 1 / 50 >= 25 / 50
cleared: rules.clearReached(results.gauge)
})
}
})
@@ -625,7 +629,8 @@ class Scoresheet{
results = p2.results
}
var crownType = null
if(Math.round(results.gauge / 2) - 1 >= 25){
var rules = p === 0 ? this.controller.game.rules : this.controller.syncWith.game.rules
if(rules.clearReached(results.gauge)){
crownType = results.bad === "0" ? "gold" : "silver"
}
if(crownType !== null){