difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
var PartnerCalculate = {}
 
//是否是伙伴额外属性
PartnerCalculate.isEquipAttr = function (key) {
    if (key == "atk2" || key == "def2" || key == "hp2" || key == "speed2" || key == "hit_rate2" ||
        key == "crit_rate2" || key == "hit_magic2" || key == "dodge_magic2" || key == "crit_ratio2")
        return true
 
    return false
},
 
    //判断是否需要千分比显示,参数为数字
    PartnerCalculate.isShowPer = function (num) {
        var value = gdata("attr_data", "data_id_to_key", [num]);
        var config = gdata("attr_data", "data_type", [value]);
        if (config && config == 2) {
            return true
        }
        return false
    },
 
    //判断是否需要千分比显示,参数为字符串
    PartnerCalculate.isShowPerByStr = function (value) {
        var config = gdata("attr_data", "data_type", [value]);
        if (config && config == 2) {
            return true
        }
        return false
    },
 
    //计算战力的接口
    PartnerCalculate.calculatePower = function (attr_list) {
        var total_power = 0;
        if (attr_list == null || Utils.getArrLen(attr_list) == 0) {
            return total_power
        }
        var key = null;
        var value = null;
        for (var k in attr_list) {
            var v = attr_list[k];
            if (v instanceof Array && v.length >= 2) {
                key = v[0];
                value = v[1];
            } else {
                key = k;
                value = v;
            }
            var radio = Config.attr_data.data_power[key] //gdata("attr_data", "data_power", [key]);
            if (radio) {
                total_power = total_power + value * radio * 0.001;
            }
        }
        return Math.ceil(total_power)
    }
 
module.exports = PartnerCalculate;