Skip to content

Commit

Permalink
Merge branch 'gen9_dlc' into gh-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
kunyi731 committed Dec 31, 2023
2 parents 4fe97d2 + a726042 commit 84c129e
Show file tree
Hide file tree
Showing 31 changed files with 3,944 additions and 3,301 deletions.
81 changes: 34 additions & 47 deletions index.html

Large diffs are not rendered by default.

1,456 changes: 0 additions & 1,456 deletions index_ch.html

This file was deleted.

704 changes: 0 additions & 704 deletions index_en.html

This file was deleted.

7 changes: 6 additions & 1 deletion script_res/ability_data.js
Original file line number Diff line number Diff line change
Expand Up @@ -329,9 +329,14 @@ var ABILITIES_SV = ABILITIES_SS.concat([
//Teal Mask DLC new additions
"Mind's Eye", //Ignores evasion/accuracy and is Scrappy w/o Intimidate immunity
'Supersweet Syrup', //Intimidate but with evasion and only once
'Hospitality', //Heals HP, needs more info but probably has no calc functionality
'Hospitality', //Heals ally's HP, no calc functionality
'Toxic Chain', //Poison Touch but with badly poisoned instead, no calc functionality
'Embody Aspect', //Boosts Ogerpon's stats based on mask, needs for info for what kind of boost and how much
//Indigo Disk new additions
'Tera Shift', //Transforms Terapagos into Tera form
'Tera Shell', //Max HP means all attacks are not very effective
'Teraform Zero', //Removes weather and terrain
'Poison Puppeteer', //Poisoning also confuses, no calc funcitonality
]);

//ABILITIES_XY.splice(ABILITIES_XY.indexOf('Lightning Rod'), 1, 'Lightning Rod');
Expand Down
11 changes: 7 additions & 4 deletions script_res/ap_calc.css
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ th {
.btn-xxxwide {
width: 10em;
}
.btn-xxxxwide {
width: 11em;
}
.btn-medium {
width: 4.4em;
}
Expand Down Expand Up @@ -201,7 +204,7 @@ select.ability-supreme, select.ability-proto-quark {
select.toxic-counter {
width: 4.5em;
}
.move-selector, .move-bp, .move-type, .move-cat, .move-hits, .move-double, .move-hits2, .move-hits3, .move-pledge, .move-10hits, .move-lastRespRageFist {
.move-selector, .move-bp, .move-type, .move-cat, .move-hits, .move-double, .move-stellar, .move-hits2, .move-hits3, .move-pledge, .move-10hits, .move-linearAddedBP, .move-opponent {
font-size: 0.9em;
}
.move-selector {
Expand All @@ -214,10 +217,10 @@ select.toxic-counter {
.poke-info input.move-bp {
width: 2em;
}
.move-cat/*, .move-hits*/, .move-lastRespRageFist {
.move-cat, .move-linearAddedBP {
width: 4em;
}
.move-hits, .move-double, .move-hits2, .move-hits3, .move-pledge, .move-10hits {
.move-hits, .move-double, .move-stellar, .move-hits2, .move-hits3, .move-pledge, .move-10hits, .move-opponent {
width: 4.6em;
}
.abilityToggle, .ability-advanced{
Expand Down Expand Up @@ -331,4 +334,4 @@ select.toxic-counter {
#mainResult {
visibility: visible;
cursor: pointer;
}
}
228 changes: 181 additions & 47 deletions script_res/ap_calc.js

Large diffs are not rendered by default.

331 changes: 225 additions & 106 deletions script_res/damage_MASTER.js

Large diffs are not rendered by default.

24 changes: 13 additions & 11 deletions script_res/damage_SV.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,21 @@ function GET_DAMAGE_SV(attacker, defender, move, field) {
var moveDescName = move.name;
var isQuarteredByProtect = false;

var attIsGrounded = pIsGrounded(attacker, field);
var defIsGrounded = pIsGrounded(defender, field);

checkMoveTypeChange(move, field, attacker);
checkConditionalPriority(move, field.terrain);
checkConditionalSpread(move, field.terrain, attacker, attIsGrounded);
checkContactOverride(move, attacker);

if (attacker.isDynamax)
[move, isQuarteredByProtect, moveDescName] = MaxMoves(move, attacker, isQuarteredByProtect, moveDescName, field);

if (move.name == "Nature Power")
if (move.name == "Nature Power" && attacker.item !== 'Assault Vest')
[move, moveDescName] = NaturePower(move, field, moveDescName);
else if (move.name == 'Me First' && !move.isMeFirst && attacker.item !== 'Assault Vest')
[move, moveDescName] = checkMeFirst(move, moveDescName);

if (move.isZ || move.isSignatureZ)
[move, isQuarteredByProtect, moveDescName] = ZMoves(move, field, attacker, isQuarteredByProtect, moveDescName);
Expand All @@ -91,47 +98,42 @@ function GET_DAMAGE_SV(attacker, defender, move, field) {
description["moveName"] = translate_move(moveDescName);
description["defenderName"] = translate_pokemon(defender_name);

addLevelDesc(attacker, defender, description);

if (move.bp === 0 || move.category === "Status") {
return statusMoves(move, attacker, defender, description);
}

description.attackerTera = attacker.isTerastalize ? attacker.tera_type : false;
description.defenderTera = defender.isTerastalize ? defender.tera_type : false;


var defAbility = defender.ability;
[defAbility, description] = abilityIgnore(attacker, move, defAbility, description, defender.item);

var isCritical = critMove(move, defAbility);

if (move.name == "Aura Wheel" && attacker.name == "Morpeko-Hangry") {
move.type = "Dark";
}

var ateIzeAbility = ATE_IZE_ABILITIES.indexOf(attacker.ability); //Confirms abilities like Normalize and Pixilate but not Liquid Voice
var ateIzeBoosted;
if (!move.isZ && (ateIzeAbility !== -1 || attacker.ability == "Liquid Voice")
&& ['Hidden Power', 'Weather Ball', 'Natural Gift', 'Judgement', 'Techno Blast', 'Revelation Dance', 'Multi-Attack', 'Terrain Pulse'].indexOf(move.name) === -1) {
[move, description, ateIzeBoosted] = ateIzeTypeChange(move, attacker, description);
}

var typeEffect1 = getMoveEffectiveness(move, defender.type1, defender.type2, ["Scrappy", "Mind's Eye"].indexOf(attacker.ability) != -1 || field.isForesight, field.isGravity, defender.item, field.weather === "Strong Winds");
var typeEffect2 = defender.type2 && defender.type2 !== defender.type1 ? getMoveEffectiveness(move, defender.type2, defender.type1, ["Scrappy", "Mind's Eye"].indexOf(attacker.ability) != -1 || field.isForesight, field.isGravity, defender.item, field.weather === "Strong Winds") : 1;
var typeEffect1 = getMoveEffectiveness(move, defender.type1, defender.type2, ["Scrappy", "Mind's Eye"].indexOf(attacker.ability) != -1 || field.isForesight, field.isGravity, defender.item, field.weather === "Strong Winds", defender.ability === 'Tera Shell' && defender.curHP === defender.maxHP, defender.isTerastalize);
var typeEffect2 = defender.type2 && defender.type2 !== defender.type1 && move.type !== 'Stellar' ? getMoveEffectiveness(move, defender.type2, defender.type1, ["Scrappy", "Mind's Eye"].indexOf(attacker.ability) != -1 || field.isForesight, field.isGravity, defender.item, field.weather === "Strong Winds", defender.ability === 'Tera Shell' && defender.curHP === defender.maxHP, defender.isTerastalize) : 1;
var typeEffectiveness = typeEffect1 * typeEffect2;
immuneBuildDesc = immunityChecks(move, attacker, defender, field, description, defAbility, typeEffectiveness);
if (immuneBuildDesc !== -1) return immuneBuildDesc;

description.HPEVs = defender.HPEVs + " HP";

setDamageBuildDesc = setDamage(move, attacker, defender, description, isQuarteredByProtect);
setDamageBuildDesc = setDamage(move, attacker, defender, description, isQuarteredByProtect, field);
if (setDamageBuildDesc !== -1) return setDamageBuildDesc;

if (move.hits > 1) {
description.hits = move.hits;
}
var turnOrder = attacker.stats[SP] > defender.stats[SP] ? "FIRST" : "LAST";
var attIsGrounded = pIsGrounded(attacker, field);
var defIsGrounded = pIsGrounded(defender, field);

////////////////////////////////
////////// BASE POWER //////////
Expand Down
Loading

0 comments on commit 84c129e

Please sign in to comment.