ability to cancel construction and have a portion of the funds returned
[browser-rts.git] / src / tasks / tick.ts
index c61b94504872caad1b6107dbc68d548531b3f86f..345f5af7e81f8e79ca6383bba3e5454416ba7f32 100644 (file)
@@ -9,6 +9,7 @@ type Tick = {
 export const tick = new Task<Tick>('tick', async (task, job) => {
 
        const nextTick = job.data.lastTick+1;
+  const start = Date.now();
 
        // +population*1.1 is where we take into account farms for bonus food production
        let sql = `update cities set 
@@ -30,19 +31,19 @@ export const tick = new Task<Tick>('tick', async (task, job) => {
   energy = min(
     max(
       energy - (
-        farms * 40 + 
-        barracks * 60 + 
-        special_attacker_trainer * 100 + 
-        special_defender_trainer * 80 + 
-        homes * 10 + 
-        warehouses * 30 + 
-        solar_panels * 10 +
-        accumulators * 100 +
-        mining_facilities * 80 + 
-        ore_refinery * 40
+        farms * 4 + 
+        barracks * 6 + 
+        special_attacker_trainer * 10 + 
+        special_defender_trainer * 8 + 
+        homes * 1 + 
+        warehouses * 3 + 
+        solar_panels * 1 +
+        accumulators * 10 +
+        mining_facilities * 8 + 
+        ore_refinery * 4
       ),
       0
-    ),
+    ) + solar_panels * 125,
     accumulators * 150
   ),
   alloys = min(
@@ -64,14 +65,6 @@ export const tick = new Task<Tick>('tick', async (task, job) => {
                console.log(e);
        }
        finally {
-               const now = new Date();
-               const nextTickAt = 60 - now.getMinutes();
-               console.log(`Tick scheduled for ${nextTickAt}min`);
-
-               task.trigger({
-                       lastTickAt: +now,
-                       lastTick: nextTick
-               }, { delay: 60000 * nextTickAt});
+    console.log('Tick complete', Date.now() - start);
        }
-
 });