ability to cancel construction and have a portion of the funds returned
[browser-rts.git] / src / tasks / tick.ts
index d12f1af2d05187b152f30e8cf94bf20ff1e915d3..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,17 +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
+        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(
@@ -62,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);
        }
-
 });