Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Revert "M4A Sandbox Improvements + New Functionality"" #817

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions config/formats.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2809,17 +2809,6 @@ export const Formats: FormatList = [
this.add('-start', pokemon, 'typechange', pokemon.species.types.join('/'), '[silent]');
},
},
/*
{
name: "[Gen 8] Ink's Winter Wonderland",
desc: `Play around both your opponent and the treacherous weather conditions in this randomized micrometa!`,
mod: 'inksrandbats',
team: 'random',
ruleset: ['Dynamax Clause', 'Obtainable', 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod', 'Freeze Clause Mod', 'Permasnow'],
searchShow: false,
challengeShow: false,
},
*/
// Non-Smogon Mods
{
section: "Non-Smogon Mods",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,6 @@ export const FormatsData: {[k: string]: ModdedFormatsData} = {
spectriersoul: {
tier: "NEW",
},
falinks: {
tier: "NEW",
},
decidueyemega: {
tier: "NEW",
},
Expand All @@ -47,4 +44,22 @@ export const FormatsData: {[k: string]: ModdedFormatsData} = {
bunslinger: {
tier: "NEW",
},
stalagmight: {
tier: "NEW",
},
stalactice: {
tier: "NEW",
},
magmalodon: {
tier: "NEW",
},
blizzeraph: {
tier: "NEW",
},
primchilla: {
tier: "NEW",
},
chemacaw: {
tier: "NEW",
},
};
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,10 @@ export const Items: {[k: string]: ModdedItemData} = {
//-------------------------------------------
//ITEMS EDITED FOR COMPATIBILITY
//-------------------------------------------
heavydutyboots: {
inherit: true,
desc: "When switching in, the holder is unaffected by grounded hazards on its side of the field.",
// Hazard Immunity implemented in moves.js
},

//-------------------------------------------
//NEW ITEMS
//-------------------------------------------
hardhat: {
name: "Hard Hat",
spritenum: 417,
fling: {
basePower: 80,
},
num: 1120,
gen: 8,
desc: "When switching in, the holder is unaffected by airborne hazards on its side of the field.",
// Hazard Immunity implemented in moves.js
},

//-------------------------------------------
//SIGNATURE/MEGA STONE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,6 @@ export const Moves: {[k: string]: ModdedMoveData} = {
//MOVES EDITED FOR COMPATIBILITY
//Hazard/screen removal, etc
//------------------------------------------
//For item compatibility:
stealthrock: {
num: 446,
accuracy: true,
basePower: 0,
category: "Status",
desc: "Sets up a hazard on the opposing side of the field, damaging each opposing Pokemon that switches in. Fails if the effect is already active on the opposing side. Foes lose 1/32, 1/16, 1/8, 1/4, or 1/2 of their maximum HP, rounded down, based on their weakness to the Rock type; 0.25x, 0.5x, neutral, 2x, or 4x, respectively. Can be removed from the opposing side if any opposing Pokemon uses Rapid Spin or Defog successfully, or is hit by Defog.",
shortDesc: "Hurts foes on switch-in. Factors Rock weakness.",
name: "Stealth Rock",
pp: 20,
priority: 0,
flags: {reflectable: 1},
sideCondition: 'stealthrock',
condition: {
// this is a side condition
onStart(side) {
this.add('-sidestart', side, 'move: Stealth Rock');
},
onSwitchIn(pokemon) {
if (pokemon.hasItem('hardhat')) return;
const typeMod = this.clampIntRange(pokemon.runEffectiveness(this.dex.getActiveMove('stealthrock')), -6, 6);
this.damage(pokemon.maxhp * Math.pow(2, typeMod) / 8);
},
},
secondary: null,
target: "foeSide",
type: "Rock",
zMove: {boost: {def: 1}},
contestType: "Cool",
},
//For new hazard/screen compatibility:
gmaxwindrage: {
num: 1000,
Expand Down Expand Up @@ -284,31 +254,6 @@ export const Moves: {[k: string]: ModdedMoveData} = {
//------------------------------------------
//EDITED MOVES
//------------------------------------------
gmaxfinale: {
num: 1000,
accuracy: true,
basePower: 10,
category: "Physical",
desc: "Power is equal to the base move's Max Move power. If this move is successful, each Pokemon on the user's side restores 1/6 of its current maximum HP, even if they have a substitute.",
shortDesc: "Base move affects power. Allies: +1/6 max HP.",
name: "G-Max Finale",
pp: 5,
priority: 0,
flags: {heal: 1},
isMax: "Alcremie",
self: {
onHit(target, source, move) {
for (const pokemon of source.side.active) {
this.heal(pokemon.maxhp / 6, pokemon, source, move);
}
},
},
secondary: null,
target: "adjacentFoe",
type: "Fairy",
contestType: "Cool",
},

gmaxsmite: {
num: 1000,
accuracy: true,
Expand Down Expand Up @@ -349,41 +294,6 @@ export const Moves: {[k: string]: ModdedMoveData} = {
type: "Fairy",
contestType: "Cool",
},
gmaxhydrosnipe: {
num: 1000,
accuracy: true,
basePower: 10,
category: "Physical",
desc: "Power is equal to the base move's Max Move power. This move ignores the abilities of opposing Pokemon.",
shortDesc: "Base move affects power. Ignores abilities.",
name: "G-Max Hydrosnipe",
pp: 5,
priority: 0,
flags: {},
onModifyMove(move, pokemon, target) {
const atk = pokemon.getStat('atk', false, true);
const spa = pokemon.getStat('spa', false, true);
const def = target.getStat('def', false, true);
const spd = target.getStat('spd', false, true);
const physical = Math.floor(Math.floor(Math.floor(Math.floor(2 * pokemon.level / 5 + 2) * 90 * atk) / def) / 50);
const special = Math.floor(Math.floor(Math.floor(Math.floor(2 * pokemon.level / 5 + 2) * 90 * spa) / spd) / 50);
if (physical > special || (physical === special && this.random(2) === 0)) {
move.category = 'Physical';
move.flags.contact = 1;
}
},
onHit(target, source, move) {
this.hint(move.category + " Hydrosnipe");
},
onAfterSubDamage(damage, target, source, move) {
this.hint(move.category + " Hydrosnipe");
},
isMax: "Inteleon",
secondary: null,
target: "adjacentFoe",
type: "Water",
contestType: "Cool",
},

snipeshot: {
num: 745,
Expand Down Expand Up @@ -511,47 +421,6 @@ export const Moves: {[k: string]: ModdedMoveData} = {
//------------------------------------------
//NEW MOVES
//------------------------------------------
gmaxbaddybad: {
num: 1000,
accuracy: true,
basePower: 10,
category: "Physical",
desc: "This move summons Reflect for 5 turns upon use.",
shortDesc: "Summons Reflect.",
name: "G-Max Baddy Bad",
pp: 5,
priority: 0,
flags: {},
isMax: "Eevee",
self: {
sideCondition: 'reflect',
},
secondary: null,
target: "adjacentFoe",
type: "Dark",
contestType: "Cool",
},

gmaxglitzyglow: {
num: 1000,
accuracy: true,
basePower: 10,
category: "Physical",
desc: "This move summons Light Screen for 5 turns upon use.",
shortDesc: "Summons Light Screen.",
name: "G-Max Glitzy Glow",
pp: 5,
priority: 0,
flags: {},
isMax: "Eevee",
self: {
sideCondition: 'lightscreen',
},
secondary: null,
target: "adjacentFoe",
type: "Psychic",
contestType: "Cool",
},

snowfill: {
num: 0.1,
Expand Down
Loading