rest of the owl

This commit is contained in:
nairobi
2026-05-18 21:22:39 +02:00
parent 1b07f0d428
commit d4151dda48
4 changed files with 11279 additions and 2 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,6 +1,6 @@
## Chart constants
Get the data by going to [譜面定数表](https://wikiwiki.jp/arcaea/%E8%AD%9C%E9%9D%A2%E5%AE%9A%E6%95%B0%E8%A1%A8)
or [譜面定数表 (Level 7以下)]([https://wikiwiki.jp/arcaea/譜面定数表/譜面定数表 (Level 7以下)](https://wikiwiki.jp/arcaea/%E8%AD%9C%E9%9D%A2%E5%AE%9A%E6%95%B0%E8%A1%A8/%E8%AD%9C%E9%9D%A2%E5%AE%9A%E6%95%B0%E8%A1%A8%20%28Level%207%E4%BB%A5%E4%B8%8B%29)) and paste in the contents
or [譜面定数表 (Level 7以下)](https://wikiwiki.jp/arcaea/%E8%AD%9C%E9%9D%A2%E5%AE%9A%E6%95%B0%E8%A1%A8/%E8%AD%9C%E9%9D%A2%E5%AE%9A%E6%95%B0%E8%A1%A8%20%28Level%207%E4%BB%A5%E4%B8%8B%29) and paste in the contents
of this script in the browser console:
```js
@@ -26,12 +26,31 @@ const MANUAL_TITLE_MAP = {
"ベースラインやってる?w": "Can I Friend You on Bassbook? Lol",
"光速神授説- Divine Light of Myriad -": "Divine Light of Myriad",
"妖艶魔女-trappola bewitching-": "trappola bewitching",
"緋色月下、狂咲ノ絶(nayuta 2017 ver.)": "Hiiro Gekka, Kyoushou no Zetsu (nayuta 2017 ver.)",
// They use some fucked up delta character on wikiwiki
"LIVHT MY W​Δ​Y": "LIVHT MY WΔY",
"Rain of Conflictin a Radiant Abyss": "Rain of Conflict in a Radiant Abyss",
"MEGALOVANIA(Camellia Remix)": "MEGALOVANIA (Camellia Remix)",
"DA'AT-The First Seeker of Souls-": "DA'AT -The First Seeker of Souls-",
"Signal feat. Such": "Signal",
"キャラメルポップコーンたべたいよ~": "キャラメルポップコーンたべたいよ〜",
"患部で止まってすぐ溶ける ~ 狂気の優曇華院": "患部で止まってすぐ溶ける 〜 狂気の優曇華院",
"患部で止まってすぐ溶ける~ 狂気の優曇華院": "患部で止まってすぐ溶ける 〜 狂気の優曇華院"
};
// Multiple different songs with the same title, requiring artist search.
const NEEDS_ARTIST_SEARCH = ["Quon", "Genesis"];
const AF_FTR_BLACKLIST = [
"Singularity VVVIP",
"Ignotus Afterburn",
"overdead.",
"Red and Blue and Green",
"0xe0e1ccull",
"HIVEMIND INTERLINKED",
"Live Faster Die Younger",
"Mistempered Malignance"
]
const songs = ReadCollection("songs-arcaea.json");
function findSong(collection, ccEntry) {
@@ -51,6 +70,10 @@ function parseScrapedData(file, mutationCallback) {
const ccData = JSON.parse(fs.readFileSync(path.join(__dirname, file), "utf-8"));
for (const entry of ccData) {
if (AF_FTR_BLACKLIST.includes(entry.title) && entry.difficulty === "Future") {
continue;
}
const song = findSong(songs, entry);
if (!song) {
@@ -78,6 +101,9 @@ function parseScrapedData(file, mutationCallback) {
}
function chartConstantMutationCallback(chart, entry) {
if(chart.levelNum !== entry.levelNum) {
console.info(`${entry.title} ${entry.difficulty} ${chart.levelNum} -> ${entry.levelNum}`);
}
chart.level = entry.level;
chart.levelNum = entry.levelNum;
}
@@ -92,6 +118,9 @@ if (fs.existsSync(path.join(__dirname, "upper.json"))) {
if (fs.existsSync(path.join(__dirname, "notecount.json"))) {
parseScrapedData("notecount.json", (chart, entry) => {
if (chart.data.notecount !== undefined && chart.data.notecount > 0 && chart.data.notecount !== entry.notecount) {
console.warn(`${entry.title} ${entry.difficulty} ${chart.notecount} -> ${entry.notecount}`);
}
chart.data = {
...chart.data,
notecount: entry.notecount,