Completed
Push — master ( f991c2...b8dc7c )
by Andres
38s
created

void.js ➔ ... ➔ ct.darkPrestige   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
c 1
b 0
f 0
nc 2
dl 0
loc 11
rs 9.4285
nop 0
1
'use strict';
2
3
angular.module('game').component('void', {
4
  templateUrl: 'views/void.html',
5
  controller: ['state', 'format', 'visibility', 'upgrade', 'data', 'util', _void],
6
  controllerAs: 'ct'
7
});
8
9
function _void(state, format, visibility, upgrade, data, util) {
10
  let ct = this;
11
  ct.state = state;
12
  ct.visibility = visibility;
13
  ct.data = data;
14
  ct.util = util;
15
  ct.format = format;
16
17
  ct.darkProduction = function() {
18
    let production = 0;
19
    for (let element in data.elements) {
20
      let exotic = data.elements[element].exotic;
21
      if (!state.player.resources[exotic].unlocked) {
22
        continue;
23
      }
24
      production += Math.floor(Math.max(0, Math.log(state.player.resources[exotic].number)));
25
    }
26
27
    return production;
28
  };
29
30
  ct.darkPrestige = function() {
31
    let resources = state.player.resources;
32
    let production = ct.darkProduction();
33
34
    resources.dark_matter.number += production;
35
    resources.dark_matter.unlocked = true;
36
37
    for(let element in data.elements){
38
      upgrade.resetElement(state.player, element);
39
    }
40
  };
41
42
  ct.buyDarkUpgrade = function(name) {
43
    let upgrades = state.player.dark_upgrades;
44
    let price = data.dark_upgrades[name].price;
45
    let currency = 'dark_matter';
46
    upgrade.buyUpgrade(state.player,
47
      upgrades,
48
      name,
49
      price,
50
      currency);
51
  };
52
}
53