Amended the freeze code

This commit is contained in:
2019-06-19 21:01:53 +10:00
parent 74696d717b
commit 458dfd933e
3 changed files with 15 additions and 16 deletions
+2
View File
@@ -2,6 +2,8 @@ It's Freezing In Here!
--- ---
_19 June 2019_ _19 June 2019_
Edit: Actually, I realize freezing the tick rate for EVERYONE is unfair if you're under 100 gold - you'll never be able to train a unit. As such, I've amended the algorithm to only affect those with gold equal to or higher than 100.
I've frozen the gold tick due to the recent surge in the gold supply. This is a temporary measure, as I'm hoping it'll drop to a more reasonable level as players do their thing. I've frozen the gold tick due to the recent surge in the gold supply. This is a temporary measure, as I'm hoping it'll drop to a more reasonable level as players do their thing.
I'm hoping to pull another all nighter tonight, simply because I do my best work at night. I'm also planning on releasing "content updates" every Sunday my time to keep everyone entertained. I'll try to add _something_ new gameplay-wise every week. I'm hoping to pull another all nighter tonight, simply because I do my best work at night. I'm also planning on releasing "content updates" every Sunday my time to keep everyone entertained. I'll try to add _something_ new gameplay-wise every week.
+9 -11
View File
@@ -479,8 +479,7 @@ const runGoldTick = (connection) => {
//determine the correct tick rate based on the current gold average //determine the correct tick rate based on the current gold average
let tickRate = (() => { let tickRate = (() => {
//TMP: freeze the tick rate return -60; //TMP: semi-freeze the tick rate
return null;
if (results[0].goldAverage < 120) return 5; if (results[0].goldAverage < 120) return 5;
if (results[0].goldAverage < 130) return 15; if (results[0].goldAverage < 130) return 15;
if (results[0].goldAverage < 140) return 30; if (results[0].goldAverage < 140) return 30;
@@ -491,15 +490,14 @@ const runGoldTick = (connection) => {
if (oldTickRate !== tickRate) { if (oldTickRate !== tickRate) {
if (goldTickJob) goldTickJob.stop(); if (goldTickJob) goldTickJob.stop();
//TMP: freeze the tickRate //NOTE: negative tickRate means restrict the tick to people with gold < 100
if (tickRate === null) { goldTickJob = new CronJob(`0 */${tickRate > 0 ? tickRate : -tickRate} * * * *`, () => {
log('Tick rate frozen'); let query;
oldTickRate = tickRate; if (tickRate > 0) {
return; query = 'UPDATE profiles SET gold = gold + recruits;';
} } else {
query = 'UPDATE profiles SET gold = gold + recruits WHERE gold < 100;';
goldTickJob = new CronJob(`0 */${tickRate} * * * *`, () => { }
let query = 'UPDATE profiles SET gold = gold + recruits;';
connection.query(query, (err) => { connection.query(query, (err) => {
if (err) throw err; if (err) throw err;
+4 -5
View File
@@ -18,15 +18,14 @@ const statisticsRequest = (connection) => (req, res) => {
//determine the correct tick rate based on the current gold average //determine the correct tick rate based on the current gold average
//NOTE: copy/pasted //NOTE: copy/pasted
let tickRate = (() => { let tickRate = (() => {
//TMP: freeze the tick rate return -60; //TMP: semi-freeze the tick rate
return null;
if (results[0].goldAverage < 120) return 5; if (results[0].goldAverage < 120) return 5;
if (results[0].goldAverage < 130) return 15; if (results[0].goldAverage < 130) return 15;
if (results[0].goldAverage < 140) return 30; if (results[0].goldAverage < 140) return 30;
return 60; //slow it way down return 60; //slow it way down
})(); })();
let nextTick = tickRate ? tickRate - (new Date()).getMinutes() % tickRate : null; let nextTick = Math.abs(tickRate) - (new Date()).getMinutes() % Math.abs(tickRate);
let query = 'SELECT COUNT(*) AS activity FROM accounts WHERE lastActivityTime >= DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY);'; let query = 'SELECT COUNT(*) AS activity FROM accounts WHERE lastActivityTime >= DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY);';
connection.query(query, (err, results) => { connection.query(query, (err, results) => {
@@ -51,8 +50,8 @@ const statisticsRequest = (connection) => (req, res) => {
'Scientist Total': scientistTotal, 'Scientist Total': scientistTotal,
'Spy Total': { string: '[Classified]', color: 'red' }, 'Spy Total': { string: '[Classified]', color: 'red' },
'Gold Average': `${round(goldAverage)}`, 'Gold Average': `${round(goldAverage)}`,
'Gold Tick Rate': tickRate ? `${tickRate} minutes` : { string: 'Frozen', color: 'red' }, 'Gold Tick Rate': tickRate > 0 ? `${tickRate} minutes` : { string: `${Math.abs(tickRate)} minutes (restricted to gold < 100)`, color: 'yellow' },
'Gold Next Tick': nextTick ? `${nextTick} minute${nextTick === 1 ? '' : 's'} from now` : { string: 'Frozen', color: 'red' } 'Gold Next Tick': `${nextTick} minute${nextTick === 1 ? '' : 's'} from now`
}); });
res.end(); res.end();
}); });