pogo-data-generator
Version:
Pokemon GO project data generator
56 lines (55 loc) • 1.92 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const pogo_protos_1 = require("@na-ji/pogo-protos");
const Masterfile_1 = __importDefault(require("./Masterfile"));
class Quests extends Masterfile_1.default {
parsedQuestTypes;
parsedRewardTypes;
parsedConditions;
constructor() {
super();
this.parsedQuestTypes = {};
this.parsedRewardTypes = {};
this.parsedConditions = {};
}
addQuest(category) {
let parseTarget;
let protoTarget;
switch (category) {
case 'types':
parseTarget = this.parsedQuestTypes;
protoTarget = pogo_protos_1.Rpc.QuestType;
break;
case 'rewards':
parseTarget = this.parsedRewardTypes;
protoTarget = pogo_protos_1.Rpc.QuestRewardProto.Type;
break;
case 'conditions':
parseTarget = this.parsedConditions;
protoTarget = pogo_protos_1.Rpc.QuestConditionProto.ConditionType;
break;
default:
console.warn(`Unknown quest category: ${category}`);
return;
}
Object.entries(protoTarget).forEach((proto) => {
try {
const [name, id] = proto;
parseTarget[id] = {
questId: id,
proto: name,
formatted: category === 'types'
? this.capitalize(name.replace('QUEST_', ''))
: this.capitalize(name),
};
}
catch (e) {
console.warn(e, `Failed to parse quest ${proto}`);
}
});
}
}
exports.default = Quests;