Commit 22503747 authored by Howl's avatar Howl
Browse files

PP on mania hype?

parent f2916819
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ type calculateOverallAccuracyElement struct {
}

func (c calculateOverallAccuracyElement) g() float64 {
	if c.mode == 0 {
	if hasPP(c.mode) {
		return c.pp
	}
	return c.accuracy
+18 −8
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ func opCalculatePP() {
		return
	}

	users := make(map[int]*ppUserMode)
	users := make(map[int]*[4]*ppUserMode)
	var count int

	for rows.Next() {
@@ -40,20 +40,30 @@ func opCalculatePP() {
			continue
		}
		if users[userid] == nil {
			users[userid] = &ppUserMode{}
			users[userid] = &[4]*ppUserMode{
				new(ppUserMode),
				new(ppUserMode),
				new(ppUserMode),
				new(ppUserMode),
			}
		if users[userid].countScores > 100 {
		}
		if users[userid][playMode].countScores > 100 {
			continue
		}
		currentScorePP := round(round(ppAmt) * math.Pow(0.95, float64(users[userid].countScores)))
		users[userid].countScores++
		users[userid].ppTotal += int(currentScorePP)
		currentScorePP := round(round(ppAmt) * math.Pow(0.95, float64(users[userid][playMode].countScores)))
		users[userid][playMode].countScores++
		users[userid][playMode].ppTotal += int(currentScorePP)
		count++
	}
	rows.Close()

	for userid, ppUM := range users {
		op("UPDATE users_stats SET pp_std = ? WHERE id = ?", ppUM.ppTotal, userid)
	for userid, pps := range users {
		for mode, ppUM := range *pps {
			if !hasPP(mode) {
				continue
			}
			op("UPDATE users_stats SET pp_"+modeToString(mode)+" = ? WHERE id = ?", ppUM.ppTotal, userid)
		}
	}

	color.Green("> CalculatePP: done!")

haspp.go

0 → 100644
+3 −0
Original line number Diff line number Diff line
package main

func hasPP(mode int) bool { return mode == 0 || mode == 3 }
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ func opBuildLeaderboard() {
	}
	db.SetMaxOpenConns(1)
	db.SetMaxIdleConns(1)
	const initQuery = "SELECT users_stats.id, pp_std, ranked_score_taiko, ranked_score_ctb, ranked_score_mania FROM users_stats INNER JOIN users ON users.id = users_stats.id WHERE privileges & 1 > 0"
	const initQuery = "SELECT users_stats.id, pp_std, ranked_score_taiko, ranked_score_ctb, pp_mania FROM users_stats INNER JOIN users ON users.id = users_stats.id WHERE privileges & 1 > 0"
	logquery(initQuery, nil)
	rows, err := db.Query(initQuery)
	if err != nil {