Compare commits

..

1 Commits

Author SHA1 Message Date
Amani H.
cf845c1237
Merge 37ff766d3e into 3b36ab17e4 2025-08-05 07:17:59 +00:00

View File

@ -4558,17 +4558,8 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
} }
const key = this.species.getCryKey(this.formIndex); const key = this.species.getCryKey(this.formIndex);
const crySoundConfig = { rate: 0.85, detune: 0 }; let rate = 0.85;
if (this.isPlayer()) { const cry = globalScene.playSound(key, { rate: rate }) as AnySound;
// If fainting is permanent, emphasize impact
const preventRevive = new BooleanHolder(false);
applyChallenges(ChallengeType.PREVENT_REVIVE, preventRevive);
if (preventRevive.value) {
crySoundConfig.detune = -100;
crySoundConfig.rate = 0.7;
}
}
const cry = globalScene.playSound(key, crySoundConfig) as AnySound;
if (!cry || globalScene.fieldVolume === 0) { if (!cry || globalScene.fieldVolume === 0) {
callback(); callback();
return; return;
@ -4587,7 +4578,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
delay: fixedInt(delay), delay: fixedInt(delay),
repeat: -1, repeat: -1,
callback: () => { callback: () => {
frameThreshold = sprite.anims.msPerFrame / crySoundConfig.rate; frameThreshold = sprite.anims.msPerFrame / rate;
frameProgress += delay; frameProgress += delay;
while (frameProgress > frameThreshold) { while (frameProgress > frameThreshold) {
if (sprite.anims.duration) { if (sprite.anims.duration) {
@ -4597,7 +4588,8 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
frameProgress -= frameThreshold; frameProgress -= frameThreshold;
} }
if (cry && !cry.pendingRemove) { if (cry && !cry.pendingRemove) {
cry.setRate(crySoundConfig.rate * 0.99); rate *= 0.99;
cry.setRate(rate);
} else { } else {
faintCryTimer?.destroy(); faintCryTimer?.destroy();
faintCryTimer = null; faintCryTimer = null;