Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {Learnsets} from '../../learnsets';
- function mergeSets(set1: ModdedLearnsetData, set2: LearnsetData): ModdedLearnsetData {
- const keys1 = Object.keys(set1);
- const keys2 = Object.keys(set2);
- let merged: AnyObject = {};
- const uniqueKeys1 = keys1.filter(k => !keys2.includes(k));
- const uniqueKeys2 = keys2.filter(k => !keys1.includes(k));
- const allUniqueKeys = [...uniqueKeys1, ...uniqueKeys2];
- const commonKeys = [...keys1, ...keys2].filter(k => !allUniqueKeys.includes(k));
- // deal with unique keys first
- for (const key of uniqueKeys1) {
- merged[key] = set1[key];
- }
- for (const key of uniqueKeys2) {
- merged[key] = set2[key];
- }
- // merge the data of each common key
- // set 1 takes precedence
- for (const key of commonKeys) {
- merged[key] = set2[key];
- for (const subkey in set1[key]) {
- if (set1[key][subkey] === 'false') {
- // notation for removing the data from the learnset
- delete merged[key][subkey];
- } else {
- merged[key][subkey] = set1[key][subkey];
- }
- }
- }
- return merged;
- }
- const ModdedLearnsets: {[k: string]: ModdedLearnsetData} = {
- octillery: {
- learnset: {
- octoshot: ['8T'],
- }
- },
- silvally: {
- learnset: {
- recover: ['8T'],
- },
- },
- beartic: {
- learnset: {
- suckerpunch: ["8T"],
- iceshard: ["8T"],
- feint: ["8T"],
- crunch: ["8T"],
- flipturn: ["8T"],
- camoflauge: ["8T"],
- shadowsneak: ["8T"],
- feintattack: ['8T'],
- },
- encounters: [
- {generation: 6, level: 30},
- ],
- },
- beheeyem: {
- learnset: {
- powergem: ['8T'],
- dazzlinggleam: ['8T'],
- },
- },
- delibird: {
- learnset: {
- seasonalsmash: ["8T"],
- },
- },
- solrock: {
- learnset: {
- solarblade: ["8T"],
- dazzlinggleam: ["8T"],
- flamewheel: ["8T"],
- rapidspin: ["8T"],
- scorchingsands: ["8T"],
- },
- },
- };
- let MergedLearnsets: {[k: string]: ModdedLearnsetData} = {};
- for (const key in ModdedLearnsets) {
- const mod = ModdedLearnsets[key];
- const base = Learnsets[key];
- MergedLearnsets[key] = mergeSets(mod, (base || {}) as LearnsetData);
- }
- exports.Learnsets = MergedLearnsets;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement