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

src/scripts/services/upgrade.js   A

Complexity

Total Complexity 7
Complexity/F 2.33

Size

Lines of Code 29
Function Count 3

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 0
wmc 7
c 2
b 0
f 0
nc 1
mnd 1
bc 7
fnc 3
dl 0
loc 29
rs 10
bpm 2.3333
cpm 2.3333
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A angular.service(ꞌupgradeꞌ) 0 23 1
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