Completed
Push — master ( 6e8dba...bda2ec )
by Andres
30s
created

angular.service(ꞌupgradeꞌ)   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 3
c 2
b 0
f 0
nc 3
dl 0
loc 11
rs 9.4285
nop 2
1
/**
2
 upgrade
3
 Auxiliary services aimed to reduce duplication. The behaviour for upgrades,
4
 exotic upgrades and dark upgrades is almost the same. Also, both prestige loops
5
 require to reset an element.
6
7
 @namespace Services
8
 */
9
'use strict';
10
11
angular
12
  .module('game')
13
  .service('upgrade', ['data',
14
    function(data) {
15
      this.buyUpgrade = function (player, upgrades, name, price, currency) {
16
        if (upgrades[name]) {
17
          return;
18
        }
19
        if (player.resources[currency].number >= price) {
20
          player.resources[currency].number -= price;
21
          upgrades[name] = true;
22
        }
23
      };
24
25
      this.resetElement = function(player, element) {
26
        let exotic = data.elements[element].exotic;
27
        if (!player.resources[exotic].unlocked) {
28
          return;
29
        }
30
31
        let resources = player.resources;
32
        for (let resource of data.elements[element].includes) {
33
          resources[resource].number = 0;
34
        }
35
      };
36
    }
37
  ]);
38