Show public names in leaderboards
This commit is contained in:
1 parent
1b5b8dc0a4
commit
31ddba0d45
8 files changed
+98
-12
No files matched your search
@@ -1,4 +1,4 @@
|
||||
var GAME_VERSION = "0.22";
|
||||
var GAME_VERSION = "0.23";
|
||||
var MAP_COUNT = 3;
|
||||
var DIFFICULTY_COUNT = 3;
|
||||
var VALID_MODES = ["mission", "endless", "coop_ai", "coop_online"];
|
||||
@@ -43,8 +43,16 @@ function rpcSubmitRun(ctx, logger, nk, payload) {
|
||||
var wave = clampInteger(run.wave,1,mode === "mission" ? 15 : 9999), score = clampInteger(run.score,0,1000000000);
|
||||
if (score > wave*5000+100000) throw new Error("implausible score");
|
||||
var id = leaderboardId(mapIndex,difficulty,mode);
|
||||
var metadata = {map:mapIndex,difficulty:difficulty,mode:mode,wave:wave,clientVersion:String(run.client_version||"unknown"),submittedAt:Date.now()};
|
||||
var record = nk.leaderboardRecordWrite(id,ctx.userId,ctx.username||"Pilot",score,wave,metadata,null);
|
||||
var publicName = "PILOT";
|
||||
try {
|
||||
var account = nk.accountGetId(ctx.userId);
|
||||
var storedName = account && account.user ? normalizeDisplayName(account.user.displayName) : "";
|
||||
if (!validateDisplayName(storedName)) publicName = storedName;
|
||||
} catch (error) {
|
||||
logger.warn("Could not resolve display name for leaderboard user %s: %s", ctx.userId, error);
|
||||
}
|
||||
var metadata = {map:mapIndex,difficulty:difficulty,mode:mode,wave:wave,displayName:publicName,clientVersion:String(run.client_version||"unknown"),submittedAt:Date.now()};
|
||||
var record = nk.leaderboardRecordWrite(id,ctx.userId,publicName,score,wave,metadata,null);
|
||||
return JSON.stringify({accepted:true,leaderboard_id:id,rank:record.rank,score:Number(record.score),wave:wave});
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user