update mhx skill trees, add skills

main
Bryce Allen 10 years ago
parent 44e62b01dc
commit 7f2136ad41

@ -25,28 +25,47 @@ 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>弾薬節約 #<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]>([^<]*)') TREE_RE = re.compile('^<td [^>]*><h[23]><span class="mw-headline" id="[^"]*">(?:<b>)?([^<]*)(?:</b>)?</span></h[23]>([^<]*)')
SKILL_RE = re.compile(
'</td><td style="color: #000000;[^>]*> ([^<]*)<br />(.*)')
TREE_END = '</td></tr>'
def parse_wikia_skill_trees(f): def parse_wikia_skill_trees(f):
data = [] strees = []
skills = []
seen = set() seen = set()
in_tree = False
while True: while True:
line = f.readline() line = f.readline()
if not line: if not line:
break break
line = line.strip() line = line.strip()
if in_tree:
if line == TREE_END:
in_tree = False
continue
m = SKILL_RE.match(line)
if m:
skill = dict(name=m.group(1), name_jp=m.group(2))
skills.append(skill)
continue
m = TREE_RE.match(line) m = TREE_RE.match(line)
if m: if m:
stree = dict(name=m.group(1), name_jp=m.group(2)) stree = dict(name=m.group(1), name_jp=m.group(2))
if stree["name"] not in seen: if stree["name"] not in seen:
data.append(stree) strees.append(stree)
seen.add(stree["name"]) seen.add(stree["name"])
return data in_tree = True
return strees, skills
def _main(): def _main():
with open(sys.argv[1]) as f: with open(sys.argv[1]) as f:
stree_list = parse_wikia_skill_trees(f) strees, skills = parse_wikia_skill_trees(f)
print json.dumps(stree_list, indent=2) print json.dumps(strees, indent=2)
print json.dumps(skills, indent=2)
if __name__ == '__main__': if __name__ == '__main__':

@ -0,0 +1,442 @@
[
{
"name_jp": "\u7832\u8853\u738b",
"name": "Artillery Expert"
},
{
"name_jp": "\u76d7\u307f\u7121\u52b9",
"name": "Anti-Theft"
},
{
"name_jp": "\u653b\u6483\u529bUP\u3010\u5927\u3011",
"name": "Attack Up (L)"
},
{
"name_jp": "\u30d0\u30a4\u30aa\u30c9\u30af\u30bf\u30fc",
"name": "Bio Master"
},
{
"name_jp": "\u7206\u7834\u30d3\u30f3\u8ffd\u52a0",
"name": "Use Blast Coat"
},
{
"name_jp": "\u88c2\u50b7\u7121\u52b9",
"name": "Negate Bleeding"
},
{
"name_jp": "\u5c5e\u6027\u3084\u3089\u308c\u7121\u52b9",
"name": "Blightproof"
},
{
"name_jp": "\u30dc\u30de\u30fc",
"name": "Bombardier"
},
{
"name_jp": "\u63a5\u6483\u30d3\u30f3\u8ffd\u52a0",
"name": "Use C.Range Coat"
},
{
"name_jp": "\u304a\u8089\u5927\u597d\u304d",
"name": "Meat Lover"
},
{
"name_jp": "\u5265\u304e\u53d6\u308a\u540d\u4eba",
"name": "Carving Expert"
},
{
"name_jp": "\u304a\u5b88\u308a\u30cf\u30f3\u30bf\u30fc",
"name": "Charm Chaser"
},
{
"name_jp": "\u62e1\u6563\u5f3e\u5168LV\u8ffd\u52a0",
"name": "Use Any Clust S"
},
{
"name_jp": "\u5bd2\u3055\u7121\u52b9",
"name": "Cold Cancel"
},
{
"name_jp": "\u6700\u5927\u6570\u751f\u7523",
"name": "Combination Pro"
},
{
"name_jp": "\u8abf\u5408\u6210\u529f\u7387+45%",
"name": "Combination +45%"
},
{
"name_jp": "\u4f53\u8853+2",
"name": "Constitution +2"
},
{
"name_jp": "\u5fb9\u7532\u69b4\u5f3e\u5168LV\u8ffd\u52a0",
"name": "Use Any Crag S"
},
{
"name_jp": "\u629c\u5200\u8853\u3010\u6280\u3011",
"name": "Critical Draw"
},
{
"name_jp": "\u4f1a\u5fc3\u6483\u3010\u5c5e\u6027\u3011",
"name": "Elemental Crit"
},
{
"name_jp": "\u4f1a\u5fc3\u6483\u3010\u7279\u6b8a\u3011",
"name": "Status Crit"
},
{
"name_jp": "\u30cd\u30d0\u30cd\u30d0\u5263\u6cd5",
"name": "Pro Dirty Fencer"
},
{
"name_jp": "\u5f3e\u5c0e\u5f37\u5316",
"name": "Trajectory"
},
{
"name_jp": "\u9632\u5fa1\u529bUP\u3010\u5927\u3011",
"name": "Defense Up (L)"
},
{
"name_jp": "\u9244\u9762\u76ae",
"name": "Iron Skin"
},
{
"name_jp": "\u7834\u58ca\u738b",
"name": "Partbreaker"
},
{
"name_jp": "\u9f8d\u5c5e\u6027\u653b\u6483\u5f37\u5316+2",
"name": "Dragon Atk +2"
},
{
"name_jp": "\u9f8d\u8010\u6027\u3010\u5927\u3011",
"name": "Dragon Res +20"
},
{
"name_jp": "\u65e9\u98df\u3044+2",
"name": "Speed Eating +2"
},
{
"name_jp": "\u5c5e\u6027\u653b\u6483\u5f37\u5316",
"name": "Element Atk Up"
},
{
"name_jp": "\u56de\u907f\u8ddd\u96e2UP",
"name": "Evade Extender"
},
{
"name_jp": "\u56de\u907f\u6027\u80fd+2",
"name": "Evasion +2"
},
{
"name_jp": "\u6e1b\u6c17\u30d3\u30f3\u8ffd\u52a0",
"name": "Use Exhaust Coat"
},
{
"name_jp": "\u898b\u5207\u308a+3",
"name": "Critical Eye +3"
},
{
"name_jp": "\u96c6\u4e2d",
"name": "Focus"
},
{
"name_jp": "\u6fc0\u904b",
"name": "Miraculous Luck"
},
{
"name_jp": "\u5fc3\u773c",
"name": "Mind's Eye"
},
{
"name_jp": "\u706b\u5c5e\u6027\u653b\u6483\u5f37\u5316+2",
"name": "Fire Atk +2"
},
{
"name_jp": "\u706b\u8010\u6027\u3010\u5927\u3011",
"name": "Fire Res +20"
},
{
"name_jp": "\u7121\u6211\u306e\u5883\u5730",
"name": "Antivirus"
},
{
"name_jp": "\u63a1\u53d6+2",
"name": "Gathering +2"
},
{
"name_jp": "\u529b\u306e\u89e3\u653e+2",
"name": "Latent Power +2"
},
{
"name_jp": "\u62fe\u3044\u98df\u3044",
"name": "Scavenger"
},
{
"name_jp": "\u30ac\u30fc\u30c9\u6027\u80fd+2",
"name": "Guard +2"
},
{
"name_jp": "\u30ac\u30fc\u30c9\u5f37\u5316",
"name": "Guard Boost"
},
{
"name_jp": "\u6839\u6027",
"name": "Guts"
},
{
"name_jp": "\u4f53\u529b+50",
"name": "Health +50"
},
{
"name_jp": "\u9ad8\u7d1a\u8033\u6813",
"name": "HG Earplugs"
},
{
"name_jp": "\u6691\u3055\u7121\u52b9",
"name": "Heat Cancel"
},
{
"name_jp": "\u30cf\u30cb\u30fc\u30cf\u30f3\u30bf\u30fc",
"name": "Honey Hunter"
},
{
"name_jp": "\u8179\u6e1b\u308a\u7121\u52b9",
"name": "Negate Hunger"
},
{
"name_jp": "\u6c37\u5c5e\u6027\u653b\u6483\u5f37\u5316+2",
"name": "Ice Atk +2"
},
{
"name_jp": "\u6c37\u8010\u6027\u3010\u5927\u3011",
"name": "Ice Res +20"
},
{
"name_jp": "KO\u8853",
"name": "Knockout King"
},
{
"name_jp": "\u30a2\u30a4\u30c6\u30e0\u4f7f\u7528\u5f37\u5316",
"name": "Item Use Up"
},
{
"name_jp": "\u6e80\u8db3\u611f",
"name": "Rationer"
},
{
"name_jp": "\u88c5\u586b\u6570UP",
"name": "Load Up"
},
{
"name_jp": "\u7b1b\u5439\u304d\u540d\u4eba",
"name": "Horn Maestro"
},
{
"name_jp": "\u4e57\u308a\u540d\u4eba",
"name": "Mounting Master"
},
{
"name_jp": "\u30ad\u30ce\u30b3\u5927\u597d\u304d",
"name": "Mushromancer"
},
{
"name_jp": "\u901a\u5e38\u5f3e\u5168LV\u8ffd\u52a0",
"name": "Use Any Normal S"
},
{
"name_jp": "\u901a\u5e38\u5f3e\u30fb\u9023\u5c04\u77e2UP",
"name": "Normal/Rapid Up"
},
{
"name_jp": "\u9ebb\u75fa\u30d3\u30f3\u8ffd\u52a0",
"name": "Use Para Coat"
},
{
"name_jp": "\u9ebb\u75fa\u7121\u52b9",
"name": "Negate Paralysis"
},
{
"name_jp": "\u6563\u5f3e\u5168LV\u8ffd\u52a0",
"name": "Use Any Pellet S"
},
{
"name_jp": "\u6563\u5f3e\u30fb\u62e1\u6563\u77e2UP",
"name": "Pellet/Spread Up"
},
{
"name_jp": "\u6355\u7372\u306e\u898b\u6975\u3081",
"name": "Capture Guru"
},
{
"name_jp": "\u8cab\u901a\u5f3e\u5168LV\u8ffd\u52a0",
"name": "Use Any Pierce S"
},
{
"name_jp": "\u8cab\u901a\u5f3e\u30fb\u8cab\u901a\u77e2UP",
"name": "Pierce/Pierce Up"
},
{
"name_jp": "\u6bd2\u8010\u6027",
"name": "Poison Res"
},
{
"name_jp": "\u6bd2\u30d3\u30f3\u8ffd\u52a0",
"name": "Use Poison Coat"
},
{
"name_jp": "\u706b\u4e8b\u5834\u529b+2",
"name": "Adrenaline +2"
},
{
"name_jp": "\u30d6\u30ec\u6291\u5236+2",
"name": "Steadiness +2"
},
{
"name_jp": "\u7cbe\u970a\u306e\u52a0\u8b77",
"name": "Divine Blessing"
},
{
"name_jp": "\u81ea\u52d5\u30de\u30fc\u30ad\u30f3\u30b0",
"name": "Autotracker"
},
{
"name_jp": "\u629c\u5200\u8853\u3010\u529b\u3011",
"name": "Punishing Draw"
},
{
"name_jp": "\u30cf\u30f3\u30bf\u30fc\u751f\u6d3b",
"name": "Outdoorsman"
},
{
"name_jp": "\u4f53\u529b\u56de\u5fa9\u91cfUP",
"name": "Recovery Up"
},
{
"name_jp": "\u56de\u5fa9\u901f\u5ea6+2",
"name": "Recovery Spd +2"
},
{
"name_jp": "\u53cd\u52d5\u8efd\u6e1b+3",
"name": "Recoil Down +3"
},
{
"name_jp": "\u9023\u767a\u6570+1",
"name": "Bonus Shot"
},
{
"name_jp": "\u88c5\u586b\u901f\u5ea6+3",
"name": "Reload Speed +3"
},
{
"name_jp": "\u96a0\u5bc6",
"name": "Sneak"
},
{
"name_jp": "\u7825\u77f3\u4f7f\u7528\u9ad8\u901f\u5316",
"name": "Speed Sharpening"
},
{
"name_jp": "\u696d\u7269",
"name": "Razor Sharp"
},
{
"name_jp": "\u7d0d\u5200\u8853",
"name": "Quick Sheath"
},
{
"name_jp": "\u7761\u7720\u7121\u52b9",
"name": "Negate Sleep"
},
{
"name_jp": "\u7761\u7720\u30d3\u30f3\u8ffd\u52a0",
"name": "Use Sleep Coat"
},
{
"name_jp": "\u7f60\u5e2b",
"name": "Trap Master"
},
{
"name_jp": "\u6311\u6226\u8005+2",
"name": "Challenger +2"
},
{
"name_jp": "\u30b9\u30bf\u30df\u30ca\u596a\u53d6",
"name": "Stamina Thief"
},
{
"name_jp": "\u30b9\u30bf\u30df\u30ca\u6025\u901f\u56de\u5fa9",
"name": "Stam Recov Up"
},
{
"name_jp": "\u30e9\u30f3\u30ca\u30fc",
"name": "Marathon Runner"
},
{
"name_jp": "\u72b6\u614b\u7570\u5e38\u653b\u6483+2",
"name": "Status Atk +2"
},
{
"name_jp": "\u6c17\u7d76\u7121\u52b9",
"name": "Negate Stun"
},
{
"name_jp": "\u4e0d\u5c48",
"name": "Fortify"
},
{
"name_jp": "\u30aa\u30c8\u30e2\u3078\u306e\u53f7\u4ee4",
"name": "Palico Cheer"
},
{
"name_jp": "\u30aa\u30c8\u30e2\u3078\u306e\u91c7\u914d",
"name": "Palico Rally"
},
{
"name_jp": "\u5f31\u70b9\u7279\u52b9",
"name": "Weakness Exploit"
},
{
"name_jp": "\u96f7\u5c5e\u6027\u653b\u6483\u5f37\u5316+2",
"name": "Thunder Atk +2"
},
{
"name_jp": "\u96f7\u8010\u6027\u3010\u5927\u3011",
"name": "Thunder Res +20"
},
{
"name_jp": "\u6355\u7372\u540d\u4eba",
"name": "Capture Master"
},
{
"name_jp": "\u904b\u642c\u306e\u9054\u4eba",
"name": "Pro Transporter"
},
{
"name_jp": "\u8010\u9707",
"name": "Tremor Res"
},
{
"name_jp": "\u30d5\u30eb\u30c1\u30e3\u30fc\u30b8",
"name": "Peak Performance"
},
{
"name_jp": "\u6c34\u5c5e\u6027\u653b\u6483\u5f37\u5316+2",
"name": "Water Atk +2"
},
{
"name_jp": "\u6c34\u8010\u6027\u3010\u5927\u3011",
"name": "Water Res +20"
},
{
"name_jp": "\u795e\u306e\u6c17\u307e\u3050\u308c",
"name": "Divine Whim"
},
{
"name_jp": "\u5e83\u57df\u5316+2",
"name": "Wide-Range +2"
},
{
"name_jp": "\u98a8\u5727\u3010\u5927\u3011\u7121\u52b9",
"name": "Windproof (Hi)"
}
]

@ -123,6 +123,10 @@
"name_jp": "\u7279\u6b8a\u4f1a\u5fc3", "name_jp": "\u7279\u6b8a\u4f1a\u5fc3",
"name": "CritStatus" "name": "CritStatus"
}, },
{
"name_jp": "\u5317\u8fb0\u7d0d\u8c46\u6d41",
"name": "D. Fencing"
},
{ {
"name_jp": "\u3060\u308b\u307e", "name_jp": "\u3060\u308b\u307e",
"name": "Daruma" "name": "Daruma"
@ -304,8 +308,8 @@
"name": "LastingPwr" "name": "LastingPwr"
}, },
{ {
"name_jp": "\u8df3\u8e8d", "name_jp": "\u98db\u71d5",
"name": "Leaping" "name": "Swift Bird"
}, },
{ {
"name_jp": "\u7bc0\u98df", "name_jp": "\u7bc0\u98df",

Loading…
Cancel
Save