Include PoTD scoring formula
This commit is contained in:
parent
22d45600fe
commit
ba193096c7
183
src/backend/data - Copy.json
Normal file
183
src/backend/data - Copy.json
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
{
|
||||||
|
"pomander": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
93
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
130
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
188
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
175
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
60
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
75
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
84
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
84
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
119
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
115
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
90
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
95
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
108
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
117
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
34
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
45
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"accursed_hoard": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
19
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
35
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
16
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
8
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mimics": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"traps": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
26
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
19
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
43
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
36
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
20
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"floor_effects": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
23
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
29
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
21
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
26
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
14
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
22
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
16
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
17
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
17
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"death_count": [
|
||||||
|
1,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"floor": 0,
|
||||||
|
"accursed_hoard_detected": false,
|
||||||
|
"previous_pomander": "",
|
||||||
|
"floor_storage": {},
|
||||||
|
"floor_buff_storage": {}
|
||||||
|
}
|
@ -1,185 +1,193 @@
|
|||||||
{
|
{
|
||||||
"pomander": [
|
"pomander": [
|
||||||
[
|
|
||||||
3,
|
|
||||||
10,
|
|
||||||
25
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
12,
|
|
||||||
36
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
17,
|
|
||||||
64
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
22,
|
|
||||||
58
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
9,
|
|
||||||
21
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
6,
|
|
||||||
18
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
4,
|
|
||||||
24
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
15,
|
|
||||||
29
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
12,
|
|
||||||
41
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
8,
|
|
||||||
32
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
15,
|
|
||||||
37
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
8,
|
|
||||||
33
|
|
||||||
],
|
|
||||||
[
|
|
||||||
2,
|
|
||||||
12,
|
|
||||||
28
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
15,
|
|
||||||
37
|
|
||||||
],
|
|
||||||
[
|
[
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
8
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
13
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"accursed_hoard": [
|
|
||||||
[
|
|
||||||
6,
|
|
||||||
6
|
|
||||||
],
|
|
||||||
[
|
|
||||||
2,
|
|
||||||
6
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
3
|
3
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
0,
|
0,
|
||||||
8
|
1,
|
||||||
]
|
4
|
||||||
],
|
|
||||||
"mimics": [
|
|
||||||
166,
|
|
||||||
4
|
|
||||||
],
|
|
||||||
"traps": [
|
|
||||||
[
|
|
||||||
4,
|
|
||||||
8
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
1,
|
1,
|
||||||
7
|
1,
|
||||||
],
|
|
||||||
[
|
|
||||||
8,
|
|
||||||
10
|
|
||||||
],
|
|
||||||
[
|
|
||||||
5,
|
|
||||||
9
|
|
||||||
],
|
|
||||||
[
|
|
||||||
2,
|
|
||||||
7
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"floor_effects": [
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
7
|
|
||||||
],
|
|
||||||
[
|
|
||||||
5,
|
|
||||||
11
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
8
|
|
||||||
],
|
|
||||||
[
|
|
||||||
2,
|
|
||||||
9
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
3
|
3
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
1,
|
1,
|
||||||
2
|
2
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
2,
|
0,
|
||||||
6
|
0,
|
||||||
|
0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
4,
|
0,
|
||||||
6
|
0,
|
||||||
|
0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
2,
|
0,
|
||||||
5
|
0,
|
||||||
|
0
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
2,
|
0,
|
||||||
4
|
0,
|
||||||
|
0
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"accursed_hoard": [
|
||||||
[
|
[
|
||||||
1,
|
1,
|
||||||
4
|
1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mimics": [
|
||||||
|
6,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"traps": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"floor_effects": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"death_count": [
|
"death_count": [
|
||||||
0,
|
0,
|
||||||
5
|
1
|
||||||
],
|
],
|
||||||
"floor": 60,
|
"floor": 2,
|
||||||
"accursed_hoard_detected": false,
|
"accursed_hoard_detected": false,
|
||||||
"previous_pomander": "",
|
"previous_pomander": "",
|
||||||
"floor_storage": {
|
"floor_storage": {
|
||||||
"lust": 0
|
"sight": 0,
|
||||||
|
"intuition": 0
|
||||||
},
|
},
|
||||||
"floor_buff_storage": {}
|
"floor_buff_storage": {},
|
||||||
|
"kills": 54,
|
||||||
|
"rare_kills": 0,
|
||||||
|
"mimic": 0,
|
||||||
|
"mandragora": 0,
|
||||||
|
"currentLevel": 7,
|
||||||
|
"startLevel": 1,
|
||||||
|
"points": 10838
|
||||||
}
|
}
|
@ -64,6 +64,12 @@ var floor_effects=[
|
|||||||
var death_count=[0,0];
|
var death_count=[0,0];
|
||||||
var floor=0;
|
var floor=0;
|
||||||
var accursed_hoard_detected=false
|
var accursed_hoard_detected=false
|
||||||
|
var kills=0;
|
||||||
|
var currentLevel=1;
|
||||||
|
var startLevel=1;
|
||||||
|
var points=0;
|
||||||
|
var fully_explored=true;
|
||||||
|
var time_bonus=true;
|
||||||
|
|
||||||
const POMANDER_NAMES = [
|
const POMANDER_NAMES = [
|
||||||
"safety",
|
"safety",
|
||||||
@ -116,6 +122,15 @@ if (fs.existsSync('./data.json')) {
|
|||||||
previous_pomander=master_obj.previous_pomander
|
previous_pomander=master_obj.previous_pomander
|
||||||
floor_storage=master_obj.floor_storage
|
floor_storage=master_obj.floor_storage
|
||||||
floor_buff_storage=master_obj.floor_buff_storage
|
floor_buff_storage=master_obj.floor_buff_storage
|
||||||
|
kills=master_obj.kills??0
|
||||||
|
rare_kills=master_obj.rare_kills??0
|
||||||
|
mandragora=master_obj.mandragora??0
|
||||||
|
mimic=master_obj.mimic??0
|
||||||
|
currentLevel=master_obj.currentLevel??1
|
||||||
|
startLevel=master_obj.startLevel??1
|
||||||
|
points=master_obj.points??0
|
||||||
|
fully_explored=master_obj.fully_explored??true
|
||||||
|
time_bonus=master_obj.time_bonus??true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -142,6 +157,15 @@ function CreateMasterObj() {
|
|||||||
previous_pomander:previous_pomander,
|
previous_pomander:previous_pomander,
|
||||||
floor_storage:floor_storage,
|
floor_storage:floor_storage,
|
||||||
floor_buff_storage:floor_buff_storage,
|
floor_buff_storage:floor_buff_storage,
|
||||||
|
kills:kills,
|
||||||
|
rare_kills:rare_kills,
|
||||||
|
mimic:mimic,
|
||||||
|
mandragora:mandragora,
|
||||||
|
currentLevel:currentLevel,
|
||||||
|
startLevel:startLevel,
|
||||||
|
points:Math.max(points,0),
|
||||||
|
fully_explored:fully_explored,
|
||||||
|
time_bonus:time_bonus,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,6 +175,7 @@ function ParseString(str) {
|
|||||||
//console.log(split[4])
|
//console.log(split[4])
|
||||||
if (split[4].includes("The coffer...bares its fangs!")) {
|
if (split[4].includes("The coffer...bares its fangs!")) {
|
||||||
mimics[1]++
|
mimics[1]++
|
||||||
|
points-=101
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("You use a pomander of ")) {
|
if (split[4].includes("You use a pomander of ")) {
|
||||||
@ -166,6 +191,10 @@ function ParseString(str) {
|
|||||||
if (split[4].includes("uses a pomander of ")) {
|
if (split[4].includes("uses a pomander of ")) {
|
||||||
var pomander_name=split[4].substring(split[4].indexOf("uses a pomander of ")+"uses a pomander of ".length)
|
var pomander_name=split[4].substring(split[4].indexOf("uses a pomander of ")+"uses a pomander of ".length)
|
||||||
pomander_name=pomander_name.substring(0,pomander_name.length-1)
|
pomander_name=pomander_name.substring(0,pomander_name.length-1)
|
||||||
|
if (pomander_name==="serenity") {
|
||||||
|
var effect_count=Object.keys(floor_buff_storage).length
|
||||||
|
points-=505*effect_count
|
||||||
|
}
|
||||||
var pomander_slot = GetPomanderSlot(pomander_name)
|
var pomander_slot = GetPomanderSlot(pomander_name)
|
||||||
pomander[pomander_slot][0]-=1
|
pomander[pomander_slot][0]-=1
|
||||||
update_file=true
|
update_file=true
|
||||||
@ -190,20 +219,39 @@ function ParseString(str) {
|
|||||||
if (split[4].includes("Floor ")) {
|
if (split[4].includes("Floor ")) {
|
||||||
var fl=split[4].substring("Floor ".length)
|
var fl=split[4].substring("Floor ".length)
|
||||||
floor=Number(fl)
|
floor=Number(fl)
|
||||||
|
points+=4550
|
||||||
|
if (fully_explored) {
|
||||||
|
points+=2525
|
||||||
|
}
|
||||||
previous_pomander=""
|
previous_pomander=""
|
||||||
floor_storage={}
|
floor_storage={}
|
||||||
floor_buff_storage={}
|
floor_buff_storage={}
|
||||||
accursed_hoard_detected=false
|
accursed_hoard_detected=false
|
||||||
|
fully_explored=true;
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("0) has begun.")) {
|
if (split[4].includes("0) has begun.")) {
|
||||||
var fl=split[4].substring("The Palace of the Dead (Floors ".length)
|
var fl=split[4].substring("The Palace of the Dead (Floors ".length)
|
||||||
fl=fl.substring(0,fl.indexOf("-"))
|
fl=fl.substring(0,fl.indexOf("-"))
|
||||||
floor=Number(fl)
|
floor=Number(fl)
|
||||||
|
if (floor===1) {
|
||||||
|
points=2480;
|
||||||
|
} else {
|
||||||
|
if (time_bonus) {
|
||||||
|
points+=15150
|
||||||
|
}
|
||||||
|
if (floor===51||floor===101) {
|
||||||
|
points+=750
|
||||||
|
} else {
|
||||||
|
points+=300*101
|
||||||
|
}
|
||||||
|
}
|
||||||
previous_pomander=""
|
previous_pomander=""
|
||||||
floor_storage={}
|
floor_storage={}
|
||||||
floor_buff_storage={}
|
floor_buff_storage={}
|
||||||
|
fully_explored=true;
|
||||||
accursed_hoard_detected=false
|
accursed_hoard_detected=false
|
||||||
|
time_bonus=true
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("0) has ended.")) {
|
if (split[4].includes("0) has ended.")) {
|
||||||
@ -231,31 +279,42 @@ function ParseString(str) {
|
|||||||
floor_effects[i][0]=0
|
floor_effects[i][0]=0
|
||||||
}
|
}
|
||||||
death_count[1]++
|
death_count[1]++
|
||||||
|
kills=0;
|
||||||
|
rare_kills=0;
|
||||||
|
currentLevel=startLevel=1;
|
||||||
|
points=0;
|
||||||
|
fully_explored=true;
|
||||||
|
time_bonus=true;
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The enfeebling trap is triggered...")) {
|
if (split[4].includes("The enfeebling trap is triggered...")) {
|
||||||
traps[ENFEEBLING][0]++
|
traps[ENFEEBLING][0]++
|
||||||
traps[ENFEEBLING][1]++
|
traps[ENFEEBLING][1]++
|
||||||
|
points-=202
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The toading trap is triggered...")) {
|
if (split[4].includes("The toading trap is triggered...")) {
|
||||||
traps[TOADING][0]++
|
traps[TOADING][0]++
|
||||||
traps[TOADING][1]++
|
traps[TOADING][1]++
|
||||||
|
points-=202
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The impeding trap is triggered...")) {
|
if (split[4].includes("The impeding trap is triggered...")) {
|
||||||
traps[IMPEDING][0]++
|
traps[IMPEDING][0]++
|
||||||
traps[IMPEDING][1]++
|
traps[IMPEDING][1]++
|
||||||
|
points-=202
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The luring trap is triggered...")) {
|
if (split[4].includes("The luring trap is triggered...")) {
|
||||||
traps[LURING][0]++
|
traps[LURING][0]++
|
||||||
traps[LURING][1]++
|
traps[LURING][1]++
|
||||||
|
points-=202
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The landmine is triggered...")) {
|
if (split[4].includes("The landmine is triggered...")) {
|
||||||
traps[LANDMINE][0]++
|
traps[LANDMINE][0]++
|
||||||
traps[LANDMINE][1]++
|
traps[LANDMINE][1]++
|
||||||
|
points-=202
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("obtains a pomander of ")) {
|
if (split[4].includes("obtains a pomander of ")) {
|
||||||
@ -294,86 +353,149 @@ function ParseString(str) {
|
|||||||
accursed_hoard[3][0]++
|
accursed_hoard[3][0]++
|
||||||
accursed_hoard[3][1]++
|
accursed_hoard[3][1]++
|
||||||
}
|
}
|
||||||
|
points-=101
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("You are revived!")) {
|
if (split[4].includes("You are revived!")) {
|
||||||
death_count[0]++
|
death_count[0]++
|
||||||
death_count[1]++
|
death_count[1]++
|
||||||
|
points-=5050
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment stimulates your humours, increasing the speed with which you act.")) {
|
if (split[4].includes("An ancient enchantment stimulates your humours, increasing the speed with which you act.")) {
|
||||||
floor_effects[0][0]++
|
floor_effects[0][0]++
|
||||||
floor_effects[0][1]++
|
floor_effects[0][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,0:true}
|
floor_buff_storage={...floor_buff_storage,0:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment revitalizes your body and mind.")) {
|
if (split[4].includes("An ancient enchantment revitalizes your body and mind.")) {
|
||||||
floor_effects[1][0]++
|
floor_effects[1][0]++
|
||||||
floor_effects[1][1]++
|
floor_effects[1][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,1:true}
|
floor_buff_storage={...floor_buff_storage,1:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The gathering gloom appears to invigorate the floor's denizens.")) {
|
if (split[4].includes("The gathering gloom appears to invigorate the floor's denizens.")) {
|
||||||
floor_effects[2][0]++
|
floor_effects[2][0]++
|
||||||
floor_effects[2][1]++
|
floor_effects[2][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,2:true}
|
floor_buff_storage={...floor_buff_storage,2:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment clouds your eyes, making it difficult to discern your quarry.")) {
|
if (split[4].includes("An ancient enchantment clouds your eyes, making it difficult to discern your quarry.")) {
|
||||||
floor_effects[3][0]++
|
floor_effects[3][0]++
|
||||||
floor_effects[3][1]++
|
floor_effects[3][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,3:true}
|
floor_buff_storage={...floor_buff_storage,3:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The items in your bag have temporarily transformed into worthless stone.")) {
|
if (split[4].includes("The items in your bag have temporarily transformed into worthless stone.")) {
|
||||||
floor_effects[4][0]++
|
floor_effects[4][0]++
|
||||||
floor_effects[4][1]++
|
floor_effects[4][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,4:true}
|
floor_buff_storage={...floor_buff_storage,4:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment clouds your mind, making it impossible to remember previously learned abilities.")) {
|
if (split[4].includes("An ancient enchantment clouds your mind, making it impossible to remember previously learned abilities.")) {
|
||||||
floor_effects[5][0]++
|
floor_effects[5][0]++
|
||||||
floor_effects[5][1]++
|
floor_effects[5][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,5:true}
|
floor_buff_storage={...floor_buff_storage,5:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment saps your health.")) {
|
if (split[4].includes("An ancient enchantment saps your health.")) {
|
||||||
floor_effects[6][0]++
|
floor_effects[6][0]++
|
||||||
floor_effects[6][1]++
|
floor_effects[6][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,6:true}
|
floor_buff_storage={...floor_buff_storage,6:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment saps your very strength, weakening your blows.")) {
|
if (split[4].includes("An ancient enchantment saps your very strength, weakening your blows.")) {
|
||||||
floor_effects[7][0]++
|
floor_effects[7][0]++
|
||||||
floor_effects[7][1]++
|
floor_effects[7][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,7:true}
|
floor_buff_storage={...floor_buff_storage,7:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("Your body is fatigued and wounds refuse to heal on their own.")) {
|
if (split[4].includes("Your body is fatigued and wounds refuse to heal on their own.")) {
|
||||||
floor_effects[8][0]++
|
floor_effects[8][0]++
|
||||||
floor_effects[8][1]++
|
floor_effects[8][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,8:true}
|
floor_buff_storage={...floor_buff_storage,8:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("Your entire body feels heavy.")) {
|
if (split[4].includes("Your entire body feels heavy.")) {
|
||||||
floor_effects[9][0]++
|
floor_effects[9][0]++
|
||||||
floor_effects[9][1]++
|
floor_effects[9][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,9:true}
|
floor_buff_storage={...floor_buff_storage,9:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("You find yourself short of breath, unable to sprint.")) {
|
if (split[4].includes("You find yourself short of breath, unable to sprint.")) {
|
||||||
floor_effects[10][0]++
|
floor_effects[10][0]++
|
||||||
floor_effects[10][1]++
|
floor_effects[10][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,10:true}
|
floor_buff_storage={...floor_buff_storage,10:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
|
} else
|
||||||
|
if (split[4].includes(" attains level ")) {
|
||||||
|
var name = split[4].substring(0,split[4].indexOf(" attains level "))
|
||||||
|
if (name==="Soria L."||name==="Niconico N.") {
|
||||||
|
var cutoff = split[4].indexOf(" attains level ")+" attains level ".length
|
||||||
|
var level = Number(split[4].substring(cutoff,split[4].indexOf("!")))//floor_buff_storage={...floor_buff_storage,10:true}
|
||||||
|
currentLevel=level;
|
||||||
|
points+=500
|
||||||
|
update_file=true
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
if (split[4].includes("This floor is being marked as incomplete.")) {
|
||||||
|
fully_explored=false
|
||||||
|
} else
|
||||||
|
if (split[4].includes("30 minutes remaining")) {
|
||||||
|
time_bonus=false;
|
||||||
}
|
}
|
||||||
|
} else
|
||||||
if (update_file) {
|
if (split.length==9 && split[0]==="33"&&split[3]==="10000007"&&split[6]==="FF") {
|
||||||
update_file=false
|
points+=101
|
||||||
var master_obj = CreateMasterObj()
|
//console.log("Treasure coffer: "+points)
|
||||||
fs.writeFileSync('./data.json', JSON.stringify(master_obj, null, 2) , 'utf-8');
|
} else
|
||||||
|
if (split.length==22) {
|
||||||
|
if (split[0]==="04") {
|
||||||
|
const RareMonsterNames=[
|
||||||
|
"bloated conjurer", "bloated archer", "bloated pugilist", "sword-swinging adventurer", "staff-spinning adventurer", "spear-shaking adventurer",
|
||||||
|
"roughspun ruffian", "frenzied freebooter", "ishgardian pikeman", "duskwight lancer", "mortifying magnate", "insentient inquisitor", "moldering merchant",
|
||||||
|
"emaciated engineer", "jaundiced tribunus", "flyblown praefectus", "half-cracked captain", "sunken captain", "putrid plutocrat", "gangrenous gigant",
|
||||||
|
"corrupted centurion", "necrose knight", "blackening marketeer", "immortal flame"
|
||||||
|
]
|
||||||
|
//A kill is recorded.
|
||||||
|
/*04|2022-03-26T08:59:44.8220000-05:00|4000C5B3|Palace Ziz|00|3|0000|00||4983|5775|0|125|0|10000|||201.28|-298.63|0.25|-1.78|9b83e6b7aea20b6b*/
|
||||||
|
var name = split[3]
|
||||||
|
if (RareMonsterNames.includes(name.toLowerCase())) {
|
||||||
|
rare_kills++
|
||||||
|
points+=2020
|
||||||
|
} else
|
||||||
|
if (name.toLowerCase()==="mimic"){
|
||||||
|
mimic++;
|
||||||
|
points+=505
|
||||||
|
}
|
||||||
|
if (name.toLowerCase()==="korrigan"||
|
||||||
|
name.toLowerCase()==="mandragora"||
|
||||||
|
name.toLowerCase()==="pygmaioi"){
|
||||||
|
mandragora++;
|
||||||
|
points+=505
|
||||||
|
} else {
|
||||||
|
points+=100+Math.floor(floor/2)+(floor>=101?101:0)
|
||||||
|
kills++;
|
||||||
|
}
|
||||||
|
update_file=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (update_file) {
|
||||||
|
update_file=false
|
||||||
|
var master_obj = CreateMasterObj()
|
||||||
|
fs.writeFileSync('./data.json', JSON.stringify(master_obj, null, 2) , 'utf-8');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tail.on("line", function(data) {
|
tail.on("line", function(data) {
|
||||||
|
@ -64,6 +64,12 @@ var floor_effects=[
|
|||||||
var death_count=[0,0];
|
var death_count=[0,0];
|
||||||
var floor=0;
|
var floor=0;
|
||||||
var accursed_hoard_detected=false
|
var accursed_hoard_detected=false
|
||||||
|
var kills=0;
|
||||||
|
var currentLevel=1;
|
||||||
|
var startLevel=1;
|
||||||
|
var points=0;
|
||||||
|
var fully_explored=true;
|
||||||
|
var time_bonus=true;
|
||||||
|
|
||||||
const POMANDER_NAMES = [
|
const POMANDER_NAMES = [
|
||||||
"safety",
|
"safety",
|
||||||
@ -116,6 +122,15 @@ if (fs.existsSync('./data.json')) {
|
|||||||
previous_pomander=master_obj.previous_pomander
|
previous_pomander=master_obj.previous_pomander
|
||||||
floor_storage=master_obj.floor_storage
|
floor_storage=master_obj.floor_storage
|
||||||
floor_buff_storage=master_obj.floor_buff_storage
|
floor_buff_storage=master_obj.floor_buff_storage
|
||||||
|
kills=master_obj.kills??0
|
||||||
|
rare_kills=master_obj.rare_kills??0
|
||||||
|
mandragora=master_obj.mandragora??0
|
||||||
|
mimic=master_obj.mimic??0
|
||||||
|
currentLevel=master_obj.currentLevel??1
|
||||||
|
startLevel=master_obj.startLevel??1
|
||||||
|
points=master_obj.points??0
|
||||||
|
fully_explored=master_obj.fully_explored??true
|
||||||
|
time_bonus=master_obj.time_bonus??true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -142,6 +157,15 @@ function CreateMasterObj() {
|
|||||||
previous_pomander:previous_pomander,
|
previous_pomander:previous_pomander,
|
||||||
floor_storage:floor_storage,
|
floor_storage:floor_storage,
|
||||||
floor_buff_storage:floor_buff_storage,
|
floor_buff_storage:floor_buff_storage,
|
||||||
|
kills:kills,
|
||||||
|
rare_kills:rare_kills,
|
||||||
|
mimic:mimic,
|
||||||
|
mandragora:mandragora,
|
||||||
|
currentLevel:currentLevel,
|
||||||
|
startLevel:startLevel,
|
||||||
|
points:Math.max(points,0),
|
||||||
|
fully_explored:fully_explored,
|
||||||
|
time_bonus:time_bonus,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,6 +175,7 @@ function ParseString(str) {
|
|||||||
//console.log(split[4])
|
//console.log(split[4])
|
||||||
if (split[4].includes("The coffer...bares its fangs!")) {
|
if (split[4].includes("The coffer...bares its fangs!")) {
|
||||||
mimics[1]++
|
mimics[1]++
|
||||||
|
points-=101
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("You use a pomander of ")) {
|
if (split[4].includes("You use a pomander of ")) {
|
||||||
@ -158,11 +183,18 @@ function ParseString(str) {
|
|||||||
pomander_name=pomander_name.substring(0,pomander_name.length-1)
|
pomander_name=pomander_name.substring(0,pomander_name.length-1)
|
||||||
var pomander_slot = GetPomanderSlot(pomander_name)
|
var pomander_slot = GetPomanderSlot(pomander_name)
|
||||||
pomander[pomander_slot][0]-=1
|
pomander[pomander_slot][0]-=1
|
||||||
|
if (!floor_storage.hasOwnProperty(pomander_name)) {
|
||||||
|
floor_storage[pomander_name]=0
|
||||||
|
}
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("uses a pomander of ")) {
|
if (split[4].includes("uses a pomander of ")) {
|
||||||
var pomander_name=split[4].substring(split[4].indexOf("uses a pomander of ")+"uses a pomander of ".length)
|
var pomander_name=split[4].substring(split[4].indexOf("uses a pomander of ")+"uses a pomander of ".length)
|
||||||
pomander_name=pomander_name.substring(0,pomander_name.length-1)
|
pomander_name=pomander_name.substring(0,pomander_name.length-1)
|
||||||
|
if (pomander_name==="serenity") {
|
||||||
|
var effect_count=Object.keys(floor_buff_storage).length
|
||||||
|
points-=505*effect_count
|
||||||
|
}
|
||||||
var pomander_slot = GetPomanderSlot(pomander_name)
|
var pomander_slot = GetPomanderSlot(pomander_name)
|
||||||
pomander[pomander_slot][0]-=1
|
pomander[pomander_slot][0]-=1
|
||||||
update_file=true
|
update_file=true
|
||||||
@ -187,20 +219,39 @@ function ParseString(str) {
|
|||||||
if (split[4].includes("Floor ")) {
|
if (split[4].includes("Floor ")) {
|
||||||
var fl=split[4].substring("Floor ".length)
|
var fl=split[4].substring("Floor ".length)
|
||||||
floor=Number(fl)
|
floor=Number(fl)
|
||||||
|
points+=4550
|
||||||
|
if (fully_explored) {
|
||||||
|
points+=2525
|
||||||
|
}
|
||||||
previous_pomander=""
|
previous_pomander=""
|
||||||
floor_storage={}
|
floor_storage={}
|
||||||
floor_buff_storage={}
|
floor_buff_storage={}
|
||||||
accursed_hoard_detected=false
|
accursed_hoard_detected=false
|
||||||
|
fully_explored=true;
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("0) has begun.")) {
|
if (split[4].includes("0) has begun.")) {
|
||||||
var fl=split[4].substring("The Palace of the Dead (Floors ".length)
|
var fl=split[4].substring("The Palace of the Dead (Floors ".length)
|
||||||
fl=fl.substring(0,fl.indexOf("-"))
|
fl=fl.substring(0,fl.indexOf("-"))
|
||||||
floor=Number(fl)
|
floor=Number(fl)
|
||||||
|
if (floor===1) {
|
||||||
|
points=2480;
|
||||||
|
} else {
|
||||||
|
if (time_bonus) {
|
||||||
|
points+=15150
|
||||||
|
}
|
||||||
|
if (floor===51||floor===101) {
|
||||||
|
points+=750
|
||||||
|
} else {
|
||||||
|
points+=300*101
|
||||||
|
}
|
||||||
|
}
|
||||||
previous_pomander=""
|
previous_pomander=""
|
||||||
floor_storage={}
|
floor_storage={}
|
||||||
floor_buff_storage={}
|
floor_buff_storage={}
|
||||||
|
fully_explored=true;
|
||||||
accursed_hoard_detected=false
|
accursed_hoard_detected=false
|
||||||
|
time_bonus=true
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("0) has ended.")) {
|
if (split[4].includes("0) has ended.")) {
|
||||||
@ -228,31 +279,42 @@ function ParseString(str) {
|
|||||||
floor_effects[i][0]=0
|
floor_effects[i][0]=0
|
||||||
}
|
}
|
||||||
death_count[1]++
|
death_count[1]++
|
||||||
|
kills=0;
|
||||||
|
rare_kills=0;
|
||||||
|
currentLevel=startLevel=1;
|
||||||
|
points=0;
|
||||||
|
fully_explored=true;
|
||||||
|
time_bonus=true;
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The enfeebling trap is triggered...")) {
|
if (split[4].includes("The enfeebling trap is triggered...")) {
|
||||||
traps[ENFEEBLING][0]++
|
traps[ENFEEBLING][0]++
|
||||||
traps[ENFEEBLING][1]++
|
traps[ENFEEBLING][1]++
|
||||||
|
points-=202
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The toading trap is triggered...")) {
|
if (split[4].includes("The toading trap is triggered...")) {
|
||||||
traps[TOADING][0]++
|
traps[TOADING][0]++
|
||||||
traps[TOADING][1]++
|
traps[TOADING][1]++
|
||||||
|
points-=202
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The impeding trap is triggered...")) {
|
if (split[4].includes("The impeding trap is triggered...")) {
|
||||||
traps[IMPEDING][0]++
|
traps[IMPEDING][0]++
|
||||||
traps[IMPEDING][1]++
|
traps[IMPEDING][1]++
|
||||||
|
points-=202
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The luring trap is triggered...")) {
|
if (split[4].includes("The luring trap is triggered...")) {
|
||||||
traps[LURING][0]++
|
traps[LURING][0]++
|
||||||
traps[LURING][1]++
|
traps[LURING][1]++
|
||||||
|
points-=202
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The landmine is triggered...")) {
|
if (split[4].includes("The landmine is triggered...")) {
|
||||||
traps[LANDMINE][0]++
|
traps[LANDMINE][0]++
|
||||||
traps[LANDMINE][1]++
|
traps[LANDMINE][1]++
|
||||||
|
points-=202
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("obtains a pomander of ")) {
|
if (split[4].includes("obtains a pomander of ")) {
|
||||||
@ -291,86 +353,148 @@ function ParseString(str) {
|
|||||||
accursed_hoard[3][0]++
|
accursed_hoard[3][0]++
|
||||||
accursed_hoard[3][1]++
|
accursed_hoard[3][1]++
|
||||||
}
|
}
|
||||||
|
points-=101
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("You are revived!")) {
|
if (split[4].includes("You are revived!")) {
|
||||||
death_count[0]++
|
death_count[0]++
|
||||||
death_count[1]++
|
death_count[1]++
|
||||||
|
points-=5050
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment stimulates your humours, increasing the speed with which you act.")) {
|
if (split[4].includes("An ancient enchantment stimulates your humours, increasing the speed with which you act.")) {
|
||||||
floor_effects[0][0]++
|
floor_effects[0][0]++
|
||||||
floor_effects[0][1]++
|
floor_effects[0][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,0:true}
|
floor_buff_storage={...floor_buff_storage,0:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment revitalizes your body and mind.")) {
|
if (split[4].includes("An ancient enchantment revitalizes your body and mind.")) {
|
||||||
floor_effects[1][0]++
|
floor_effects[1][0]++
|
||||||
floor_effects[1][1]++
|
floor_effects[1][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,1:true}
|
floor_buff_storage={...floor_buff_storage,1:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The gathering gloom appears to invigorate the floor's denizens.")) {
|
if (split[4].includes("The gathering gloom appears to invigorate the floor's denizens.")) {
|
||||||
floor_effects[2][0]++
|
floor_effects[2][0]++
|
||||||
floor_effects[2][1]++
|
floor_effects[2][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,2:true}
|
floor_buff_storage={...floor_buff_storage,2:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment clouds your eyes, making it difficult to discern your quarry.")) {
|
if (split[4].includes("An ancient enchantment clouds your eyes, making it difficult to discern your quarry.")) {
|
||||||
floor_effects[3][0]++
|
floor_effects[3][0]++
|
||||||
floor_effects[3][1]++
|
floor_effects[3][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,3:true}
|
floor_buff_storage={...floor_buff_storage,3:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("The items in your bag have temporarily transformed into worthless stone.")) {
|
if (split[4].includes("The items in your bag have temporarily transformed into worthless stone.")) {
|
||||||
floor_effects[4][0]++
|
floor_effects[4][0]++
|
||||||
floor_effects[4][1]++
|
floor_effects[4][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,4:true}
|
floor_buff_storage={...floor_buff_storage,4:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment clouds your mind, making it impossible to remember previously learned abilities.")) {
|
if (split[4].includes("An ancient enchantment clouds your mind, making it impossible to remember previously learned abilities.")) {
|
||||||
floor_effects[5][0]++
|
floor_effects[5][0]++
|
||||||
floor_effects[5][1]++
|
floor_effects[5][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,5:true}
|
floor_buff_storage={...floor_buff_storage,5:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment saps your health.")) {
|
if (split[4].includes("An ancient enchantment saps your health.")) {
|
||||||
floor_effects[6][0]++
|
floor_effects[6][0]++
|
||||||
floor_effects[6][1]++
|
floor_effects[6][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,6:true}
|
floor_buff_storage={...floor_buff_storage,6:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("An ancient enchantment saps your very strength, weakening your blows.")) {
|
if (split[4].includes("An ancient enchantment saps your very strength, weakening your blows.")) {
|
||||||
floor_effects[7][0]++
|
floor_effects[7][0]++
|
||||||
floor_effects[7][1]++
|
floor_effects[7][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,7:true}
|
floor_buff_storage={...floor_buff_storage,7:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("Your body is fatigued and wounds refuse to heal on their own.")) {
|
if (split[4].includes("Your body is fatigued and wounds refuse to heal on their own.")) {
|
||||||
floor_effects[8][0]++
|
floor_effects[8][0]++
|
||||||
floor_effects[8][1]++
|
floor_effects[8][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,8:true}
|
floor_buff_storage={...floor_buff_storage,8:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("Your entire body feels heavy.")) {
|
if (split[4].includes("Your entire body feels heavy.")) {
|
||||||
floor_effects[9][0]++
|
floor_effects[9][0]++
|
||||||
floor_effects[9][1]++
|
floor_effects[9][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,9:true}
|
floor_buff_storage={...floor_buff_storage,9:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
} else
|
} else
|
||||||
if (split[4].includes("You find yourself short of breath, unable to sprint.")) {
|
if (split[4].includes("You find yourself short of breath, unable to sprint.")) {
|
||||||
floor_effects[10][0]++
|
floor_effects[10][0]++
|
||||||
floor_effects[10][1]++
|
floor_effects[10][1]++
|
||||||
floor_buff_storage={...floor_buff_storage,10:true}
|
floor_buff_storage={...floor_buff_storage,10:true}
|
||||||
|
points+=505
|
||||||
update_file=true
|
update_file=true
|
||||||
|
} else
|
||||||
|
if (split[4].includes(" attains level ")) {
|
||||||
|
var name = split[4].substring(0,split[4].indexOf(" attains level "))
|
||||||
|
if (name==="Soria L."||name==="Niconico N.") {
|
||||||
|
var cutoff = split[4].indexOf(" attains level ")+" attains level ".length
|
||||||
|
var level = Number(split[4].substring(cutoff,split[4].indexOf("!")))//floor_buff_storage={...floor_buff_storage,10:true}
|
||||||
|
currentLevel=level;
|
||||||
|
points+=500
|
||||||
|
update_file=true
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
if (split[4].includes("This floor is being marked as incomplete.")) {
|
||||||
|
fully_explored=false
|
||||||
|
} else
|
||||||
|
if (split[4].includes("30 minutes remaining")) {
|
||||||
|
time_bonus=false;
|
||||||
}
|
}
|
||||||
|
} else
|
||||||
if (update_file) {
|
if (split.length==9 && split[0]==="33"&&split[3]==="10000007"&&split[6]==="FF") {
|
||||||
update_file=false
|
points+=101
|
||||||
var master_obj = CreateMasterObj()
|
//console.log("Treasure coffer: "+points)
|
||||||
fs.writeFileSync('./data.json', JSON.stringify(master_obj, null, 2) , 'utf-8');
|
} else
|
||||||
|
if (split.length==22) {
|
||||||
|
if (split[0]==="04") {
|
||||||
|
const RareMonsterNames=[
|
||||||
|
"bloated conjurer", "bloated archer", "bloated pugilist", "sword-swinging adventurer", "staff-spinning adventurer", "spear-shaking adventurer",
|
||||||
|
"roughspun ruffian", "frenzied freebooter", "ishgardian pikeman", "duskwight lancer", "mortifying magnate", "insentient inquisitor", "moldering merchant",
|
||||||
|
"emaciated engineer", "jaundiced tribunus", "flyblown praefectus", "half-cracked captain", "sunken captain", "putrid plutocrat", "gangrenous gigant",
|
||||||
|
"corrupted centurion", "necrose knight", "blackening marketeer", "immortal flame"
|
||||||
|
]
|
||||||
|
//A kill is recorded.
|
||||||
|
/*04|2022-03-26T08:59:44.8220000-05:00|4000C5B3|Palace Ziz|00|3|0000|00||4983|5775|0|125|0|10000|||201.28|-298.63|0.25|-1.78|9b83e6b7aea20b6b*/
|
||||||
|
var name = split[3]
|
||||||
|
if (RareMonsterNames.includes(name.toLowerCase())) {
|
||||||
|
rare_kills++
|
||||||
|
points+=2020
|
||||||
|
} else
|
||||||
|
if (name.toLowerCase()==="mimic"){
|
||||||
|
mimic++;
|
||||||
|
points+=505
|
||||||
|
}
|
||||||
|
if (name.toLowerCase()==="korrigan"||
|
||||||
|
name.toLowerCase()==="mandragora"||
|
||||||
|
name.toLowerCase()==="pygmaioi"){
|
||||||
|
mandragora++;
|
||||||
|
points+=505
|
||||||
|
} else {
|
||||||
|
kills++;
|
||||||
|
}
|
||||||
|
update_file=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (update_file) {
|
||||||
|
update_file=false
|
||||||
|
var master_obj = CreateMasterObj()
|
||||||
|
fs.writeFileSync('./data.json', JSON.stringify(master_obj, null, 2) , 'utf-8');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tail.on("line", function(data) {
|
tail.on("line", function(data) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user