add missing skills

main
Bryce Allen 10 years ago
parent 7f2136ad41
commit ca374fc036

@ -25,25 +25,24 @@ import requests
#<td rowspan="1" style="vertical-align: top; background-color: #ddeeee; font-size:12pt; border-bottom: 2px solid #000000;"><h3><span class="mw-headline" id="Ammo_Saver">Ammo Saver</span></h3>弾薬節約
TREE_RE = re.compile('^<td [^>]*><h[23]><span class="mw-headline" id="[^"]*">(?:<b>)?([^<]*)(?:</b>)?</span></h[23]>([^<]*)')
# <td style="color: #000000;"> Guard +1<br />ガード性能+1
SKILL_RE = re.compile(
'</td><td style="color: #000000;[^>]*> ([^<]*)<br />(.*)')
TREE_END = '</td></tr>'
'(?:</td>)?<td style="color: #000000;[^>]*> ([^<]*)<br />(.*)')
def parse_wikia_skill_trees(f):
strees = []
skills = []
seen = set()
in_tree = False
in_tree = 0
while True:
line = f.readline()
if not line:
break
line = line.strip()
if in_tree:
if line == TREE_END:
in_tree = False
if not line:
in_tree -= 1
continue
m = SKILL_RE.match(line)
if m:
@ -57,15 +56,22 @@ def parse_wikia_skill_trees(f):
if stree["name"] not in seen:
strees.append(stree)
seen.add(stree["name"])
in_tree = True
# three blank lines divides skill tree rows
in_tree = 3
return strees, skills
def _main():
if len(sys.argv) != 4:
print "Usage: %s infile out_strees.json out_skills.json" % sys.argv[0]
with open(sys.argv[1]) as f:
strees, skills = parse_wikia_skill_trees(f)
print json.dumps(strees, indent=2)
print json.dumps(skills, indent=2)
with open(sys.argv[2], "w") as f:
json.dump(strees, f, indent=2)
f.write("\n")
with open(sys.argv[3], "w") as f:
json.dump(skills, f, indent=2)
f.write("\n")
if __name__ == '__main__':

@ -3,6 +3,10 @@
"name_jp": "\u7832\u8853\u738b",
"name": "Artillery Expert"
},
{
"name_jp": "\u7832\u8853\u5e2b",
"name": "Artillery Novice"
},
{
"name_jp": "\u76d7\u307f\u7121\u52b9",
"name": "Anti-Theft"
@ -11,10 +15,22 @@
"name_jp": "\u653b\u6483\u529bUP\u3010\u5927\u3011",
"name": "Attack Up (L)"
},
{
"name_jp": "\u653b\u6483\u529bUP\u3010\u4e2d\u3011",
"name": "Attack Up (M)"
},
{
"name_jp": "\u653b\u6483\u529bUP\u3010\u5c0f\u3011",
"name": "Attack Up (S)"
},
{
"name_jp": "\u30d0\u30a4\u30aa\u30c9\u30af\u30bf\u30fc",
"name": "Bio Master"
},
{
"name_jp": "\u7d30\u83cc\u7814\u7a76\u5bb6",
"name": "Bio Researcher"
},
{
"name_jp": "\u7206\u7834\u30d3\u30f3\u8ffd\u52a0",
"name": "Use Blast Coat"
@ -43,14 +59,26 @@
"name_jp": "\u5265\u304e\u53d6\u308a\u540d\u4eba",
"name": "Carving Expert"
},
{
"name_jp": "\u5265\u304e\u53d6\u308a\u9244\u4eba",
"name": "Carving Pro"
},
{
"name_jp": "\u304a\u5b88\u308a\u30cf\u30f3\u30bf\u30fc",
"name": "Charm Chaser"
},
{
"name_jp": "\u304a\u5b88\u308a\u53ce\u96c6",
"name": "Charm Collector"
},
{
"name_jp": "\u62e1\u6563\u5f3e\u5168LV\u8ffd\u52a0",
"name": "Use Any Clust S"
},
{
"name_jp": "\u62e1\u6563\u5f3eLV1\u8ffd\u52a0",
"name": "Use Lv1 Clust S"
},
{
"name_jp": "\u5bd2\u3055\u7121\u52b9",
"name": "Cold Cancel"
@ -63,14 +91,26 @@
"name_jp": "\u8abf\u5408\u6210\u529f\u7387+45%",
"name": "Combination +45%"
},
{
"name_jp": "\u8abf\u5408\u6210\u529f\u7387+20%",
"name": "Combination +20%"
},
{
"name_jp": "\u4f53\u8853+2",
"name": "Constitution +2"
},
{
"name_jp": "\u4f53\u8853+1",
"name": "Constitution +1"
},
{
"name_jp": "\u5fb9\u7532\u69b4\u5f3e\u5168LV\u8ffd\u52a0",
"name": "Use Any Crag S"
},
{
"name_jp": "\u5fb9\u7532\u69b4\u5f3eLV1\u8ffd\u52a0",
"name": "Use Lv1 Crag S"
},
{
"name_jp": "\u629c\u5200\u8853\u3010\u6280\u3011",
"name": "Critical Draw"
@ -95,6 +135,14 @@
"name_jp": "\u9632\u5fa1\u529bUP\u3010\u5927\u3011",
"name": "Defense Up (L)"
},
{
"name_jp": "\u9632\u5fa1\u529bUP\u3010\u4e2d\u3011",
"name": "Defense Up (M)"
},
{
"name_jp": "\u9632\u5fa1\u529bUP\u3010\u5c0f\u3011",
"name": "Defense Up (S)"
},
{
"name_jp": "\u9244\u9762\u76ae",
"name": "Iron Skin"
@ -107,14 +155,26 @@
"name_jp": "\u9f8d\u5c5e\u6027\u653b\u6483\u5f37\u5316+2",
"name": "Dragon Atk +2"
},
{
"name_jp": "\u9f8d\u5c5e\u6027\u653b\u6483\u5f37\u5316+1",
"name": "Dragon Atk +1"
},
{
"name_jp": "\u9f8d\u8010\u6027\u3010\u5927\u3011",
"name": "Dragon Res +20"
},
{
"name_jp": "\u9f8d\u8010\u6027\u3010\u5c0f\u3011",
"name": "Dragon Res +15"
},
{
"name_jp": "\u65e9\u98df\u3044+2",
"name": "Speed Eating +2"
},
{
"name_jp": "\u65e9\u98df\u3044+1",
"name": "Speed Eating +1"
},
{
"name_jp": "\u5c5e\u6027\u653b\u6483\u5f37\u5316",
"name": "Element Atk Up"
@ -127,6 +187,10 @@
"name_jp": "\u56de\u907f\u6027\u80fd+2",
"name": "Evasion +2"
},
{
"name_jp": "\u56de\u907f\u6027\u80fd+1",
"name": "Evasion +1"
},
{
"name_jp": "\u6e1b\u6c17\u30d3\u30f3\u8ffd\u52a0",
"name": "Use Exhaust Coat"
@ -135,6 +199,14 @@
"name_jp": "\u898b\u5207\u308a+3",
"name": "Critical Eye +3"
},
{
"name_jp": "\u898b\u5207\u308a+2",
"name": "Critical Eye +2"
},
{
"name_jp": "\u898b\u5207\u308a+1",
"name": "Critical Eye +1"
},
{
"name_jp": "\u96c6\u4e2d",
"name": "Focus"
@ -143,6 +215,14 @@
"name_jp": "\u6fc0\u904b",
"name": "Miraculous Luck"
},
{
"name_jp": "\u5f37\u904b",
"name": "Great Luck"
},
{
"name_jp": "\u5e78\u904b",
"name": "Good Luck"
},
{
"name_jp": "\u5fc3\u773c",
"name": "Mind's Eye"
@ -151,10 +231,18 @@
"name_jp": "\u706b\u5c5e\u6027\u653b\u6483\u5f37\u5316+2",
"name": "Fire Atk +2"
},
{
"name_jp": "\u706b\u5c5e\u6027\u653b\u6483\u5f37\u5316+1",
"name": "Fire Atk +1"
},
{
"name_jp": "\u706b\u8010\u6027\u3010\u5927\u3011",
"name": "Fire Res +20"
},
{
"name_jp": "\u706b\u8010\u6027\u3010\u5c0f\u3011",
"name": "Fire Res +15"
},
{
"name_jp": "\u7121\u6211\u306e\u5883\u5730",
"name": "Antivirus"
@ -163,18 +251,34 @@
"name_jp": "\u63a1\u53d6+2",
"name": "Gathering +2"
},
{
"name_jp": "\u63a1\u53d6+1",
"name": "Gathering +1"
},
{
"name_jp": "\u529b\u306e\u89e3\u653e+2",
"name": "Latent Power +2"
},
{
"name_jp": "\u529b\u306e\u89e3\u653e+1",
"name": "Latent Power +1"
},
{
"name_jp": "\u62fe\u3044\u98df\u3044",
"name": "Scavenger"
},
{
"name_jp": "\u307e\u3093\u3077\u304f",
"name": "Gourmand"
},
{
"name_jp": "\u30ac\u30fc\u30c9\u6027\u80fd+2",
"name": "Guard +2"
},
{
"name_jp": "\u30ac\u30fc\u30c9\u6027\u80fd+1",
"name": "Guard +1"
},
{
"name_jp": "\u30ac\u30fc\u30c9\u5f37\u5316",
"name": "Guard Boost"
@ -183,14 +287,26 @@
"name_jp": "\u6839\u6027",
"name": "Guts"
},
{
"name_jp": "\u65ac\u308c\u5473\u30ec\u30d9\u30eb+1",
"name": "Sharpness +1"
},
{
"name_jp": "\u4f53\u529b+50",
"name": "Health +50"
},
{
"name_jp": "\u4f53\u529b+20",
"name": "Health +20"
},
{
"name_jp": "\u9ad8\u7d1a\u8033\u6813",
"name": "HG Earplugs"
},
{
"name_jp": "\u8033\u6813",
"name": "Earplugs"
},
{
"name_jp": "\u6691\u3055\u7121\u52b9",
"name": "Heat Cancel"
@ -203,14 +319,26 @@
"name_jp": "\u8179\u6e1b\u308a\u7121\u52b9",
"name": "Negate Hunger"
},
{
"name_jp": "\u8179\u6e1b\u308a\u534a\u6e1b",
"name": "Halve Hunger"
},
{
"name_jp": "\u6c37\u5c5e\u6027\u653b\u6483\u5f37\u5316+2",
"name": "Ice Atk +2"
},
{
"name_jp": "\u6c37\u5c5e\u6027\u653b\u6483\u5f37\u5316+1",
"name": "Ice Atk +1"
},
{
"name_jp": "\u6c37\u8010\u6027\u3010\u5927\u3011",
"name": "Ice Res +20"
},
{
"name_jp": "\u6c37\u8010\u6027\u3010\u5c0f\u3011",
"name": "Ice Res +15"
},
{
"name_jp": "KO\u8853",
"name": "Knockout King"
@ -259,6 +387,10 @@
"name_jp": "\u6563\u5f3e\u5168LV\u8ffd\u52a0",
"name": "Use Any Pellet S"
},
{
"name_jp": "\u6563\u5f3eLV1\u8ffd\u52a0",
"name": "Use Lv1 Pellet S"
},
{
"name_jp": "\u6563\u5f3e\u30fb\u62e1\u6563\u77e2UP",
"name": "Pellet/Spread Up"
@ -271,6 +403,10 @@
"name_jp": "\u8cab\u901a\u5f3e\u5168LV\u8ffd\u52a0",
"name": "Use Any Pierce S"
},
{
"name_jp": "\u8cab\u901a\u5f3eLV1\u8ffd\u52a0",
"name": "Use Lv1 Pierce S"
},
{
"name_jp": "\u8cab\u901a\u5f3e\u30fb\u8cab\u901a\u77e2UP",
"name": "Pierce/Pierce Up"
@ -287,10 +423,22 @@
"name_jp": "\u706b\u4e8b\u5834\u529b+2",
"name": "Adrenaline +2"
},
{
"name_jp": "\u706b\u4e8b\u5834\u529b+1",
"name": "Adrenaline +1"
},
{
"name_jp": "\u5f37\u6483\u30d3\u30f3LV1\u8ffd\u52a0",
"name": "Use Lv1 Power Coat"
},
{
"name_jp": "\u30d6\u30ec\u6291\u5236+2",
"name": "Steadiness +2"
},
{
"name_jp": "\u30d6\u30ec\u6291\u5236+1",
"name": "Steadiness +1"
},
{
"name_jp": "\u7cbe\u970a\u306e\u52a0\u8b77",
"name": "Divine Blessing"
@ -299,6 +447,10 @@
"name_jp": "\u81ea\u52d5\u30de\u30fc\u30ad\u30f3\u30b0",
"name": "Autotracker"
},
{
"name_jp": "\u63a2\u77e5",
"name": "Detect"
},
{
"name_jp": "\u629c\u5200\u8853\u3010\u529b\u3011",
"name": "Punishing Draw"
@ -315,10 +467,22 @@
"name_jp": "\u56de\u5fa9\u901f\u5ea6+2",
"name": "Recovery Spd +2"
},
{
"name_jp": "\u56de\u5fa9\u901f\u5ea6+1",
"name": "Recovery Spd +1"
},
{
"name_jp": "\u53cd\u52d5\u8efd\u6e1b+3",
"name": "Recoil Down +3"
},
{
"name_jp": "\u53cd\u52d5\u8efd\u6e1b+2",
"name": "Recoil Down +2"
},
{
"name_jp": "\u53cd\u52d5\u8efd\u6e1b+1",
"name": "Recoil Down +1"
},
{
"name_jp": "\u9023\u767a\u6570+1",
"name": "Bonus Shot"
@ -327,6 +491,14 @@
"name_jp": "\u88c5\u586b\u901f\u5ea6+3",
"name": "Reload Speed +3"
},
{
"name_jp": "\u88c5\u586b\u901f\u5ea6+2",
"name": "Reload Speed +2"
},
{
"name_jp": "\u88c5\u586b\u901f\u5ea6+1",
"name": "Reload Speed +1"
},
{
"name_jp": "\u96a0\u5bc6",
"name": "Sneak"
@ -359,6 +531,10 @@
"name_jp": "\u6311\u6226\u8005+2",
"name": "Challenger +2"
},
{
"name_jp": "\u6311\u6226\u8005+1",
"name": "Challenger +1"
},
{
"name_jp": "\u30b9\u30bf\u30df\u30ca\u596a\u53d6",
"name": "Stamina Thief"
@ -375,10 +551,18 @@
"name_jp": "\u72b6\u614b\u7570\u5e38\u653b\u6483+2",
"name": "Status Atk +2"
},
{
"name_jp": "\u72b6\u614b\u7570\u5e38\u653b\u6483+1",
"name": "Status Atk +1"
},
{
"name_jp": "\u6c17\u7d76\u7121\u52b9",
"name": "Negate Stun"
},
{
"name_jp": "\u6c17\u7d76\u78ba\u7387\u534a\u6e1b",
"name": "Halve Stun"
},
{
"name_jp": "\u4e0d\u5c48",
"name": "Fortify"
@ -399,14 +583,26 @@
"name_jp": "\u96f7\u5c5e\u6027\u653b\u6483\u5f37\u5316+2",
"name": "Thunder Atk +2"
},
{
"name_jp": "\u96f7\u5c5e\u6027\u653b\u6483\u5f37\u5316+1",
"name": "Thunder Atk +1"
},
{
"name_jp": "\u96f7\u8010\u6027\u3010\u5927\u3011",
"name": "Thunder Res +20"
},
{
"name_jp": "\u96f7\u8010\u6027\u3010\u5c0f\u3011",
"name": "Thunder Res +15"
},
{
"name_jp": "\u6355\u7372\u540d\u4eba",
"name": "Capture Master"
},
{
"name_jp": "\u6355\u7372\u9054\u4eba",
"name": "Capture Expert"
},
{
"name_jp": "\u904b\u642c\u306e\u9054\u4eba",
"name": "Pro Transporter"
@ -423,20 +619,40 @@
"name_jp": "\u6c34\u5c5e\u6027\u653b\u6483\u5f37\u5316+2",
"name": "Water Atk +2"
},
{
"name_jp": "\u6c34\u5c5e\u6027\u653b\u6483\u5f37\u5316+1",
"name": "Water Atk +1"
},
{
"name_jp": "\u6c34\u8010\u6027\u3010\u5927\u3011",
"name": "Water Res +20"
},
{
"name_jp": "\u6c34\u8010\u6027\u3010\u5c0f\u3011",
"name": "Water Res +15"
},
{
"name_jp": "\u795e\u306e\u6c17\u307e\u3050\u308c",
"name": "Divine Whim"
},
{
"name_jp": "\u7cbe\u970a\u306e\u6c17\u307e\u3050\u308c",
"name": "Spirit's Whim"
},
{
"name_jp": "\u5e83\u57df\u5316+2",
"name": "Wide-Range +2"
},
{
"name_jp": "\u5e83\u57df\u5316+1",
"name": "Wide-Range +1"
},
{
"name_jp": "\u98a8\u5727\u3010\u5927\u3011\u7121\u52b9",
"name": "Windproof (Hi)"
},
{
"name_jp": "\u98a8\u5727\u3010\u5c0f\u3011\u7121\u52b9",
"name": "Windproof (Lo)"
}
]

Loading…
Cancel
Save