diff --git a/bin/mhdamage.py b/bin/mhdamage.py index e4d091d..dd2c081 100755 --- a/bin/mhdamage.py +++ b/bin/mhdamage.py @@ -111,7 +111,6 @@ def parse_weapon_arg(arg, base_args): raise ValueError("invalid weapon-skills arg: " + arg) - def get_skill_names(args): return ["Sharpness +%d" % args.sharpness_plus if args.sharpness_plus else "", diff --git a/db/mhx/monster_hitboxes.json b/db/mhx/monster_hitboxes.json new file mode 100644 index 0000000..31fc229 --- /dev/null +++ b/db/mhx/monster_hitboxes.json @@ -0,0 +1,974 @@ +{ + "Tamamitsune" : { + "Torso" : { + "Impact" : 25, + "Cut" : 25, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 20, + "Thunder" : 10, + "Fire" : 5, + "Water" : 0 + }, + "Tail" : { + "Impact" : 33, + "Cut" : 43, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 40, + "Thunder" : 10, + "Fire" : 5, + "Water" : 0 + }, + "Head Fin" : { + "Impact" : 43, + "Cut" : 43, + "Dragon" : 8, + "Ice" : 5, + "Shot" : 40, + "Thunder" : 10, + "Fire" : 8, + "Water" : 0 + }, + "Hind Legs" : { + "Impact" : 38, + "Cut" : 38, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 25, + "Thunder" : 10, + "Fire" : 5, + "Water" : 0 + }, + "Back Fin" : { + "Impact" : 43, + "Cut" : 43, + "Dragon" : 10, + "Ice" : 5, + "Shot" : 45, + "Thunder" : 15, + "Fire" : 8, + "Water" : 0 + }, + "_breaks" : [ + "Head Fin", + "Back Fin", + "Foreleg", + "Tail" + ], + "Foreleg" : { + "Impact" : 21, + "Cut" : 21, + "Dragon" : 30, + "Ice" : 15, + "Shot" : 10, + "Thunder" : 35, + "Fire" : 5, + "Water" : 0 + }, + "Head" : { + "Impact" : 63, + "Cut" : 63, + "Dragon" : 8, + "Ice" : 5, + "Shot" : 45, + "Thunder" : 10, + "Fire" : 5, + "Water" : 0 + } + }, + "Dinovaldo" : { + "Torso" : { + "Impact" : 25, + "Cut" : 25, + "Dragon" : 10, + "Ice" : 10, + "Shot" : 20, + "Thunder" : 5, + "Fire" : 0, + "Water" : 20 + }, + "Throat" : { + "Impact" : 70, + "Cut" : 70, + "Dragon" : 15, + "Ice" : 15, + "Shot" : 30, + "Thunder" : 15, + "Fire" : 0, + "Water" : 30 + }, + "Tail" : { + "Impact" : 36, + "Cut" : 36, + "Dragon" : 15, + "Ice" : 15, + "Shot" : 20, + "Thunder" : 10, + "Fire" : 0, + "Water" : 25 + }, + "Hind Legs" : { + "Impact" : 25, + "Cut" : 25, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 20, + "Thunder" : 5, + "Fire" : 0, + "Water" : 15 + }, + "_breaks" : [ + "Head", + "Forelegs", + "Back", + "Tail" + ], + "Head" : { + "Impact" : 65, + "Cut" : 65, + "Dragon" : 15, + "Ice" : 15, + "Shot" : 50, + "Thunder" : 10, + "Fire" : 0, + "Water" : 25 + }, + "Tail (Blade)" : { + "Impact" : 22, + "Cut" : 22, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 22, + "Thunder" : 5, + "Fire" : 0, + "Water" : 20 + }, + "Back" : { + "Impact" : 36, + "Cut" : 36, + "Dragon" : 10, + "Ice" : 10, + "Shot" : 45, + "Thunder" : 5, + "Fire" : 0, + "Water" : 20 + }, + "Forelegs" : { + "Impact" : 41, + "Cut" : 41, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 20, + "Thunder" : 5, + "Fire" : 0, + "Water" : 15 + } + }, + "Lagiacrus" : { + "Body" : { + "Impact" : 35, + "Cut" : 35, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 20, + "Thunder" : 0, + "Fire" : 15, + "Water" : 0 + }, + "Tail" : { + "Impact" : 35, + "Cut" : 30, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 15, + "Thunder" : 0, + "Fire" : 15, + "Water" : 0 + }, + "_breaks" : [ + "Head", + "Breast", + "Back", + "Legs", + "Tail" + ], + "Breast" : { + "Impact" : 40, + "Cut" : 45, + "Dragon" : 10, + "Ice" : 10, + "Shot" : 35, + "Thunder" : 0, + "Fire" : 20, + "Water" : 0 + }, + "Head" : { + "Impact" : 40, + "Cut" : 40, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 40, + "Thunder" : 0, + "Fire" : 15, + "Water" : 0 + }, + "Legs" : { + "Impact" : 25, + "Cut" : 27, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 10, + "Thunder" : 0, + "Fire" : 15, + "Water" : 0 + }, + "Back" : { + "Impact" : 40, + "Cut" : 25, + "Dragon" : 15, + "Ice" : 15, + "Shot" : 15, + "Thunder" : 0, + "Fire" : 25, + "Water" : 0 + } + }, + "Lavasioth" : { + "Feet" : { + "Impact" : 25, + "Cut" : 25, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 10, + "Thunder" : 5, + "Fire" : 0, + "Water" : 10 + }, + "Stomach" : { + "Impact" : 55, + "Cut" : 55, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 40, + "Thunder" : 5, + "Fire" : 0, + "Water" : 10 + }, + "Tail" : { + "Impact" : 35, + "Cut" : 35, + "Dragon" : 5, + "Ice" : 20, + "Shot" : 25, + "Thunder" : 20, + "Fire" : 0, + "Water" : 30 + }, + "Neck" : { + "Impact" : 43, + "Cut" : 43, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 35, + "Thunder" : 5, + "Fire" : 0, + "Water" : 10 + }, + "_breaks" : [ + "Head", + "Back" + ], + "Wings" : { + "Impact" : 35, + "Cut" : 35, + "Dragon" : 5, + "Ice" : 20, + "Shot" : 20, + "Thunder" : 20, + "Fire" : 0, + "Water" : 30 + }, + "Head" : { + "Impact" : 63, + "Cut" : 63, + "Dragon" : 5, + "Ice" : 10, + "Shot" : 45, + "Thunder" : 10, + "Fire" : 0, + "Water" : 10 + }, + "Back" : { + "Impact" : 25, + "Cut" : 25, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 15, + "Thunder" : 5, + "Fire" : 0, + "Water" : 10 + } + }, + "Agnaktor" : { + "Fin" : { + "Impact" : 15, + "Cut" : 15, + "Dragon" : 0, + "Ice" : 15, + "Shot" : 15, + "Thunder" : 0, + "Fire" : 10, + "Water" : 20 + }, + "Torso" : { + "Impact" : 15, + "Cut" : 15, + "Dragon" : 0, + "Ice" : 20, + "Shot" : 15, + "Thunder" : 10, + "Fire" : 10, + "Water" : 25 + }, + "Tail" : { + "Impact" : 24, + "Cut" : 20, + "Dragon" : 20, + "Ice" : 10, + "Shot" : 20, + "Thunder" : 10, + "Fire" : 5, + "Water" : 15 + }, + "Chest" : { + "Impact" : 15, + "Cut" : 15, + "Dragon" : 0, + "Ice" : 15, + "Shot" : 15, + "Thunder" : 0, + "Fire" : 10, + "Water" : 20 + }, + "Hind Legs" : { + "Impact" : 15, + "Cut" : 15, + "Dragon" : 0, + "Ice" : 15, + "Shot" : 15, + "Thunder" : 5, + "Fire" : 10, + "Water" : 20 + }, + "Neck" : { + "Impact" : 15, + "Cut" : 15, + "Dragon" : 0, + "Ice" : 15, + "Shot" : 15, + "Thunder" : 0, + "Fire" : 10, + "Water" : 15 + }, + "_breaks" : [ + "Head", + "Chest", + "Forelegs", + "Fin" + ], + "Head" : { + "Impact" : 15, + "Cut" : 15, + "Dragon" : 0, + "Ice" : 25, + "Shot" : 15, + "Thunder" : 15, + "Fire" : 10, + "Water" : 30 + }, + "Forelegs" : { + "Impact" : 15, + "Cut" : 15, + "Dragon" : 0, + "Ice" : 20, + "Shot" : 15, + "Thunder" : 0, + "Fire" : 10, + "Water" : 20 + } + }, + "Blangonga" : { + "Torso" : { + "Impact" : 50, + "Cut" : 45, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 40, + "Thunder" : 15, + "Fire" : 20, + "Water" : 5 + }, + "Tail" : { + "Impact" : 40, + "Cut" : 50, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 25, + "Thunder" : 15, + "Fire" : 15, + "Water" : 5 + }, + "_breaks" : [ + "Head", + "Tail" + ], + "Arms" : { + "Impact" : 40, + "Cut" : 45, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 30, + "Thunder" : 15, + "Fire" : 15, + "Water" : 5 + }, + "Head" : { + "Impact" : 60, + "Cut" : 60, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 60, + "Thunder" : 15, + "Fire" : 30, + "Water" : 5 + }, + "Legs" : { + "Impact" : 40, + "Cut" : 45, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 30, + "Thunder" : 15, + "Fire" : 15, + "Water" : 5 + } + }, + "Gamuto" : { + "Torso" : { + "Impact" : 34, + "Cut" : 25, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 19, + "Thunder" : 5, + "Fire" : 5, + "Water" : 0 + }, + "Trunk" : { + "Impact" : 54, + "Cut" : 63, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 45, + "Thunder" : 10, + "Fire" : 25, + "Water" : 5 + }, + "Tail" : { + "Impact" : 35, + "Cut" : 40, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 38, + "Thunder" : 10, + "Fire" : 5, + "Water" : 5 + }, + "Hind Leg" : { + "Impact" : 38, + "Cut" : 36, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 35, + "Thunder" : 5, + "Fire" : 15, + "Water" : 7 + }, + "_breaks" : [ + "Head", + "Trunk", + "Hind Leg" + ], + "Foreleg" : { + "Impact" : 38, + "Cut" : 36, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 35, + "Thunder" : 5, + "Fire" : 15, + "Water" : 7 + }, + "Head" : { + "Impact" : 60, + "Cut" : 55, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 40, + "Thunder" : 15, + "Fire" : 10, + "Water" : 0 + } + }, + "Hororohoruru" : { + "Torso" : { + "Impact" : 40, + "Cut" : 40, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 40, + "Thunder" : 5, + "Fire" : 5, + "Water" : 10 + }, + "Tail" : { + "Impact" : 45, + "Cut" : 50, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 35, + "Thunder" : 5, + "Fire" : 10, + "Water" : 15 + }, + "Feet" : { + "Impact" : 30, + "Cut" : 35, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 30, + "Thunder" : 5, + "Fire" : 5, + "Water" : 10 + }, + "_breaks" : [ + "Head", + "Wing Claws", + "Tail" + ], + "Wings" : { + "Impact" : 35, + "Cut" : 35, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 30, + "Thunder" : 5, + "Fire" : 5, + "Water" : 10 + }, + "Head" : { + "Impact" : 50, + "Cut" : 55, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 55, + "Thunder" : 5, + "Fire" : 10, + "Water" : 15 + }, + "Wing Claws" : { + "Impact" : 20, + "Cut" : 20, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 20, + "Thunder" : 10, + "Fire" : 10, + "Water" : 20 + } + }, + "Alatreon" : { + "Torso" : { + "Impact" : 30, + "Cut" : 35, + "Dragon" : 5, + "Ice" : 15, + "Shot" : 20, + "Thunder" : 5, + "Fire" : 0, + "Water" : 10 + }, + "Tail" : { + "Impact" : 25, + "Cut" : 30, + "Dragon" : 5, + "Ice" : 10, + "Shot" : 40, + "Thunder" : 5, + "Fire" : 0, + "Water" : 5 + }, + "Feet" : { + "Impact" : 25, + "Cut" : 25, + "Dragon" : 5, + "Ice" : 15, + "Shot" : 20, + "Thunder" : 5, + "Fire" : 0, + "Water" : 10 + }, + "Neck" : { + "Impact" : 35, + "Cut" : 40, + "Dragon" : 5, + "Ice" : 15, + "Shot" : 35, + "Thunder" : 5, + "Fire" : 0, + "Water" : 10 + }, + "_breaks" : [ + "Head", + "Wings", + "Feet", + "Tail" + ], + "Wings" : { + "Impact" : 21, + "Cut" : 21, + "Dragon" : 5, + "Ice" : 10, + "Shot" : 10, + "Thunder" : 5, + "Fire" : 0, + "Water" : 5 + }, + "Head" : { + "Impact" : 65, + "Cut" : 60, + "Dragon" : 5, + "Ice" : 20, + "Shot" : 55, + "Thunder" : 5, + "Fire" : 0, + "Water" : 15 + } + }, + "Royal Ludroth" : { + "Tail" : { + "Impact" : 42, + "Cut" : 42, + "Dragon" : 0, + "Ice" : 10, + "Shot" : 40, + "Thunder" : 5, + "Fire" : 20, + "Water" : 0 + }, + "Front Legs" : { + "Impact" : 35, + "Cut" : 30, + "Dragon" : 0, + "Ice" : 15, + "Shot" : 25, + "Thunder" : 10, + "Fire" : 15, + "Water" : 0 + }, + "_breaks" : [ + "Head", + "Mane", + "Tail" + ], + "Back Legs" : { + "Impact" : 30, + "Cut" : 35, + "Dragon" : 0, + "Ice" : 10, + "Shot" : 30, + "Thunder" : 10, + "Fire" : 15, + "Water" : 0 + }, + "Mane" : { + "Impact" : 42, + "Cut" : 45, + "Dragon" : 0, + "Ice" : 15, + "Shot" : 45, + "Thunder" : 15, + "Fire" : 20, + "Water" : 0 + }, + "Head" : { + "Impact" : 50, + "Cut" : 42, + "Dragon" : 5, + "Ice" : 10, + "Shot" : 50, + "Thunder" : 15, + "Fire" : 20, + "Water" : 0 + }, + "Back" : { + "Impact" : 45, + "Cut" : 30, + "Dragon" : 5, + "Ice" : 10, + "Shot" : 30, + "Thunder" : 10, + "Fire" : 30, + "Water" : 0 + }, + "Belly" : { + "Impact" : 45, + "Cut" : 50, + "Dragon" : 0, + "Ice" : 15, + "Shot" : 40, + "Thunder" : 10, + "Fire" : 25, + "Water" : 0 + } + }, + "Volvidon" : { + "Torso" : { + "Impact" : 30, + "Cut" : 38, + "Dragon" : 0, + "Ice" : 5, + "Shot" : 30, + "Thunder" : 5, + "Fire" : 0, + "Water" : 10 + }, + "Stomach 75" : { + "Impact" : 10, + "Cut" : 75, + "Dragon" : 0, + "Ice" : 0, + "Shot" : 0, + "Thunder" : 0, + "Fire" : 0, + "Water" : 0 + }, + "_breaks" : "Back", + "Rolling" : { + "Impact" : 45, + "Cut" : 45, + "Dragon" : 0, + "Ice" : 15, + "Shot" : 40, + "Thunder" : 10, + "Fire" : 0, + "Water" : 20 + }, + "Rear" : { + "Impact" : 36, + "Cut" : 36, + "Dragon" : 0, + "Ice" : 10, + "Shot" : 20, + "Thunder" : 5, + "Fire" : 0, + "Water" : 10 + }, + "Head" : { + "Impact" : 50, + "Cut" : 55, + "Dragon" : 0, + "Ice" : 20, + "Shot" : 45, + "Thunder" : 15, + "Fire" : 0, + "Water" : 30 + }, + "Back" : { + "Impact" : 45, + "Cut" : 45, + "Dragon" : 0, + "Ice" : 15, + "Shot" : 50, + "Thunder" : 10, + "Fire" : 0, + "Water" : 20 + }, + "Forelegs" : { + "Impact" : 30, + "Cut" : 30, + "Dragon" : 0, + "Ice" : 10, + "Shot" : 25, + "Thunder" : 10, + "Fire" : 0, + "Water" : 15 + } + }, + "Duramboros" : { + "Torso" : { + "Impact" : 35, + "Cut" : 25, + "Dragon" : 10, + "Ice" : 15, + "Shot" : 25, + "Thunder" : 10, + "Fire" : 15, + "Water" : 5 + }, + "Tail" : { + "Impact" : 40, + "Cut" : 32, + "Dragon" : 10, + "Ice" : 5, + "Shot" : 50, + "Thunder" : 5, + "Fire" : 10, + "Water" : 5 + }, + "Tail (Tip)" : { + "Impact" : 43, + "Cut" : 24, + "Dragon" : 20, + "Ice" : 15, + "Shot" : 40, + "Thunder" : 5, + "Fire" : 20, + "Water" : 5 + }, + "Hind Legs" : { + "Impact" : 44, + "Cut" : 44, + "Dragon" : 5, + "Ice" : 10, + "Shot" : 35, + "Thunder" : 5, + "Fire" : 10, + "Water" : 0 + }, + "_breaks" : [ + "Horn", + "Hump", + "Tail" + ], + "Hump" : { + "Impact" : 60, + "Cut" : 60, + "Dragon" : 10, + "Ice" : 15, + "Shot" : 35, + "Thunder" : 0, + "Fire" : 20, + "Water" : 5 + }, + "Head" : { + "Impact" : 21, + "Cut" : 23, + "Dragon" : 0, + "Ice" : 20, + "Shot" : 20, + "Thunder" : 35, + "Fire" : 35, + "Water" : 10 + }, + "Horn" : { + "Impact" : 24, + "Cut" : 43, + "Dragon" : 5, + "Ice" : 5, + "Shot" : 35, + "Thunder" : 15, + "Fire" : 10, + "Water" : 5 + }, + "Forelegs" : { + "Impact" : 30, + "Cut" : 32, + "Dragon" : 10, + "Ice" : 10, + "Shot" : 25, + "Thunder" : 10, + "Fire" : 15, + "Water" : 0 + } + }, + "Raizekusu" : { + "Tail Tip" : { + "Impact" : 43, + "Cut" : 43, + "Dragon" : 5, + "Ice" : 25, + "Shot" : 25, + "Thunder" : 0, + "Fire" : 10, + "Water" : 15 + }, + "Tail" : { + "Impact" : 35, + "Cut" : 35, + "Dragon" : 5, + "Ice" : 20, + "Shot" : 20, + "Thunder" : 0, + "Fire" : 10, + "Water" : 10 + }, + "Feet" : { + "Impact" : 25, + "Cut" : 25, + "Dragon" : 5, + "Ice" : 15, + "Shot" : 15, + "Thunder" : 0, + "Fire" : 10, + "Water" : 10 + }, + "Crest" : { + "Impact" : 55, + "Cut" : 55, + "Dragon" : 5, + "Ice" : 10, + "Shot" : 30, + "Thunder" : 0, + "Fire" : 6, + "Water" : 6 + }, + "_breaks" : [ + "Crest", + "Back", + "Wings", + "Tail" + ], + "Wings" : { + "Impact" : 25, + "Cut" : 25, + "Dragon" : 5, + "Ice" : 15, + "Shot" : 25, + "Thunder" : 0, + "Fire" : 6, + "Water" : 10 + }, + "Head" : { + "Impact" : 24, + "Cut" : 24, + "Dragon" : 5, + "Ice" : 20, + "Shot" : 15, + "Thunder" : 0, + "Fire" : 10, + "Water" : 10 + }, + "Back" : { + "Impact" : 25, + "Cut" : 25, + "Dragon" : 5, + "Ice" : 7, + "Shot" : 20, + "Thunder" : 0, + "Fire" : 7, + "Water" : 7 + } + } +} diff --git a/mhapi/db.py b/mhapi/db.py index 93722f3..d9d4f4f 100644 --- a/mhapi/db.py +++ b/mhapi/db.py @@ -545,13 +545,21 @@ class MHDBX(object): Loads JSON data, keeps in memory. """ module_path = os.path.dirname(__file__) - mhx_db_path = os.path.abspath(os.path.join(module_path, "..", - "db", "mhx")) - + self._mhx_db_path = os.path.abspath(os.path.join(module_path, "..", + "db", "mhx")) self._4udb = MHDB() self._weapon_list = [] self._weapons_by_name = {} - with open(os.path.join(mhx_db_path, "weapon_list.json")) as f: + + self._monsters_by_name = {} + self._monster_damage = {} + self._monster_breaks = {} + + self._load_weapons() + self._load_monsters() + + def _load_weapons(self): + with open(os.path.join(self._mhx_db_path, "weapon_list.json")) as f: wlist = json.load(f) for i, wdata in enumerate(wlist): wdata["_id"] = i @@ -559,17 +567,54 @@ class MHDBX(object): self._weapon_list.append(weapon) self._weapons_by_name[weapon.name_jp] = weapon + def _load_monsters(self): + names_path = os.path.join(self._mhx_db_path, + "monster_list.json") + hitboxes_path = os.path.join(self._mhx_db_path, + "monster_hitboxes.json") + with open(names_path) as f: + names = json.load(f) + for i, d in enumerate(names): + d["_id"] = -i + d["class"] = "Large" + self._monsters_by_name[d["name"]] = model.Monster(d) + with open(hitboxes_path) as f: + damage_map = json.load(f) + for name, damage in damage_map.iteritems(): + mid = self._monsters_by_name[name].id + damage_rows = [] + for part, data in damage.iteritems(): + if part.startswith("_"): + continue + row = dict((k.lower(), v) for k, v in data.iteritems()) + row["body_part"] = part + row["ko"] = 100 if part == "Head" else 0 + row["_id"] = 0 + row["monster_id"] = mid + damage_rows.append(row) + self._monster_damage[mid] = model.MonsterDamage(damage_rows) + self._monster_breaks[mid] = damage["_breaks"] + def get_weapon_by_name(self, name): return self._weapons_by_name.get(name) - def get_monster_by_name(self, *args, **kwargs): - return self._4udb.get_monster_by_name(*args, **kwargs) + def get_monster_by_name(self, name): + m = self._monsters_by_name.get(name) + if m and m.id in self._monster_damage: + return m + return self._4udb.get_monster_by_name(name) - def get_monster_damage(self, *args, **kwargs): - return self._4udb.get_monster_damage(*args, **kwargs) + def get_monster_damage(self, monster_id): + d = self._monster_damage.get(monster_id) + if d: + return d + return self._4udb.get_monster_damage(monster_id) - def get_monster_breaks(self, *args, **kwargs): - return self._4udb.get_monster_breaks(*args, **kwargs) + def get_monster_breaks(self, monster_id): + b = self._monster_breaks.get(monster_id) + if b: + return b + return self._4udb.get_monster_breaks(monster_id) def get_weapons_by_query(self, wtype=None, element=None, final=None): diff --git a/web/mhx/weaponlist.html b/web/mhx/weaponlist.html index 0971b3a..85792a9 100644 --- a/web/mhx/weaponlist.html +++ b/web/mhx/weaponlist.html @@ -206,7 +206,8 @@ if (weapon_element != "All" && weapon_element != weapon_data["element"] && weapon_element != weapon_data["element_2"] - && weapon_element != weapon_data["awaken"]) { + && weapon_element != weapon_data["awaken"] + && weapon_element != weapon_data["phial"]) { if (weapon_element != "None" || weapon_data["element"] != null || weapon_data["awaken"] != null) {