-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathfindPushDaily.js
More file actions
115 lines (112 loc) · 3.13 KB
/
findPushDaily.js
File metadata and controls
115 lines (112 loc) · 3.13 KB
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
var dmgMod = 1;
var min = 1;
var max = 1.2;
var daily;
var f = (n) => {
let i = 0;
let nCount = 0;
while (true) {
daily = getDailyChallengeAt(i);
dmgMod = 1;
min = 1;
max = 1.2;
for (let item in daily) {
if (item == 'seed' && getAvg() > 1) {
if (nCount++ != n) continue;
let result = new Date(new Date().getTime() + i * 1000 * 60 * 60 * 24) + "\n";
return result + getDailyDescription(i);
}
evalMod(item);
}
i++;
}
};
var getAvg = () => (dmgMod * min + dmgMod * max)/2.2;
var evalMult = (item) => dailyModifiers[item].getMult(daily[item].strength);
var evalMod = function (item) {
switch (item) {
case "minDamage":
min *= 1 - evalMult(item);
break;
case "maxDamage":
max *= 1 + evalMult(item);
break;
case "plague": //losing health
dmgMod *= 0;
break;
case "weakness":
dmgMod *= dailyModifiers[item].getMult(daily[item].strength, 9);
break;
case "large":
break;
case "dedication":
break;
case "famine":
break;
case "badStrength":
break;
case "badHealth":
dmgMod /= evalMult(item);
break;
case "badMapStrength":
break;
case "badMapHealth":
dmgMod /= evalMult(item);
break;
case "crits":
break;
case "trimpCritChanceUp":
base = 8 * .5 + 64 * .5;
cChance = .5 + evalMult(item));
if (cChance <= 1) {
dmgMod *= ((1 - cChance) * 8 + cChance * 64) / base;
}
else {
dmgMod *= ((2 - cChance) * 64 + (cChance - 1) * 512) / base;
}
break;
case "trimpCritChanceDown":
base = 8 * .5 + 64 * .5;
cChance = Math.ceil(100 * (.5 - evalMult(item))) / 100;
dmgMod *= (cChance > 0 ? ((1 - cChance) * 8 + cChance * 64) : (cChance + 1) * 8 + (cChance * -1)) / base;
break;
case "bogged": //losing health
dmgMod *= evalMult(item) > .3 ? 0 : .9;
break;
case "dysfunctional":
break;
case "oddTrimpNerf":
dmgMod *= 1 - ((1 - evalMult(item)) / 2);
break;
case "evenTrimpBuff":
dmgMod *= evalMult(item);
break;
case "karma":
break;
case "toxic":
break;
case "bloodthirst":
break;
case "explosive":
break;
case "slippery":
dmgMod *= 1 - evalMult(item) / 2;
break;
case "rampage":
let str = daily[item].strength;
dmgMod *= dailyModifiers[item].getMult(str, Math.floor((str % 10 + 1) * 10));
break;
case "mutimps":
break;
case "empower":
break;
case "pressure":
break;
case "mirrored":
break;
case "metallicThumb":
break;
default:
break;
}
};