Updated layout image, prepared tracking code backend
This commit is contained in:
parent
af495908c4
commit
004dba7ac1
Binary file not shown.
Before Width: | Height: | Size: 350 KiB After Width: | Height: | Size: 358 KiB |
BIN
public/layout.xcf
Normal file
BIN
public/layout.xcf
Normal file
Binary file not shown.
@ -24,6 +24,7 @@ var accursed_hoard=[
|
||||
[0,0],
|
||||
[0,0],
|
||||
];
|
||||
var mimics=[0,0]
|
||||
var traps=[
|
||||
[0,0],
|
||||
[0,0],
|
||||
@ -46,18 +47,222 @@ var floor_effects=[
|
||||
];
|
||||
var death_count=[0,0];
|
||||
var floor=0;
|
||||
var accursed_hoard_detected=false
|
||||
|
||||
const POMANDER_NAMES = [
|
||||
"safety",
|
||||
"sight",
|
||||
"strength",
|
||||
"steel",
|
||||
"affluence",
|
||||
"flight",
|
||||
"alteration",
|
||||
"purity",
|
||||
"fortune",
|
||||
"witching",
|
||||
"serenity",
|
||||
"rage",
|
||||
"lust",
|
||||
"intuition",
|
||||
"raising",
|
||||
"resolution",]
|
||||
|
||||
const IMPEDING = 0
|
||||
const TOADING = 1
|
||||
const LANDMINE = 2
|
||||
const LURING = 3
|
||||
const ENFEEBLING = 4
|
||||
|
||||
var options = {
|
||||
fromBeginning:false,
|
||||
useWatchFile:true
|
||||
}
|
||||
|
||||
var previous_pomander=""
|
||||
var floor_storage={}
|
||||
|
||||
tail = new Tail(process.argv[2], options);
|
||||
|
||||
|
||||
function GetPomanderSlot(str) {
|
||||
for (var i=0;i<POMANDER_NAMES.length;i++) {
|
||||
if (POMANDER_NAMES[i]===str) {
|
||||
return i
|
||||
}
|
||||
}
|
||||
console.log("Could not find Pomander slot for pomander '"+str+"'! This should not be happening!")
|
||||
return -1
|
||||
}
|
||||
|
||||
function ParseString(str) {
|
||||
var split = str.split("|")
|
||||
if (split.length===6) {
|
||||
console.log(split[4])
|
||||
//console.log(split[4])
|
||||
if (split[4].includes("The coffer...bares its fangs!")) {
|
||||
mimics[1]++
|
||||
} else
|
||||
if (split[4].includes("You use a pomander of ")) {
|
||||
var pomander_name=split[4].substring("You use a pomander of ".length)
|
||||
pomander_name=pomander_name.substring(0,pomander_name.length-1)
|
||||
var pomander_slot = GetPomanderSlot(pomander_name)
|
||||
pomander[pomander_slot][0]-=1
|
||||
} else
|
||||
if (split[4].includes("You cannot carry any more of that item.")) {
|
||||
var pomander_name=split[4].substring("You return the pomander of ".length)
|
||||
pomander_name=pomander_name.replace(" to the coffer. You cannot carry any more of that item.","")
|
||||
var pomander_slot = GetPomanderSlot(pomander_name)
|
||||
if (previous_pomander!==pomander_name) {
|
||||
if (floor_storage.hasOwnProperty(pomander_name)) {
|
||||
floor_storage[pomander_name]++
|
||||
} else {
|
||||
floor_storage[pomander_name]=1
|
||||
}
|
||||
pomander[pomander_slot][1]++
|
||||
pomander[pomander_slot][2]++
|
||||
mimics[0]++
|
||||
}
|
||||
} else
|
||||
if (split[4].includes("Floor ")) {
|
||||
var fl=split[4].substring("Floor ".length)
|
||||
floor=Number(fl)
|
||||
previous_pomander=""
|
||||
floor_storage={}
|
||||
accursed_hoard_detected=false
|
||||
} else
|
||||
if (split[4].includes("0) has begun.")) {
|
||||
var fl=split[4].substring("The Palace of the Dead (Floors ".length)
|
||||
fl=fl.substring(0,fl.indexOf("-"))
|
||||
floor=Number(fl)
|
||||
previous_pomander=""
|
||||
floor_storage={}
|
||||
accursed_hoard_detected=false
|
||||
} else
|
||||
if (split[4].includes("0) has ended.")) {
|
||||
var fl=split[4].substring("The Palace of the Dead (Floors ".length)
|
||||
fl=fl.substring(0,fl.indexOf("-"))
|
||||
floor=0
|
||||
previous_pomander=""
|
||||
floor_storage={}
|
||||
accursed_hoard_detected=false
|
||||
for (var i=0;i<pomander.length;i++) {
|
||||
pomander[i][0]=0
|
||||
}
|
||||
for (var i=0;i<accursed_hoard.length;i++) {
|
||||
accursed_hoard[i][0]=0
|
||||
}
|
||||
for (var i=0;i<mimics.length;i++) {
|
||||
mimics[i]=0
|
||||
}
|
||||
for (var i=0;i<traps.length;i++) {
|
||||
traps[i][0]=0
|
||||
}
|
||||
for (var i=0;i<floor_effects.length;i++) {
|
||||
floor_effects[i][0]=0
|
||||
}
|
||||
death_count[1]++
|
||||
} else
|
||||
if (split[4].includes("The enfeebling trap is triggered...")) {
|
||||
traps[ENFEEBLING][0]++
|
||||
traps[ENFEEBLING][1]++
|
||||
} else
|
||||
if (split[4].includes("The toading trap is triggered...")) {
|
||||
traps[TOADING][0]++
|
||||
traps[TOADING][1]++
|
||||
} else
|
||||
if (split[4].includes("The impeding trap is triggered...")) {
|
||||
traps[IMPEDING][0]++
|
||||
traps[IMPEDING][1]++
|
||||
} else
|
||||
if (split[4].includes("The luring trap is triggered...")) {
|
||||
traps[LURING][0]++
|
||||
traps[LURING][1]++
|
||||
} else
|
||||
if (split[4].includes("The landmine is triggered...")) {
|
||||
traps[LANDMINE][0]++
|
||||
traps[LANDMINE][1]++
|
||||
} else
|
||||
if (split[4].includes("obtains a pomander of ")) {
|
||||
var pomander_name=split[4].substring(split[4].indexOf("obtains a pomander of ")+"obtains a pomander of ".length)
|
||||
pomander_name=pomander_name.substring(0,pomander_name.length-1)
|
||||
var pomander_slot = GetPomanderSlot(pomander_name)
|
||||
pomander[pomander_slot][0]++
|
||||
if (floor_storage.hasOwnProperty(pomander_name)&&floor_storage[pomander_name]>0) {
|
||||
floor_storage[pomander_name]--
|
||||
} else {
|
||||
pomander[pomander_slot][1]++
|
||||
pomander[pomander_slot][2]++
|
||||
mimics[0]++
|
||||
}
|
||||
} else
|
||||
if (split[4].includes("You sense the Accursed Hoard calling you...")) {
|
||||
accursed_hoard_detected=true
|
||||
} else
|
||||
if (split[4].includes("You discover a piece of the Accursed Hoard!")) {
|
||||
accursed_hoard_detected=false
|
||||
if (floor<=50) {
|
||||
accursed_hoard[0][0]++
|
||||
accursed_hoard[0][1]++
|
||||
} else
|
||||
if (floor<=100) {
|
||||
accursed_hoard[1][0]++
|
||||
accursed_hoard[1][1]++
|
||||
} else
|
||||
if (floor<=150) {
|
||||
accursed_hoard[2][0]++
|
||||
accursed_hoard[2][1]++
|
||||
} else {
|
||||
accursed_hoard[3][0]++
|
||||
accursed_hoard[3][1]++
|
||||
}
|
||||
} else
|
||||
if (split[4].includes("You are revived!")) {
|
||||
death_count[0]++
|
||||
death_count[1]++
|
||||
} else
|
||||
if (split[4].includes("An ancient enchantment stimulates your humours, increasing the speed with which you act.")) {
|
||||
floor_effects[0][0]++
|
||||
floor_effects[0][1]++
|
||||
} else
|
||||
if (split[4].includes("An ancient enchantment revitalizes your body and mind.")) {
|
||||
floor_effects[1][0]++
|
||||
floor_effects[1][1]++
|
||||
} else
|
||||
if (split[4].includes("The gathering gloom appears to invigorate the floor's denizens.")) {
|
||||
floor_effects[2][0]++
|
||||
floor_effects[2][1]++
|
||||
} else
|
||||
if (split[4].includes("An ancient enchantment clouds your eyes, making it difficult to discern your quarry.")) {
|
||||
floor_effects[3][0]++
|
||||
floor_effects[3][1]++
|
||||
} else
|
||||
if (split[4].includes("The items in your bag have temporarily transformed into worthless stone.")) {
|
||||
floor_effects[4][0]++
|
||||
floor_effects[4][1]++
|
||||
} else
|
||||
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][1]++
|
||||
} else
|
||||
if (split[4].includes("An ancient enchantment saps your health.")) {
|
||||
floor_effects[6][0]++
|
||||
floor_effects[6][1]++
|
||||
} else
|
||||
if (split[4].includes("An ancient enchantment saps your very strength, weakening your blows.")) {
|
||||
floor_effects[7][0]++
|
||||
floor_effects[7][1]++
|
||||
} else
|
||||
if (split[4].includes("Your body is fatigued and wounds refuse to heal on their own.")) {
|
||||
floor_effects[8][0]++
|
||||
floor_effects[8][1]++
|
||||
} else
|
||||
if (split[4].includes("Your entire body feels heavy.")) {
|
||||
floor_effects[9][0]++
|
||||
floor_effects[9][1]++
|
||||
} else
|
||||
if (split[4].includes("You find yourself short of breath, unable to sprint.")) {
|
||||
floor_effects[10][0]++
|
||||
floor_effects[10][1]++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -18,18 +18,249 @@ var pomander = [
|
||||
[0,0,0],
|
||||
[0,0,0],
|
||||
];
|
||||
var accursed_hoard=[
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
];
|
||||
var mimics=[0,0]
|
||||
var traps=[
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
];
|
||||
var floor_effects=[
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
[0,0],
|
||||
];
|
||||
var death_count=[0,0];
|
||||
var floor=0;
|
||||
var accursed_hoard_detected=false
|
||||
|
||||
const POMANDER_NAMES = [
|
||||
"safety",
|
||||
"sight",
|
||||
"strength",
|
||||
"steel",
|
||||
"affluence",
|
||||
"flight",
|
||||
"alteration",
|
||||
"purity",
|
||||
"fortune",
|
||||
"witching",
|
||||
"serenity",
|
||||
"rage",
|
||||
"lust",
|
||||
"intuition",
|
||||
"raising",
|
||||
"resolution",]
|
||||
|
||||
const IMPEDING = 0
|
||||
const TOADING = 1
|
||||
const LANDMINE = 2
|
||||
const LURING = 3
|
||||
const ENFEEBLING = 4
|
||||
|
||||
var options = {
|
||||
fromBeginning:false,
|
||||
useWatchFile:true
|
||||
}
|
||||
|
||||
var previous_pomander=""
|
||||
var floor_storage={}
|
||||
|
||||
tail = new Tail(process.argv[2], options);
|
||||
|
||||
|
||||
function GetPomanderSlot(str) {
|
||||
for (var i=0;i<POMANDER_NAMES.length;i++) {
|
||||
if (POMANDER_NAMES[i]===str) {
|
||||
return i
|
||||
}
|
||||
}
|
||||
console.log("Could not find Pomander slot for pomander '"+str+"'! This should not be happening!")
|
||||
return -1
|
||||
}
|
||||
|
||||
function ParseString(str) {
|
||||
var split = str.split("|")
|
||||
if (split.length===6) {
|
||||
console.log(split[4])
|
||||
//console.log(split[4])
|
||||
if (split[4].includes("The coffer...bares its fangs!")) {
|
||||
mimics[1]++
|
||||
} else
|
||||
if (split[4].includes("You use a pomander of ")) {
|
||||
var pomander_name=split[4].substring("You use a pomander of ".length)
|
||||
pomander_name=pomander_name.substring(0,pomander_name.length-1)
|
||||
var pomander_slot = GetPomanderSlot(pomander_name)
|
||||
pomander[pomander_slot][0]-=1
|
||||
} else
|
||||
if (split[4].includes("You cannot carry any more of that item.")) {
|
||||
var pomander_name=split[4].substring("You return the pomander of ".length)
|
||||
pomander_name=pomander_name.replace(" to the coffer. You cannot carry any more of that item.","")
|
||||
var pomander_slot = GetPomanderSlot(pomander_name)
|
||||
if (previous_pomander!==pomander_name) {
|
||||
if (floor_storage.hasOwnProperty(pomander_name)) {
|
||||
floor_storage[pomander_name]++
|
||||
} else {
|
||||
floor_storage[pomander_name]=1
|
||||
}
|
||||
pomander[pomander_slot][1]++
|
||||
pomander[pomander_slot][2]++
|
||||
}
|
||||
} else
|
||||
if (split[4].includes("Floor ")) {
|
||||
var fl=split[4].substring("Floor ".length)
|
||||
floor=Number(fl)
|
||||
previous_pomander=""
|
||||
floor_storage={}
|
||||
accursed_hoard_detected=false
|
||||
} else
|
||||
if (split[4].includes("0) has begun.")) {
|
||||
var fl=split[4].substring("The Palace of the Dead (Floors ".length)
|
||||
fl=fl.substring(0,fl.indexOf("-"))
|
||||
floor=Number(fl)
|
||||
previous_pomander=""
|
||||
floor_storage={}
|
||||
accursed_hoard_detected=false
|
||||
} else
|
||||
if (split[4].includes("0) has ended.")) {
|
||||
var fl=split[4].substring("The Palace of the Dead (Floors ".length)
|
||||
fl=fl.substring(0,fl.indexOf("-"))
|
||||
floor=0
|
||||
previous_pomander=""
|
||||
floor_storage={}
|
||||
accursed_hoard_detected=false
|
||||
for (var i=0;i<pomander.length;i++) {
|
||||
pomander[i][0]=0
|
||||
}
|
||||
for (var i=0;i<accursed_hoard.length;i++) {
|
||||
accursed_hoard[i][0]=0
|
||||
}
|
||||
for (var i=0;i<mimics.length;i++) {
|
||||
mimics[i]=0
|
||||
}
|
||||
for (var i=0;i<traps.length;i++) {
|
||||
traps[i][0]=0
|
||||
}
|
||||
for (var i=0;i<floor_effects.length;i++) {
|
||||
floor_effects[i][0]=0
|
||||
}
|
||||
death_count[1]++
|
||||
} else
|
||||
if (split[4].includes("The enfeebling trap is triggered...")) {
|
||||
traps[ENFEEBLING][0]++
|
||||
traps[ENFEEBLING][1]++
|
||||
} else
|
||||
if (split[4].includes("The toading trap is triggered...")) {
|
||||
traps[TOADING][0]++
|
||||
traps[TOADING][1]++
|
||||
} else
|
||||
if (split[4].includes("The impeding trap is triggered...")) {
|
||||
traps[IMPEDING][0]++
|
||||
traps[IMPEDING][1]++
|
||||
} else
|
||||
if (split[4].includes("The luring trap is triggered...")) {
|
||||
traps[LURING][0]++
|
||||
traps[LURING][1]++
|
||||
} else
|
||||
if (split[4].includes("The landmine is triggered...")) {
|
||||
traps[LANDMINE][0]++
|
||||
traps[LANDMINE][1]++
|
||||
} else
|
||||
if (split[4].includes("obtains a pomander of ")) {
|
||||
var pomander_name=split[4].substring(split[4].indexOf("obtains a pomander of ")+"obtains a pomander of ".length)
|
||||
pomander_name=pomander_name.substring(0,pomander_name.length-1)
|
||||
var pomander_slot = GetPomanderSlot(pomander_name)
|
||||
pomander[pomander_slot][0]++
|
||||
if (floor_storage.hasOwnProperty(pomander_name)&&floor_storage[pomander_name]>0) {
|
||||
floor_storage[pomander_name]--
|
||||
} else {
|
||||
pomander[pomander_slot][1]++
|
||||
pomander[pomander_slot][2]++
|
||||
}
|
||||
} else
|
||||
if (split[4].includes("You sense the Accursed Hoard calling you...")) {
|
||||
accursed_hoard_detected=true
|
||||
} else
|
||||
if (split[4].includes("You discover a piece of the Accursed Hoard!")) {
|
||||
accursed_hoard_detected=false
|
||||
if (floor<=50) {
|
||||
accursed_hoard[0][0]++
|
||||
accursed_hoard[0][1]++
|
||||
} else
|
||||
if (floor<=100) {
|
||||
accursed_hoard[1][0]++
|
||||
accursed_hoard[1][1]++
|
||||
} else
|
||||
if (floor<=150) {
|
||||
accursed_hoard[2][0]++
|
||||
accursed_hoard[2][1]++
|
||||
} else {
|
||||
accursed_hoard[3][0]++
|
||||
accursed_hoard[3][1]++
|
||||
}
|
||||
} else
|
||||
if (split[4].includes("You are revived!")) {
|
||||
death_count[0]++
|
||||
death_count[1]++
|
||||
} else
|
||||
if (split[4].includes("An ancient enchantment stimulates your humours, increasing the speed with which you act.")) {
|
||||
floor_effects[0][0]++
|
||||
floor_effects[0][1]++
|
||||
} else
|
||||
if (split[4].includes("An ancient enchantment revitalizes your body and mind.")) {
|
||||
floor_effects[1][0]++
|
||||
floor_effects[1][1]++
|
||||
} else
|
||||
if (split[4].includes("The gathering gloom appears to invigorate the floor's denizens.")) {
|
||||
floor_effects[2][0]++
|
||||
floor_effects[2][1]++
|
||||
} else
|
||||
if (split[4].includes("An ancient enchantment clouds your eyes, making it difficult to discern your quarry.")) {
|
||||
floor_effects[3][0]++
|
||||
floor_effects[3][1]++
|
||||
} else
|
||||
if (split[4].includes("The items in your bag have temporarily transformed into worthless stone.")) {
|
||||
floor_effects[4][0]++
|
||||
floor_effects[4][1]++
|
||||
} else
|
||||
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][1]++
|
||||
} else
|
||||
if (split[4].includes("An ancient enchantment saps your health.")) {
|
||||
floor_effects[6][0]++
|
||||
floor_effects[6][1]++
|
||||
} else
|
||||
if (split[4].includes("An ancient enchantment saps your very strength, weakening your blows.")) {
|
||||
floor_effects[7][0]++
|
||||
floor_effects[7][1]++
|
||||
} else
|
||||
if (split[4].includes("Your body is fatigued and wounds refuse to heal on their own.")) {
|
||||
floor_effects[8][0]++
|
||||
floor_effects[8][1]++
|
||||
} else
|
||||
if (split[4].includes("Your entire body feels heavy.")) {
|
||||
floor_effects[9][0]++
|
||||
floor_effects[9][1]++
|
||||
} else
|
||||
if (split[4].includes("You find yourself short of breath, unable to sprint.")) {
|
||||
floor_effects[10][0]++
|
||||
floor_effects[10][1]++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user