Skip to content
Merged
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
2 changes: 1 addition & 1 deletion config/formats.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5422,7 +5422,7 @@ export const Formats: FormatList = [
ruleset: ['Standard NatDex', 'Data Mod', 'Mega Data Mod', 'Status Mod', 'OHKO Clause',
'Evasion Clause', 'Species Clause', 'Terastal Clause'],
banlist: ['Normalium Z', 'Fairium Z', 'Fightinium Z', 'Firium Z', 'Flyinium Z', 'Darkinium Z', 'Dragonium Z', 'Buginium Z', 'Waterium Z', 'Electrium Z', 'Ghostium Z', 'Grassium Z',
'Groundium Z', 'Icium Z', 'Poisonium Z', 'Psychium Z', 'Rockium Z', 'Steelium Z', 'Shed Tail', 'Baton Pass', 'Shagaru Magala + Strength Sap', 'King\'s Rock', 'Razor Fang'],
'Groundium Z', 'Icium Z', 'Poisonium Z', 'Psychium Z', 'Rockium Z', 'Steelium Z', 'Shed Tail', 'Baton Pass', 'Shagaru Magala + Strength Sap', 'Light Clay', 'King\'s Rock', 'Razor Fang'],
onBegin() {
this.add(`raw|<div class='broadcast-green'><b>Welcome to Monster Hunter Showdown! Coded by KnivesMK<br />Want to learn more and discuss the format?<br />Then check out the <a href="https://discord.gg/JjjRGVrEvc" target="_blank">MHS Discord!</a><br />Need help with all of the new moves, abilities, and gameplay changes?<br />Then make sure to check out the <a href="https://tinyurl.com/MonHunShow" target="_blank">MHS Wikia</a> or use /dt!<br /></b></div>`);
},
Expand Down
47 changes: 29 additions & 18 deletions data/mods/monsterhunter/abilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,22 +83,30 @@ export const Abilities: import('../sim/dex-abilities').AbilityDataTable = {
shortDesc: "Slicing moves: +1 priority at full HP, always crit at 1/3 HP or less.",
},
bewitchingtail: {
onModifyStats(stats, pokemon, target, move) {
if (target && target.status === 'slp') {
stats.atk = this.chainModify([stats.atk, 0x1333]);
stats.spa = this.chainModify([stats.spa, 0x1333]);
stats.spe = this.chainModify([stats.spe, 0x1333]);
}
},
onSourceModifyDamage(damage, source, target, move) {
if (source.status === 'slp') {
return this.chainModify(0.833);
}
},
flags: {},
name: "Bewitching Tail",
shortDesc: "Targeting drowsy foes: Atk/SpA/Spe 1.2x | From drowsy foes: Damage 0.83x",
},
onModifyAtk(atk, pokemon, target, move) {
if (target && target.status === 'slp') {
return this.chainModify(0x1333); // 1.2x
}
},
onModifySpA(spa, pokemon, target, move) {
if (target && target.status === 'slp') {
return this.chainModify(0x1333); // 1.2x
}
},
onModifySpe(spe, pokemon, target, move) {
if (target && target.status === 'slp') {
return this.chainModify(0x1800); // 1.5x
}
},
onSourceModifyDamage(damage, source, target, move) {
if (source.status === 'slp') {
return this.chainModify(0.8);
}
},
flags: {},
name: "Bewitching Tail",
shortDesc: "Targeting drowsy foes: Offenses 1.2x, Spe 1.5x | From drowsy foes: 0.8x Damage.",
},
biosynthesis: {
onSwitchIn(pokemon) {
const terrain = this.field.terrain;
Expand Down Expand Up @@ -1603,8 +1611,11 @@ export const Abilities: import('../sim/dex-abilities').AbilityDataTable = {
rivalry: {
onBasePowerPriority: 24,
onBasePower(basePower, pokemon, target) {
if (target.hasType(pokemon.getTypes())) {
return this.chainModify(1.33);
const userTypes = pokemon.getTypes();
for (const type of userTypes) {
if (target.hasType(type)) {
return this.chainModify(1.33);
}
}
},
name: "Rivalry",
Expand Down
9 changes: 8 additions & 1 deletion data/mods/monsterhunter/conditions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,14 @@ export const Conditions: { [k: string]: ConditionData; } = {
if (!this.field.pseudoWeather['ruststorm']) return;
if (!target || !target.hasType('Steel')) return;
if (target.hasAbility('Rusted Gale')) return typeMod;
if (typeMod < 0) return 0;
// Only remove Steel's resistances IF Steel is the one providing them
if (typeMod < 0) {
const steelMod = this.dex.getEffectiveness(type, 'Steel');
if (steelMod < 0) {
return 0;
}
}
// Otherwise, do not modify the effectiveness
return typeMod;
},
onModifyDefPriority: 10,
Expand Down
1 change: 0 additions & 1 deletion data/mods/monsterhunter/learnsets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6832,7 +6832,6 @@ export const Learnsets: {[k: string]: LearnsetData} = {
mistball: ["9L1"],
protect: ["9L1"],
rest: ["9L1"],
secretsword: ["9L1"],
shadowball: ["9L1"],
snarl: ["9L1"],
substitute: ["9L1"],
Expand Down
2 changes: 1 addition & 1 deletion data/mods/monsterhunter/moves.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1968,7 +1968,7 @@ export const Moves: {[moveid: string]: MoveData} = {
},
astralbarrage: {
inherit: true,
basePower: 110,
basePower: 100,
},
glaciallance: {
inherit: true,
Expand Down
2 changes: 1 addition & 1 deletion data/mods/monsterhunter/pokedex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1827,7 +1827,7 @@ export const Pokedex: {[k: string]: ModdednameData} = {
baseSpecies: "Magnamalo",
forme: "Mega",
types: ["Ghost", "Dark"],
baseStats: {hp: 105, atk: 145, def: 90, spa: 100, spd: 110, spe: 100},
baseStats: {hp: 105, atk: 140, def: 100, spa: 105, spd: 110, spe: 90},
abilities: {0: "Sinister Grudge"},
weightkg: 212.2,
tags: ["Fanged Wyvern"],
Expand Down
29 changes: 26 additions & 3 deletions data/mods/monsterhuntersl/abilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -811,14 +811,14 @@ export const Abilities: import('../sim/dex-abilities').AbilityDataTable = {
onModifyAtk(atk, attacker, defender, move) {
if (move.type === 'Fire') {
this.debug('Incandescent Boost');
return this.chainModify(1.5);
return this.chainModify(1.3);
}
},
onModifySpAPriority: 5,
onModifySpA(atk, attacker, defender, move) {
if (move.type === 'Fire') {
this.debug('Incandescent Boost');
return this.chainModify(1.5);
return this.chainModify(1.3);
}
},
onTryHit(target, source, move) {
Expand All @@ -829,7 +829,30 @@ export const Abilities: import('../sim/dex-abilities').AbilityDataTable = {
},
flags: {breakable: 1},
name: "Incandescent",
shortDesc: "User gains Fire-type STAB and Fire-Type Immunity.",
shortDesc: "This Pokemon is immune to Fire Moves; 1.3x offenses when using Fire-type attacks.",
},
sinistergrudge: {
onStart(pokemon) {
if (pokemon.side.totalFainted) {
this.add('-activate', pokemon, 'ability: Sinister Grudge');
const fallen = Math.min(pokemon.side.totalFainted, 5);
this.add('-start', pokemon, `fallen${fallen}`, '[silent]');
this.effectState.fallen = fallen;
}
},
onEnd(pokemon) {
this.add('-end', pokemon, `fallen${this.effectState.fallen}`, '[silent]');
},
onBasePowerPriority: 21,
onBasePower(basePower, attacker, defender, move) {
if (this.effectState.fallen) {
const powMod = [4096, 4300, 4505, 4710, 4915, 5120];
this.debug(`Sinister Grudge boost: ${powMod[this.effectState.fallen]}/4096`);
return this.chainModify([powMod[this.effectState.fallen], 4096]);
}
},
name: "Sinister Grudge",
shortDesc: "This Pokemon's moves have 5% more power for each fainted ally, up to 5 allies.",
},
insectarmor: {
onModifyAtkPriority: 5,
Expand Down
9 changes: 8 additions & 1 deletion data/mods/monsterhuntersl/conditions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,14 @@ export const Conditions: { [k: string]: ConditionData; } = {
if (!this.field.pseudoWeather['ruststorm']) return;
if (!target || !target.hasType('Steel')) return;
if (target.hasAbility('Rusted Gale')) return typeMod;
if (typeMod < 0) return 0;
// Only remove Steel's resistances IF Steel is the one providing them
if (typeMod < 0) {
const steelMod = this.dex.getEffectiveness(type, 'Steel');
if (steelMod < 0) {
return 0;
}
}
// Otherwise, do not modify the effectiveness
return typeMod;
},
onModifyDefPriority: 10,
Expand Down
20 changes: 4 additions & 16 deletions data/mods/monsterhuntersl/learnsets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2060,12 +2060,10 @@ export const Learnsets: {[k: string]: LearnsetData} = {
attract: ["9M"],
beatup: ["9M"],
bulletpunch: ["9M"],
ceaselessedge: ["9M"],
confide: ["9M"],
cut: ["9M"],
dig: ["9M"],
endure: ["9M"],
extremespeed: ["9M"],
facade: ["9M"],
falseswipe: ["9M"],
flashcannon: ["9M"],
Expand All @@ -2078,9 +2076,7 @@ export const Learnsets: {[k: string]: LearnsetData} = {
hyperbeam: ["9M"],
icespinner: ["9M"],
ironhead: ["9M", "9L57"],
knockoff: ["9T"],
kowtowcleave: ["9M"],
lashout: ["9M"],
leer: ["9L1"],
lowkick: ["9M"],
lowsweep: ["9M"],
Expand Down Expand Up @@ -3580,17 +3576,17 @@ export const Learnsets: {[k: string]: LearnsetData} = {
solarbeam: ["9M", "9L48"],
spicyextract: ["9L0"],
stompingtantrum: ["9M"],
acid: ["9M"],
gastroacid: ["9M"],
substitute: ["9M"],
sunnyday: ["9M", "9L17"],
takedown: ["9M"],
temperflare: ["9M"],
terablast: ["9M"],
thief: ["9M"],
toxicspikes: ["9M"],
willowisp: ["9M"],
worryseed: ["9L33"],
workup: ["9L1"],
toxic: ["9M"],
},
},
malzeno: {
Expand Down Expand Up @@ -6057,7 +6053,6 @@ export const Learnsets: {[k: string]: LearnsetData} = {
armthrust: ["9L1"],
attract: ["9L1"],
bittermalice: ["9L1"],
frenzyslam: ["9L1"],
brutalswing: ["9L1"],
clearsmog: ["9L1"],
corrosivegas: ["9L1"],
Expand Down Expand Up @@ -6420,7 +6415,6 @@ export const Learnsets: {[k: string]: LearnsetData} = {
steelwing: ["9L1"],
anchorshot: ["9L1"],
attract: ["9L1"],
swordsdance: ["9L1"],
scaleshot: ["9L1"],
irondefense: ["9L1"],
dragondance: ["9L1"],
Expand Down Expand Up @@ -7887,7 +7881,6 @@ export const Learnsets: {[k: string]: LearnsetData} = {
acrobatics: ["9L1"],
supremacysquall: ["9L1"],
arcticshriek: ["9L1"],
nastyplot: ["9L1"],
swordsdance: ["9L1"],
airslash: ["9L1"],
healpulse: ["9L1"],
Expand Down Expand Up @@ -9842,10 +9835,8 @@ export const Learnsets: {[k: string]: LearnsetData} = {
scorchingsands: ["9L1"],
trickroom: ["9L1"],
tarshot: ["9L1"],
nastyplot: ["9L1"],
sludgewave: ["9L1"],
mudbomb: ["9L1"],
partingshot: ["9L1"],
taunt: ["9L1"],
acidspray: ["9L1"],
beatup: ["9L1"],
Expand Down Expand Up @@ -9894,7 +9885,6 @@ export const Learnsets: {[k: string]: LearnsetData} = {
substitute: ["9L1"],
swallow: ["9L1"],
terablast: ["9L1"],
toxic: ["9L1"],
thief: ["9L1"],
tickle: ["9L1"],
trick: ["9L1"],
Expand Down Expand Up @@ -10949,7 +10939,7 @@ export const Learnsets: {[k: string]: LearnsetData} = {
growth: ["9L1"],
meteormash: ["9L1"],
aromatherapy: ["9L1"],
dragondance: ["9L1"],
wakeupslap: ["9L1"],
bulkup: ["9L1"],
bodypress: ["9L1"],
brickbreak: ["9L1"],
Expand Down Expand Up @@ -12885,7 +12875,7 @@ export const Learnsets: {[k: string]: LearnsetData} = {
rototiller: ["9L1"],
sandtomb: ["9L1"],
sandstorm: ["9L1"],
shoreup: ["9L1"],
slackoff: ["9L1"],
snore: ["9L1"],
spikecannon: ["9L1"],
stealthrock: ["9L1"],
Expand Down Expand Up @@ -13618,7 +13608,6 @@ export const Learnsets: {[k: string]: LearnsetData} = {
facade: ["9L1"],
growl: ["9L1"],
headbutt: ["9L1"],
headcharge: ["9L1"],
headlongrush: ["9L1"],
headsmash: ["9L1"],
highhorsepower: ["9L1"],
Expand All @@ -13638,7 +13627,6 @@ export const Learnsets: {[k: string]: LearnsetData} = {
substitute: ["9L1"],
tackle: ["9L1"],
terablast: ["9L1"],
uturn: ["9L1"],
workup: ["9L1"],
zenheadbutt: ["9L1"],
},
Expand Down
Loading