Skip to content

Instantly share code, notes, and snippets.

@Nishisonic
Last active October 14, 2018 20:36
Show Gist options
  • Select an option

  • Save Nishisonic/4e3161fe7b6592b95dc96f7946fc5054 to your computer and use it in GitHub Desktop.

Select an option

Save Nishisonic/4e3161fe7b6592b95dc96f7946fc5054 to your computer and use it in GitHub Desktop.
const fs = require('fs-extra')
const ITEM_DATA = {}
const ITEM_TYPE2_DATA = {}
const ITEM_TYPE3_DATA = {
1: { name: '小口径主砲', color:'#fcc' },
2: { name: '中口径主砲', color:'#fcc' },
3: { name: '大口径主砲', color:'#fcc' },
4: { name: '副砲', color:'#ff9' },
5: { name: '魚雷', color:'#9cf' },
6: { name: '艦上戦闘機', color:'#cfc' },
7: { name: '艦上爆撃機', color:'#fcc' },
8: { name: '艦上攻撃機', color:'#9cf' },
9: { name: '艦上偵察機', color:'#fc6' },
10: { name: '水上機', color:'#cfc' },
11: { name: '電探', color:'#fc6' },
12: { name: '対空強化弾', color:'#cfc' },
13: { name: '対艦強化弾', color:'#fcc' },
14: { name: '応急修理要員', color:'#fff' },
15: { name: '対空機銃', color:'#cfc' },
16: { name: '高角砲', color:'#cfc' },
17: { name: '爆雷', color:'#cff' },
18: { name: 'ソナー', color:'#cff' },
19: { name: '機関部強化', color:'#fc6' },
20: { name: '上陸用舟艇', color:'#cf6' },
21: { name: 'オートジャイロ', color:'' },
22: { name: '対潜哨戒機', color:'#cfc' },
23: { name: '追加装甲', color:'#ccf' },
24: { name: '探照灯', color:'#fc6' },
25: { name: '簡易輸送部材', color:'#eee' },
26: { name: '艦艇修理施設', color:'#dcb' },
27: { name: '照明弾', color:'#fc6' },
28: { name: '司令部施設', color:'#cbf' },
29: { name: '航空要員', color:'#dcb' },
30: { name: '高射装置', color:'#9acd32' },
31: { name: '対地装備', color:'#f78181' },
32: { name: '水上艦要員', color:'#cfc' },
33: { name: '大型飛行艇', color:'#cfc' },
34: { name: '戦闘糧食', color:'#fff' },
35: { name: '補給物資', color:'#60d7a8' },
36: { name: '特型内火艇', color:'#cf6' },
37: { name: '陸上攻撃機', color:'#cfc' },
38: { name: '局地戦闘機', color:'#cfc' },
39: { name: '噴式戦闘爆撃機(噴式景雲改)', color:'#fc6' },
40: { name: '噴式戦闘爆撃機(橘花改)', color:'#fc6' },
41: { name: '輸送機材', color:'#289c43' },
42: { name: '潜水艦装備', color:'#ace' },
43: { name: '水上戦闘機', color:'#cfc' },
44: { name: '陸上戦闘機', color:'#cfc' },
45: { name: '夜間戦闘機', color:'#aac' },
46: { name: '夜間攻撃機', color:'#9cf' },
47: { name: '陸上対潜哨戒機', color:'#aac' }
}
fs.readFile('START2.json','utf8',(err, data) => {
if (err) reject(err)
const master = JSON.parse(data).api_data
let result = `|CENTER:|||CENTER:BGCOLOR(#FA8072):|CENTER:BGCOLOR(#B0C4DE):|CENTER:BGCOLOR(#E9967A):|CENTER:BGCOLOR(#90EE90):|CENTER:BGCOLOR(#AFEEEE):|CENTER:BGCOLOR(#F0F8FF):|CENTER:BGCOLOR(#F5F5DC):|CENTER:BGCOLOR(#E0FFFF):|CENTER:BGCOLOR(#FAEBD7):||c\n`
master.api_mst_slotitem_equiptype.forEach(data => { ITEM_TYPE2_DATA[data.api_id] = data.api_name })
master.api_mst_slotitem.filter(item => item.api_id > 500).forEach(item => {
ITEM_DATA[item.api_id] = item
})
for (let i = 501;i <= Math.max(...Object.keys(ITEM_DATA));i++) {
const item = ITEM_DATA[i]
if (i % 20 === 1) {
result += `|~[[No.>練習ページ/24/装備]]|~装備名|~[[種別>練習ページ/24/装備/種別]]|~[[火力>練習ページ/24/装備/火力]]|~[[雷装>練習ページ/24/装備/雷装]]|~[[爆装>練習ページ/24/装備/爆装]]|~[[対空>練習ページ/24/装備/対空]]|~[[対潜>練習ページ/24/装備/対潜]]|~[[索敵>練習ページ/24/装備/索敵]]|~[[命中>練習ページ/24/装備/命中]]|~[[回避>練習ページ/24/装備/回避]]|~[[射程>練習ページ/24/装備/射程]]|~備考|${i === 501 ? 'h' : ''}\n`
}
if (item) {
result += `|${i}&aname(i${i});|BGCOLOR(${ITEM_TYPE3_DATA[item.api_type[3]].color}):${item.api_name}|${ITEM_TYPE2_DATA[item.api_type[2]]}|${param(item.api_houg)}|${param(item.api_raig)}|${param(item.api_baku)}|${param(item.api_tyku)}|${param(item.api_tais)}|${param(item.api_saku)}|${param(item.api_houm)}|${param(item.api_houk)}|${leng(item.api_leng)}||\n`
} else {
result += `|${i}&aname(i${i});|||||||||||||\n`
}
}
fs.writeFile('result.txt', result)
})
function param (status) {
return status > 0 ? `+${status}` : status === 0 ? '-' : status
}
function leng (status) {
switch (status) {
case 0: return '-'
case 1: return '短'
case 2: return '中'
case 3: return '長'
case 4: return '超長'
case 5: return '超長+'
default: return '不明'
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment