mirror of
https://github.com/tobspr/shapez.io.git
synced 2024-10-27 20:34:29 +00:00
Further Abt Testing
This commit is contained in:
parent
9b545b7255
commit
27906caa84
@ -5,21 +5,24 @@ import { BaseHUDPart } from "../base_hud_part";
|
||||
|
||||
export class HUDWatermark extends BaseHUDPart {
|
||||
createElements(parent) {
|
||||
let linkText = "";
|
||||
switch (this.root.app.gameAnalytics.abtVariant) {
|
||||
case "0": {
|
||||
linkText = "Get on Steam";
|
||||
break;
|
||||
}
|
||||
case "1": {
|
||||
linkText = "Play on Steam";
|
||||
break;
|
||||
}
|
||||
case "2": {
|
||||
linkText = T.ingame.watermark.get_on_steam;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// To be continued later
|
||||
// let linkText = "";
|
||||
// switch (this.root.app.gameAnalytics.abtVariant) {
|
||||
// case "0": {
|
||||
// linkText = "Get on Steam";
|
||||
// break;
|
||||
// }
|
||||
// case "1": {
|
||||
// linkText = "Play on Steam";
|
||||
// break;
|
||||
// }
|
||||
// case "2": {
|
||||
// linkText = T.ingame.watermark.get_on_steam;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
let linkText = T.ingame.watermark.get_on_steam;
|
||||
|
||||
this.linkElement = makeDiv(
|
||||
parent,
|
||||
|
@ -72,7 +72,7 @@ const upgradesCache = {};
|
||||
/**
|
||||
* Generates all upgrades
|
||||
* @returns {Object<string, UpgradeTiers>} */
|
||||
function generateUpgrades(limitedVersion = false) {
|
||||
function generateUpgrades(limitedVersion = false, difficulty = 1) {
|
||||
if (upgradesCache[limitedVersion]) {
|
||||
return upgradesCache[limitedVersion];
|
||||
}
|
||||
@ -246,6 +246,10 @@ function generateUpgrades(limitedVersion = false) {
|
||||
for (let i = 0; i < upgradeTiers.length; ++i) {
|
||||
const tierHandle = upgradeTiers[i];
|
||||
tierHandle.improvement = fixedImprovements[i];
|
||||
|
||||
tierHandle.required.forEach(required => {
|
||||
required.amount = Math.round(required.amount * difficulty);
|
||||
});
|
||||
const originalRequired = tierHandle.required.slice();
|
||||
|
||||
for (let k = currentTierRequirements.length - 1; k >= 0; --k) {
|
||||
@ -296,7 +300,7 @@ const levelDefinitionsCache = {};
|
||||
* Generates the level definitions
|
||||
* @param {boolean} limitedVersion
|
||||
*/
|
||||
export function generateLevelDefinitions(limitedVersion = false) {
|
||||
export function generateLevelDefinitions(limitedVersion = false, difficulty = 1) {
|
||||
if (levelDefinitionsCache[limitedVersion]) {
|
||||
return levelDefinitionsCache[limitedVersion];
|
||||
}
|
||||
@ -536,6 +540,10 @@ export function generateLevelDefinitions(limitedVersion = false) {
|
||||
});
|
||||
}
|
||||
|
||||
levelDefinitions.forEach(definition => {
|
||||
definition.required = Math.round(definition.required * difficulty);
|
||||
});
|
||||
|
||||
levelDefinitionsCache[limitedVersion] = levelDefinitions;
|
||||
|
||||
return levelDefinitions;
|
||||
@ -601,12 +609,32 @@ export class RegularGameMode extends GameMode {
|
||||
];
|
||||
}
|
||||
|
||||
get difficultyMultiplicator() {
|
||||
switch (this.root.app.gameAnalytics.abtVariant) {
|
||||
case "0":
|
||||
return 0.2;
|
||||
case "1":
|
||||
return 0.5;
|
||||
case "2":
|
||||
return 0.75;
|
||||
case "3":
|
||||
return 1;
|
||||
case "4":
|
||||
return 1.25;
|
||||
case "5":
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Should return all available upgrades
|
||||
* @returns {Object<string, UpgradeTiers>}
|
||||
*/
|
||||
getUpgrades() {
|
||||
return generateUpgrades(!this.root.app.restrictionMgr.getHasExtendedUpgrades());
|
||||
return generateUpgrades(
|
||||
!this.root.app.restrictionMgr.getHasExtendedUpgrades(),
|
||||
this.difficultyMultiplicator
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -614,7 +642,10 @@ export class RegularGameMode extends GameMode {
|
||||
* @returns {Array<LevelDefinition>}
|
||||
*/
|
||||
getLevelDefinitions() {
|
||||
return generateLevelDefinitions(!this.root.app.restrictionMgr.getHasExtendedLevelsAndFreeplay());
|
||||
return generateLevelDefinitions(
|
||||
!this.root.app.restrictionMgr.getHasExtendedLevelsAndFreeplay(),
|
||||
this.difficultyMultiplicator
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -18,8 +18,8 @@ const analyticsUrl = G_IS_DEV ? "http://localhost:8001" : "https://analytics.sha
|
||||
// Be sure to increment the ID whenever it changes
|
||||
const analyticsLocalFile = G_IS_STEAM_DEMO ? "shapez_token_steamdemo.bin" : "shapez_token_123.bin";
|
||||
|
||||
const CURRENT_ABT = "abt_wmlt";
|
||||
const CURRENT_ABT_COUNT = 3;
|
||||
const CURRENT_ABT = "abt_dif";
|
||||
const CURRENT_ABT_COUNT = 5;
|
||||
|
||||
export class ShapezGameAnalytics extends GameAnalyticsInterface {
|
||||
constructor(app) {
|
||||
|
Loading…
Reference in New Issue
Block a user