Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var dataPath = "../../bravefrontier_data/";
- // Data Dictionaries
- var unitData = require(dataPath+'info.json');
- var itemData = require(dataPath+'items.json');
- var evoData = require(dataPath+'evo_list.json');
- var unitDataJP = require(dataPath+'jp/info.json');
- var itemDataJP = require(dataPath+'jp/items.json');
- var evoDataJP = require(dataPath+'jp/evo_list.json');
- var romaji = require('./romaji_converter.js');
- // data.Missions = require();
- // Specific unit access, no searching (well advanced searching)
- var getUnit = function (rqid) {
- rqid = rqid || "";
- if (unitData[rqid]) return unitData[rqid];
- for (var id in unitData) {
- if (rqid.toLowerCase() === unitData[id].name.toLowerCase()) return unitData[id];
- }
- return null;
- };
- var getUnitJP = function (rqid) {
- rqid = rqid || "";
- if (unitDataJP[rqid]) return unitDataJP[rqid];
- return null;
- };
- // Data Search Functions
- var findUnit = function (name, returnAll) {
- var name = name || "";
- if (!name) return null;
- var isID = !!(name.match(/^\d{5}\d?$/));
- if (isID) {
- var unit = unitData[name];
- if (unit) return unit;
- return null;
- }
- var possibleMatches = [];
- for (var id in unitData) {
- var unit = unitData[id];
- if (name.toLowerCase() === unit.name.toLowerCase()) return unit;
- if (unit.name.toLowerCase().split(' ').indexOf(name.toLowerCase()) >= 0) possibleMatches.push(unit);
- }
- possibleMatches.sort(function(a,b){return b.rarity - a.rarity})
- if (returnAll) return possibleMatches;
- return possibleMatches[0];
- };
- var findUnitJP = function (name, returnAll) {
- var name = (name || "").toLowerCase();
- if (!name) return null;
- var UNIT_EXCEPTIONS = {
- "duel-gx": 60253,
- "duel-gx 2": 60254,
- "duel-gx ii": 60254,
- "duel-sgx": 60255,
- "maxwell": 50525
- };
- if (name in UNIT_EXCEPTIONS) return unitDataJP[UNIT_EXCEPTIONS[name]];
- var possibleMatchesGL = [];
- var globalUnit;
- if (!!name.match(/[a-z]/)) {
- // See if the name is a unit in global
- var globalUnit = getUnit(name) || findUnit(name);
- // var possibleMatchesGL = findUnit(name, true);
- name = romaji.toKana(name).katakana;
- }
- var isID = !!(name.match(/^\d{5}\d?$/));
- if (isID) {
- var unit = unitDataJP[name];
- if (unit) return unit;
- return null;
- }
- var isGuideID = !!(name.match(/^#\d{3}\d?$/));
- if (isGuideID) {
- for (var id in unitDataJP) {
- if (unitDataJP[id]['guide_id'] === name.substr(1).valueOf()) return unitDataJP[id];
- }
- return null;
- }
- var possibleMatches = [];
- // return name;
- for (var id in unitDataJP) {
- var unit = unitDataJP[id];
- if (name === unit.name.substr(-name.length)) {
- possibleMatches.push(unit);
- } else if (unit.name.toLowerCase().split(' ').indexOf(name.toLowerCase()) >= 0) {
- possibleMatches.push(unit);
- }
- }
- possibleMatches.sort(function(a,b){return b.rarity - a.rarity})
- if (!possibleMatches.length) {
- if (globalUnit && unitDataJP[globalUnit.id]) {
- return unitDataJP[globalUnit.id];
- }
- return false;
- }
- if (returnAll) return possibleMatches;
- return possibleMatches[0];
- };
- var searchUnit = function(){};
- var searchUnitJP = function(){};
- module.exports = {
- Units: unitData,
- Items: itemData,
- Evolutions: evoData,
- Evos: evoData,
- getUnit: getUnit,
- findUnit: findUnit,
- searchUnit: searchUnit,
- getUnitJP: getUnitJP,
- findUnitJP: findUnitJP,
- searchUnitJP: searchUnitJP,
- JP: {
- Units: unitDataJP,
- Items: itemDataJP,
- Evolutions: evoDataJP,
- Evos: evoDataJP,
- getUnit: getUnitJP,
- findUnit: findUnitJP,
- searchUnit: searchUnitJP,
- },
- updateData: function(){},
- romaji: romaji
- };
Advertisement
Add Comment
Please, Sign In to add comment