@@ -613,7 +664,7 @@
'地脉的新芽', '雾虚灯芯', '漫游者的盛放之花', '黑晶号角', '混沌锚栓', '混沌炉心',
'辉光棱晶', '隐兽鬼爪', '初生的浊水幻灵', '异界生命核', '役人的时时刻刻', '渊光鳍翅',
'未熄的剑柄', '秘源真芯', '意志巡游的符像', '聚燃的游像眼', '迷光的蜷叶之心', '明燃的棱状壳',
- '大英雄的经验'
+ '大英雄的经验', '幽雾兜盔', '霜夜的煌荣', '繁光躯外骸'
];
// 藍
@@ -624,7 +675,7 @@
'密固的横脊', '地脉的枯叶', '混浊棱晶', '雾虚草囊', '特工祭刀', '黑铜号角', '混沌回路',
'混沌模块', '何人所珍藏之花', '隐兽利爪', '浊水的一掬', '外世突触', '役人的制式怀表',
'月色鳍翅', '裂断的剑柄', '秘源机鞘', '意志明晰的寄偶', '聚燃的命种', '惑光的阔叶', '蕴热的背壳',
- '冒险家的经验'
+ '冒险家的经验', '霜镌的执凭', '精制机轴', '幽雾片甲', '霜夜的柔辉', '稀光遗骼'
];
// 綠
@@ -634,15 +685,26 @@
'老练的坚齿', '战士的铁哨', '混沌机关', '黯淡棱镜', '晦暗刻像', '沉重号角', '地脉的旧枝',
'混沌装置', '雾虚花粉', '猎兵祭刀', '脆弱的骨片', '隐兽指爪', '残毁的横脊', '来自何处的待放之花',
'破缺棱晶', '混沌容器', '浊水的一滴', '隙间之核', '老旧的役人怀表', '羽状鳍翅', '残毁的剑柄',
- '秘源轴', '意志破碎的残片', '聚燃的石块', '折光的胚芽', '冷裂壳块', '流浪者的经验'
+ '秘源轴', '意志破碎的残片', '聚燃的石块', '折光的胚芽', '冷裂壳块', '流浪者的经验', '精致的执凭',
+ '加固机轴', '幽雾化形', '霜夜的残照', '失光块骨'
];
// 灰
const RARITY_2_ITEMS = [
'牢固的箭簇', '史莱姆凝液', '寻宝鸦印', '新兵的徽记', '破损的面具', '导能绘卷', '骗骗花蜜',
- '破旧的刀镡', '浮游干核', '蕈兽孢子', '褪色红绸', '啮合齿轮', '异海凝珠', '稚嫩的尖齿', '卫从的木哨'
+ '破旧的刀镡', '浮游干核', '蕈兽孢子', '褪色红绸', '啮合齿轮', '异海凝珠', '稚嫩的尖齿', '卫从的木哨',
+ '磨损的执凭', '毁损机轴'
];
+ // 特定矿石列表(需要特殊数量标记)
+ const SPECIAL_ORES = [
+ '铁块', '白铁块', '水晶块', '星银矿石',
+ '紫晶块', '萃凝晶', '虹滴晶', '魔晶块'
+ ];
+
+ // 在脚本开头添加全局变量
+ let showNoChangeItems = false;
+
window.onload = function () {
const now = new Date();
const currentHour = now.getHours();
@@ -804,13 +866,8 @@
records[categoryKey] = [];
}
records[categoryKey].push({
- timestamp: currentTimestamp, // 使用已存储的时间戳
- items: { ...currentItems }
- });
- console.log("保存记录:", {
- category: categoryKey,
timestamp: currentTimestamp,
- items: Object.keys(currentItems)
+ items: { ...currentItems }
});
}
@@ -852,13 +909,7 @@
timestamp: currentTimestamp,
items: { ...currentItems }
});
- console.log("保存记录:", {
- category: categoryKey,
- timestamp: currentTimestamp,
- items: Object.keys(currentItems)
- });
}
- console.log(records)
return records;
}
@@ -887,12 +938,32 @@
return 1; // 其他为1(最低)
}
+ // 检查数量是否需要标记
+ function getQuantityClass(itemName, quantity) {
+ if (SPECIAL_ORES.includes(itemName)) {
+ // 特殊矿石
+ if (quantity >= 99500) return 'high-quantity';
+ if (quantity >= 99000) return 'medium-quantity';
+ } else {
+ // 普通材料
+ if (quantity >= 9500) return 'high-quantity';
+ if (quantity >= 9000) return 'medium-quantity';
+ }
+ return '';
+ }
+
// 显示解析结果
function displayResults(records) {
resultsContainer.innerHTML = ``;
+ // 添加显示状态类
+ if (showNoChangeItems) {
+ resultsContainer.classList.add('show-no-change');
+ } else {
+ resultsContainer.classList.remove('show-no-change');
+ }
+
for (const [category, scans] of Object.entries(records)) {
- // 只处理有至少两次扫描的类别
if (scans.length < 2) continue;
const latestScan = scans[0];
const previousScan = scans[1];
@@ -901,27 +972,26 @@
const section = document.createElement('div');
section.className = 'category-section';
section.innerHTML = `
-
+
+
+
+
+ | ${previousScan.timestamp} |
+ ${latestScan.timestamp} |
+ 变更数量 |
+
+
+
+
+
+ `;
const tbody = section.querySelector('tbody');
const toggleBtn = section.querySelector('.category-header');
@@ -1005,16 +1075,15 @@
for (const [item, latestQty] of Object.entries(latestScan.items)) {
const previousQty = previousScan.items[item];
- if (previousQty === undefined ||
- latestQty === '?' ||
- previousQty === '?' ||
- latestQty === previousQty) {
+ // 检查是否无法比较(有问号或不存在)
+ if (previousQty === undefined || latestQty === '?' || previousQty === '?') {
continue;
}
const change = latestQty - previousQty;
- const changeClass = change > 0 ? 'increase' : 'decrease';
- const changeSign = change > 0 ? '+' : '';
+ const changeClass = change > 0 ? 'increase' : (change < 0 ? 'decrease' : 'no-change');
+ const changeSign = change > 0 ? '+' : (change < 0 ? '' : '');
+
// 确定物品的稀有度类
let rarityClass = '';
@@ -1028,14 +1097,22 @@
rarityClass = 'rarity-2';
}
- // 检查数量是否超过9000
+ // 获取数量标记类
+ const prevQuantityClass = getQuantityClass(item, previousQty);
+ const latestQuantityClass = getQuantityClass(item, latestQty);
const row = document.createElement('tr');
+
+ // 为无变化材料添加特殊类
+ if (change === 0) {
+ row.classList.add('no-change-row');
+ }
+
row.innerHTML = `
-
${item} |
-
${previousQty} |
-
${latestQty} |
-
${changeSign}${change} |
- `;
+
${item} |
+
${previousQty} |
+
${latestQty} |
+
${changeSign}${change} |
+ `;
// 存储稀有度等级用于排序
row.dataset.rarity = getRarityLevel(item);
@@ -1043,7 +1120,7 @@
tbody.appendChild(row);
}
- // 如果有变化才添加到结果
+ // 如果有数据才添加到结果
if (tbody.children.length > 0) {
resultsContainer.appendChild(section);
// 初始排序(由多到少)
@@ -1111,7 +1188,7 @@
tbody.appendChild(row);
});
}
-
+
// 显示错误信息
function showError(message) {
errorMessage.textContent = message;
@@ -1119,12 +1196,39 @@
}
});
+ // 添加切换显示无变化材料的函数
+ function toggleNoChangeItems() {
+ showNoChangeItems = !showNoChangeItems;
+
+ // 更新结果显示
+ const resultsContainer = document.getElementById('resultsContainer');
+ if (showNoChangeItems) {
+ resultsContainer.classList.add('show-no-change');
+ } else {
+ resultsContainer.classList.remove('show-no-change');
+ }
+
+ // 显示状态提示
+ const statusIndicator = document.getElementById('statusIndicator');
+ statusIndicator.textContent = showNoChangeItems ?
+ '显示无变化材料 (按J隐藏)' :
+ '隐藏无变化材料 (按J显示)';
+ statusIndicator.style.display = 'block';
+
+ // 3秒后隐藏提示
+ setTimeout(() => {
+ statusIndicator.style.display = 'none';
+ }, 2000);
+ }
+
window.addEventListener('keydown', function (e) {
const scrollAmount = 150; // 滚动距离
if (e.key.toLowerCase() === 'w') {
window.scrollBy({ top: -scrollAmount, behavior: 'smooth' });
} else if (e.key.toLowerCase() === 's') {
window.scrollBy({ top: scrollAmount, behavior: 'smooth' });
+ } else if (e.key === 'j' || e.key === 'J') {
+ toggleNoChangeItems();
}
});
@@ -1168,4 +1272,4 @@
-