File size: 1,731 Bytes
025687f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2452398
025687f
6e6388e
 
 
 
 
 
025687f
 
36e359a
 
 
 
 
025687f
 
 
ff5593c
025687f
 
 
ff5593c
025687f
 
 
ff5593c
025687f
 
 
ff5593c
025687f
 
 
ff5593c
60d173b
 
 
a2a5d31
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
BINARY_SCALE = 1024
DECIMAL_SCALE = 10000

FRAME_PER_SECOND = 16

LEVEL = 120
LEVEL_SCALE = 450
LEVEL_CONSTANT = 45750
LEVEL_REDUCTION = 0.05

DOT_DAMAGE_SCALE = 12
PHYSICAL_DAMAGE_SCALE = 10
MAGICAL_DAMAGE_SCALE = 12

CRITICAL_STRIKE_SCALE = 9.530 * (LEVEL_SCALE * LEVEL - LEVEL_CONSTANT)
CRITICAL_POWER_SCALE = 3.335 * (LEVEL_SCALE * LEVEL - LEVEL_CONSTANT)
OVERCOME_SCALE = 9.530 * (LEVEL_SCALE * LEVEL - LEVEL_CONSTANT)
HASTE_SCALE = 11.695 * (LEVEL_SCALE * LEVEL - LEVEL_CONSTANT)
STRAIN_SCALE = 9.189 * (LEVEL_SCALE * LEVEL - LEVEL_CONSTANT)
SURPLUS_SCALE = 13.192

SHIELD_SCALE = 5.091

SHIELD_BASE_MAP = {
    124: 27550,
    123: 26317,
    122: 15528,
    121: 11073
}

MAJOR_BASE = 41
BASE_CRITICAL_POWER = 1.75

AGILITY_TO_CRITICAL_STRIKE = 0.64
STRENGTH_TO_ATTACK_POWER = 0.15
STRENGTH_TO_OVERCOME = 0.3
SPIRIT_TO_CRITICAL_STRIKE = 0.64
SPUNK_TO_ATTACK_POWER = 0.18
SPUNK_TO_OVERCOME = 0.3

DELTA_SCALE = 1
MAJOR_DELTA = 218
PHYSICAL_DELTA = 439
MAGICAL_DELTA = 524
MINOR_DELTA = 974
WEAPON_DELTA = 658


def PHYSICAL_ATTACK_POWER_COF(cof):
    return int(cof) / FRAME_PER_SECOND / PHYSICAL_DAMAGE_SCALE


def PHYSICAL_DOT_ATTACK_POWER_COF(cof, interval):
    return int(cof) * interval / FRAME_PER_SECOND / DOT_DAMAGE_SCALE / FRAME_PER_SECOND / PHYSICAL_DAMAGE_SCALE


def MAGICAL_ATTACK_POWER_COF(cof):
    return int(cof) / FRAME_PER_SECOND / MAGICAL_DAMAGE_SCALE


def MAGICAL_DOT_ATTACK_POWER_COF(cof, interval):
    return int(cof) * interval / FRAME_PER_SECOND / DOT_DAMAGE_SCALE / FRAME_PER_SECOND / MAGICAL_DAMAGE_SCALE


def WEAPON_DAMAGE_COF(cof):
    return int(cof) / BINARY_SCALE


def SURPLUS_COF(cof):
    return ((int(cof) + int(cof < 0)) / BINARY_SCALE + BINARY_SCALE) / BINARY_SCALE * SURPLUS_SCALE