{ "version": 3, "sources": ["../../../../data/mods/passiveaggressive/abilities.ts"], "sourcesContent": ["export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTable = {\n\taftermath: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (!target.hp && this.checkMoveMakesContact(move, source, target, true)) {\n\t\t\t\tconst calc = calculate(this, target, source);\n\t\t\t\tthis.damage(calc * source.baseMaxhp / 4, source, target);\n\t\t\t}\n\t\t},\n\t},\n\tbaddreams: {\n\t\tinherit: true,\n\t\tonResidual(pokemon) {\n\t\t\tif (!pokemon.hp) return;\n\t\t\tfor (const target of pokemon.foes()) {\n\t\t\t\tif (target.status === 'slp' || target.hasAbility('comatose')) {\n\t\t\t\t\tconst calc = calculate(this, pokemon, target);\n\t\t\t\t\tthis.damage(calc * target.baseMaxhp / 8, target, pokemon);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tgulpmissile: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (!source.hp || !source.isActive || target.isSemiInvulnerable()) return;\n\t\t\tif (['cramorantgulping', 'cramorantgorging'].includes(target.species.id)) {\n\t\t\t\tconst calc = calculate(this, target, source);\n\t\t\t\tif (calc) this.damage(calc * source.baseMaxhp / 4, source, target);\n\t\t\t\tif (target.species.id === 'cramorantgulping') {\n\t\t\t\t\tthis.boost({ def: -1 }, source, target, null, true);\n\t\t\t\t} else {\n\t\t\t\t\tsource.trySetStatus('par', target, move);\n\t\t\t\t}\n\t\t\t\ttarget.formeChange('cramorant', move);\n\t\t\t}\n\t\t},\n\t},\n\tironbarbs: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (this.checkMoveMakesContact(move, source, target, true)) {\n\t\t\t\tconst calc = calculate(this, target, source);\n\t\t\t\tthis.damage(calc * source.baseMaxhp / 8, source, target);\n\t\t\t}\n\t\t},\n\t},\n\troughskin: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (this.checkMoveMakesContact(move, source, target, true)) {\n\t\t\t\tconst calc = calculate(this, target, source);\n\t\t\t\tthis.damage(calc * source.baseMaxhp / 8, source, target);\n\t\t\t}\n\t\t},\n\t},\n};\n\nfunction calculate(battle: Battle, source: Pokemon, pokemon: Pokemon) {\n\tconst move = battle.dex.getActiveMove('tackle');\n\tmove.type = source.getTypes()[0];\n\tconst typeMod = 2 ** battle.clampIntRange(pokemon.runEffectiveness(move), -6, 6);\n\tif (!pokemon.runImmunity(move.type)) return 0;\n\treturn typeMod;\n}\n"], "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,YAAyE;AAAA,EACrF,WAAW;AAAA,IACV,SAAS;AAAA,IACT,cAAc,QAAQ,QAAQ,QAAQ,MAAM;AAC3C,UAAI,CAAC,OAAO,MAAM,KAAK,sBAAsB,MAAM,QAAQ,QAAQ,IAAI,GAAG;AACzE,cAAM,OAAO,UAAU,MAAM,QAAQ,MAAM;AAC3C,aAAK,OAAO,OAAO,OAAO,YAAY,GAAG,QAAQ,MAAM;AAAA,MACxD;AAAA,IACD;AAAA,EACD;AAAA,EACA,WAAW;AAAA,IACV,SAAS;AAAA,IACT,WAAW,SAAS;AACnB,UAAI,CAAC,QAAQ;AAAI;AACjB,iBAAW,UAAU,QAAQ,KAAK,GAAG;AACpC,YAAI,OAAO,WAAW,SAAS,OAAO,WAAW,UAAU,GAAG;AAC7D,gBAAM,OAAO,UAAU,MAAM,SAAS,MAAM;AAC5C,eAAK,OAAO,OAAO,OAAO,YAAY,GAAG,QAAQ,OAAO;AAAA,QACzD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,aAAa;AAAA,IACZ,SAAS;AAAA,IACT,cAAc,QAAQ,QAAQ,QAAQ,MAAM;AAC3C,UAAI,CAAC,OAAO,MAAM,CAAC,OAAO,YAAY,OAAO,mBAAmB;AAAG;AACnE,UAAI,CAAC,oBAAoB,kBAAkB,EAAE,SAAS,OAAO,QAAQ,EAAE,GAAG;AACzE,cAAM,OAAO,UAAU,MAAM,QAAQ,MAAM;AAC3C,YAAI;AAAM,eAAK,OAAO,OAAO,OAAO,YAAY,GAAG,QAAQ,MAAM;AACjE,YAAI,OAAO,QAAQ,OAAO,oBAAoB;AAC7C,eAAK,MAAM,EAAE,KAAK,GAAG,GAAG,QAAQ,QAAQ,MAAM,IAAI;AAAA,QACnD,OAAO;AACN,iBAAO,aAAa,OAAO,QAAQ,IAAI;AAAA,QACxC;AACA,eAAO,YAAY,aAAa,IAAI;AAAA,MACrC;AAAA,IACD;AAAA,EACD;AAAA,EACA,WAAW;AAAA,IACV,SAAS;AAAA,IACT,cAAc,QAAQ,QAAQ,QAAQ,MAAM;AAC3C,UAAI,KAAK,sBAAsB,MAAM,QAAQ,QAAQ,IAAI,GAAG;AAC3D,cAAM,OAAO,UAAU,MAAM,QAAQ,MAAM;AAC3C,aAAK,OAAO,OAAO,OAAO,YAAY,GAAG,QAAQ,MAAM;AAAA,MACxD;AAAA,IACD;AAAA,EACD;AAAA,EACA,WAAW;AAAA,IACV,SAAS;AAAA,IACT,cAAc,QAAQ,QAAQ,QAAQ,MAAM;AAC3C,UAAI,KAAK,sBAAsB,MAAM,QAAQ,QAAQ,IAAI,GAAG;AAC3D,cAAM,OAAO,UAAU,MAAM,QAAQ,MAAM;AAC3C,aAAK,OAAO,OAAO,OAAO,YAAY,GAAG,QAAQ,MAAM;AAAA,MACxD;AAAA,IACD;AAAA,EACD;AACD;AAEA,SAAS,UAAU,QAAgB,QAAiB,SAAkB;AACrE,QAAM,OAAO,OAAO,IAAI,cAAc,QAAQ;AAC9C,OAAK,OAAO,OAAO,SAAS,EAAE,CAAC;AAC/B,QAAM,UAAU,KAAK,OAAO,cAAc,QAAQ,iBAAiB,IAAI,GAAG,IAAI,CAAC;AAC/E,MAAI,CAAC,QAAQ,YAAY,KAAK,IAAI;AAAG,WAAO;AAC5C,SAAO;AACR;", "names": [] }