-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathehp.php
82 lines (74 loc) · 2.69 KB
/
ehp.php
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
<?php
$RATES = Array(
null,
null,
null,
null,
null,
Array(0,250000,6517253,330000,13034431,350000),
Array(0,500000),
Array(0,250000),
Array(0,40000,7842,130000,37224,175000,1986068,250000,5346332,330000,7944614,360000),
Array(0,7000,2411,16000,13363,35000,41171,49000,302288,58000,500000,68000,1000000,73000,2000000,80000,4000000,86000,8000000,92000),
Array(0,30000,7842,45000,22406,72000,166636,135000,737627,184000,3258594,225000),
Array(0,14000,4470,30000,13363,40000,273742,44000,737627,52000,2500000,56500,6000000,59000,11000000,61000,13034431,63000),
Array(0,45000,13363,130500,61512,195750,273742,293625,1210421,445000),
Array(0,57000,300000,170000,362000,285000),
Array(0,40000,37224,103000),
Array(0,8000,14833,20000,41171,44000,250000,46000,547953,52000,1986068,56000,6000000,60000),
Array(0,60000,27473,200000,2192818,310000),
Array(0,6000,13363,15000,41171,44000,449428,50000,2192818,55000,6000000,59000,11000000,62000),
Array(0,15000,61512,60000,166636,100000,449428,220000,5902831,255000,13034431,260000),
Array(0,5000,37224,12000,100000,17000,1000000,20000,1986068,24000,3000000,27000,5346332,30000,13034431,34000),
Array(0,10000,2411,50000,13363,80000,61512,150000,273742,350000,1210421,700000),
Array(0,8000,2107,20000,1210421,24500,2421087,30000,5902831,25000),
Array(0,5000,12031,40000,247886,80000,1986068,110000,9000000,117500,13034431,125000),
Array(0,20000,18247,100000,101333,230000,1096278,350000)
);
$RATES_COUNT = count($RATES);
$RATES_COUNTS = array();
for($i = 0; $i < $RATES_COUNT; $i++) {
if ($RATES[$i] == null)
$RATES_COUNTS[] = 1;
else
$RATES_COUNTS[] = count($RATES[$i]);
}
function calc_time($xp, $target_xp=200000000) {
global $RATES, $RATES_COUNTS;
$time_left = 0.0;
if($xp[11]<$target_xp) {
$xp[17] += ($target_xp-max(83014,$xp[11]))/11; //Agil from fish
}
if($xp[14]<$target_xp) {
$xp[7] += ($target_xp-$xp[14])*53/56.2;
}
if($xp[19]<$target_xp) {
$xp[5] += ($target_xp-$xp[19])*0.6;
}
for($i = 5;$i<24;$i++) {
if($xp[$i] < $target_xp) {
for($n = 0; $n<$RATES_COUNTS[$i]; $n+=2) {
if($xp[$i] >= $RATES[$i][$n]) {
$target = min(($RATES_COUNTS[$i]-2==$n) ? $target_xp : $RATES[$i][$n+2], $target_xp);
$rate = $RATES[$i][$n+1];
if($target > $xp[$i]) {
$time_left += ($target-$xp[$i])/$rate;
$xp[$i] = $target;
}
}
}
}
}
return $time_left;
}
$TIME_TO_THM = calc_time(Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), 200000000);
//$TIME_TO_THM = (int)$TIME_TO_THM_REAL;
function hex_string_to_time($str) {
global $TIME_TO_THM_REAL;
$xp = Array();
for($i = 0; $i < 24; $i++) {
$xp[$i] = xp_from_hex_string($str, $i);
}
return round($TIME_TO_THM_REAL - calc_time($xp, 200000000), 2);
}
?>