Sync beta with changes to main (#3235)
* [Hotfix] Fix interactions of some moves not changing types (#3183) * [Hotfix] Fix wild spawns not having their HA (#3190) * [Hotfix] Allow to hatch pokemon with Hidden Ability again (#3222) * chore: Update TNC links layout and position in index.html * chore: Update TNC links font size in index.css (#3230) --------- Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
This commit is contained in:
parent
7582eefabc
commit
e9c48ef865
|
@ -33,6 +33,7 @@ body {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
}
|
}
|
||||||
|
|
||||||
#app {
|
#app {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@ -207,9 +208,8 @@ input:-internal-autofill-selected {
|
||||||
}
|
}
|
||||||
|
|
||||||
#tnc-links {
|
#tnc-links {
|
||||||
font-size: larger;
|
font-size: xx-small;
|
||||||
position: relative;
|
position: relative;
|
||||||
bottom: max(calc(92vh - 100vw / 16 * 9), 0%);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
|
|
|
@ -114,9 +114,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="module" src="./src/main.ts"></script>
|
|
||||||
<script src="./src/touch-controls.ts" type="module"></script>
|
|
||||||
<script src="./src/debug.js" type="module"></script>
|
|
||||||
<div id="tnc-links">
|
<div id="tnc-links">
|
||||||
<a href="#" class="termly-display-preferences" style="display: none;" target="_blank" rel="noreferrer noopener">Consent Preferences</a>
|
<a href="#" class="termly-display-preferences" style="display: none;" target="_blank" rel="noreferrer noopener">Consent Preferences</a>
|
||||||
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=bc96778b-3f04-4d25-bafc-0deba53e8bec" target="_blank" rel="noreferrer noopener">Privacy Policy</a>
|
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=bc96778b-3f04-4d25-bafc-0deba53e8bec" target="_blank" rel="noreferrer noopener">Privacy Policy</a>
|
||||||
|
@ -124,5 +121,8 @@
|
||||||
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=b01e092a-9721-477f-8356-45576702ff9e" target="_blank" rel="noreferrer noopener">Terms & Conditions</a>
|
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=b01e092a-9721-477f-8356-45576702ff9e" target="_blank" rel="noreferrer noopener">Terms & Conditions</a>
|
||||||
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=3b5d1928-3f5b-4ee1-b8df-2d6c276b0bcc" target="_blank" rel="noreferrer noopener">Acceptable Use Policy</a>
|
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=3b5d1928-3f5b-4ee1-b8df-2d6c276b0bcc" target="_blank" rel="noreferrer noopener">Acceptable Use Policy</a>
|
||||||
</div>
|
</div>
|
||||||
|
<script type="module" src="./src/main.ts"></script>
|
||||||
|
<script src="./src/touch-controls.ts" type="module"></script>
|
||||||
|
<script src="./src/debug.js" type="module"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -212,7 +212,7 @@ export class Egg {
|
||||||
let abilityIndex = undefined;
|
let abilityIndex = undefined;
|
||||||
if (pokemonSpecies.abilityHidden && (this._overrideHiddenAbility
|
if (pokemonSpecies.abilityHidden && (this._overrideHiddenAbility
|
||||||
|| (this._sourceType === EggSourceType.SAME_SPECIES_EGG && !Utils.randSeedInt(SAME_SPECIES_EGG_HA_RATE)))) {
|
|| (this._sourceType === EggSourceType.SAME_SPECIES_EGG && !Utils.randSeedInt(SAME_SPECIES_EGG_HA_RATE)))) {
|
||||||
abilityIndex = pokemonSpecies.ability2 ? 2 : 1;
|
abilityIndex = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function has way to many optional parameters
|
// This function has way to many optional parameters
|
||||||
|
|
|
@ -717,9 +717,13 @@ export default class Move implements Localizable {
|
||||||
* @returns The calculated power of the move.
|
* @returns The calculated power of the move.
|
||||||
*/
|
*/
|
||||||
calculateBattlePower(source: Pokemon, target: Pokemon): number {
|
calculateBattlePower(source: Pokemon, target: Pokemon): number {
|
||||||
const power = new Utils.NumberHolder(this.power);
|
if (this.category === MoveCategory.STATUS) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
const power = new Utils.NumberHolder(this.power);
|
||||||
const typeChangeMovePowerMultiplier = new Utils.NumberHolder(1);
|
const typeChangeMovePowerMultiplier = new Utils.NumberHolder(1);
|
||||||
|
|
||||||
applyPreAttackAbAttrs(MoveTypeChangeAttr, source, target, this, typeChangeMovePowerMultiplier);
|
applyPreAttackAbAttrs(MoveTypeChangeAttr, source, target, this, typeChangeMovePowerMultiplier);
|
||||||
|
|
||||||
const sourceTeraType = source.getTeraType();
|
const sourceTeraType = source.getTeraType();
|
||||||
|
|
|
@ -135,10 +135,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||||
// If abilityIndex is not provided, determine it based on species and hidden ability
|
// If abilityIndex is not provided, determine it based on species and hidden ability
|
||||||
if (species.abilityHidden && hasHiddenAbility) {
|
if (species.abilityHidden && hasHiddenAbility) {
|
||||||
// If the species has a hidden ability and the hidden ability is present
|
// If the species has a hidden ability and the hidden ability is present
|
||||||
this.abilityIndex = species.ability2 ? 2 : 1; // Use ability index 2 if species has a second ability, otherwise use 1
|
this.abilityIndex = 2;
|
||||||
} else {
|
} else {
|
||||||
// If there is no hidden ability or species does not have a hidden ability
|
// If there is no hidden ability or species does not have a hidden ability
|
||||||
this.abilityIndex = species.ability2 ? randAbilityIndex : 0; // Use random ability index if species has a second ability, otherwise use 0
|
this.abilityIndex = species.ability2 !== species.ability1 ? randAbilityIndex : 0; // Use random ability index if species has a second ability, otherwise use 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (formIndex !== undefined) {
|
if (formIndex !== undefined) {
|
||||||
|
@ -1834,7 +1834,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||||
const types = this.getTypes(true, true);
|
const types = this.getTypes(true, true);
|
||||||
|
|
||||||
const cancelled = new Utils.BooleanHolder(false);
|
const cancelled = new Utils.BooleanHolder(false);
|
||||||
|
const power = move.calculateBattlePower(source, this);
|
||||||
const typeless = move.hasAttr(TypelessAttr);
|
const typeless = move.hasAttr(TypelessAttr);
|
||||||
|
|
||||||
const typeMultiplier = new Utils.NumberHolder(!typeless && (moveCategory !== MoveCategory.STATUS || move.getAttrs(StatusMoveTypeImmunityAttr).find(attr => types.includes(attr.immuneType)))
|
const typeMultiplier = new Utils.NumberHolder(!typeless && (moveCategory !== MoveCategory.STATUS || move.getAttrs(StatusMoveTypeImmunityAttr).find(attr => types.includes(attr.immuneType)))
|
||||||
? this.getAttackTypeEffectiveness(move, source, false, false)
|
? this.getAttackTypeEffectiveness(move, source, false, false)
|
||||||
: 1);
|
: 1);
|
||||||
|
@ -1865,7 +1867,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||||
case MoveCategory.PHYSICAL:
|
case MoveCategory.PHYSICAL:
|
||||||
case MoveCategory.SPECIAL:
|
case MoveCategory.SPECIAL:
|
||||||
const isPhysical = moveCategory === MoveCategory.PHYSICAL;
|
const isPhysical = moveCategory === MoveCategory.PHYSICAL;
|
||||||
const power = move.calculateBattlePower(source, this);
|
|
||||||
const sourceTeraType = source.getTeraType();
|
const sourceTeraType = source.getTeraType();
|
||||||
|
|
||||||
if (!typeless) {
|
if (!typeless) {
|
||||||
|
|
Loading…
Reference in New Issue