/ src / server / rent.js
rent.js
 1  import events from './events.js'
 2  import state from './state.js'
 3  const { serverState } = state
 4  
 5  // Cron dependency is broken
 6  
 7  //import cron from 'cron'
 8  
 9  //const rentJob = new cron.CronJob({
10  //  cronTime: '0 0 0 1 * *',
11  //  onTick: rent,
12  //  start: false,
13  //  timeZone: 'America/Los_Angeles'
14  //})
15  //
16  //const deactivateJob = new cron.CronJob({
17  //  cronTime: '11 11 11 * * 0',
18  //  onTick: deactivate,
19  //  start: false,
20  //  timeZone: 'America/Los_Angeles'
21  //})
22  
23  function rent(){
24      let activeMembers = serverState.members.filter(m => {
25          return (m.active > 0)
26      })
27      let fixed = parseFloat(serverState.cash.rent)
28      let numActiveMembers = activeMembers.length
29      let perMonth = fixed / numActiveMembers
30      let charged = Math.min(perMonth, parseFloat(serverState.cash.cap))
31      let notes = ''
32  
33      activeMembers.forEach( m => {
34          events.memberCharged(m.memberId, charged, notes)
35      })
36  }
37  
38  function deactivate(){
39      serverState.tasks.forEach(t => {
40          if (t.boost <= 0){
41              events.memberDeactivated(t.taskId)
42          }
43      })
44  }
45  
46  export default function (){
47      // rentJob.start()
48      // deactivateJob.start()
49  }