98 lines
4.7 KiB
JavaScript
98 lines
4.7 KiB
JavaScript
"use strict";
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __export = (target, all) => {
|
|
for (var name in all)
|
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
};
|
|
var __copyProps = (to, from, except, desc) => {
|
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
for (let key of __getOwnPropNames(from))
|
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
}
|
|
return to;
|
|
};
|
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
var scripts_exports = {};
|
|
__export(scripts_exports, {
|
|
Scripts: () => Scripts
|
|
});
|
|
module.exports = __toCommonJS(scripts_exports);
|
|
const Scripts = {
|
|
gen: 9,
|
|
inherit: "gen9",
|
|
init() {
|
|
for (const id in this.data.Pokedex) {
|
|
const types = Array.from(new Set(this.data.Pokedex[id].types.map((type) => type.replace(/(Ghost|Fairy)/g, "Psychic").replace(/Bug/g, "Grass").replace(/Ice/g, "Water").replace(/(Rock|Ground)/g, "Fighting").replace(/Flying/g, "Normal").replace(/Poison/g, "Dark"))));
|
|
this.modData("Pokedex", id).types = types;
|
|
}
|
|
for (const id in this.data.Moves) {
|
|
const move = this.data.Moves[id];
|
|
const type = move.type.replace(/(Ghost|Fairy)/g, "Psychic").replace(/Bug/g, "Grass").replace(/Ice/g, "Water").replace(/(Rock|Ground)/g, "Fighting").replace(/Flying/g, "Normal").replace(/Poison/g, "Dark");
|
|
this.modData("Moves", id).type = type;
|
|
}
|
|
for (const id in this.data.Items) {
|
|
const item = this.data.Items[id];
|
|
if (item.onPlate) {
|
|
const type = item.onPlate.replace(/(Ghost|Fairy)/g, "Psychic").replace(/Bug/g, "Grass").replace(/Ice/g, "Water").replace(/(Rock|Ground)/g, "Fighting").replace(/Flying/g, "Normal").replace(/Poison/g, "Dark");
|
|
this.modData("Items", id).onPlate = type;
|
|
}
|
|
if (item.onDrive) {
|
|
const type = item.onDrive.replace(/(Ghost|Fairy)/g, "Psychic").replace(/Bug/g, "Grass").replace(/Ice/g, "Water").replace(/(Rock|Ground)/g, "Fighting").replace(/Flying/g, "Normal").replace(/Poison/g, "Dark");
|
|
this.modData("Items", id).onDrive = type;
|
|
}
|
|
if (item.onMemory) {
|
|
const type = item.onMemory.replace(/(Ghost|Fairy)/g, "Psychic").replace(/Bug/g, "Grass").replace(/Ice/g, "Water").replace(/(Rock|Ground)/g, "Fighting").replace(/Flying/g, "Normal").replace(/Poison/g, "Dark");
|
|
this.modData("Items", id).onMemory = type;
|
|
}
|
|
if (item.zMoveType) {
|
|
const type = item.zMoveType.replace(/(Ghost|Fairy)/g, "Psychic").replace(/Bug/g, "Grass").replace(/Ice/g, "Water").replace(/(Rock|Ground)/g, "Fighting").replace(/Flying/g, "Normal").replace(/Poison/g, "Dark");
|
|
this.modData("Items", id).zMoveType = type;
|
|
}
|
|
if (item.naturalGift) {
|
|
const type = item.naturalGift.type.replace(/(Ghost|Fairy)/g, "Psychic").replace(/Bug/g, "Grass").replace(/Ice/g, "Water").replace(/(Rock|Ground)/g, "Fighting").replace(/Flying/g, "Normal").replace(/Poison/g, "Dark");
|
|
this.modData("Items", id).naturalGift.type = type;
|
|
}
|
|
}
|
|
},
|
|
pokemon: {
|
|
hasType(type) {
|
|
const thisTypes = this.getTypes();
|
|
if (typeof type === "string") {
|
|
return thisTypes.includes(type.replace(/(Ghost|Fairy)/g, "Psychic").replace(/Bug/g, "Grass").replace(/Ice/g, "Water").replace(/(Rock|Ground)/g, "Fighting").replace(/Flying/g, "Normal").replace(/Poison/g, "Dark"));
|
|
}
|
|
for (const typeName of type) {
|
|
if (thisTypes.includes(typeName.replace(/(Ghost|Fairy)/g, "Psychic").replace(/Bug/g, "Grass").replace(/Ice/g, "Water").replace(/(Rock|Ground)/g, "Fighting").replace(/Flying/g, "Normal").replace(/Poison/g, "Dark"))) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
},
|
|
runImmunity(type, message) {
|
|
if (!type || type === "???")
|
|
return true;
|
|
if (!this.battle.dex.types.isName(type)) {
|
|
throw new Error("Use runStatusImmunity for " + type);
|
|
}
|
|
if (this.fainted)
|
|
return false;
|
|
const negateImmunity = !this.battle.runEvent("NegateImmunity", this, type);
|
|
const notImmune = type === "Fighting" ? this.isGrounded(negateImmunity) : negateImmunity || this.battle.dex.getImmunity(type, this);
|
|
if (notImmune)
|
|
return true;
|
|
if (!message)
|
|
return false;
|
|
if (notImmune === null) {
|
|
this.battle.add("-immune", this, "[from] ability: Levitate");
|
|
} else {
|
|
this.battle.add("-immune", this);
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
};
|
|
//# sourceMappingURL=scripts.js.map
|