diff options
Diffstat (limited to 'src/field_effect.c')
-rw-r--r-- | src/field_effect.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/field_effect.c b/src/field_effect.c index 574bec879..3f0ba2455 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2565,15 +2565,17 @@ bool8 FldEff_FieldMoveShowMon(void) return FALSE; } +#define SHOW_MON_CRY_NO_DUCKING (1 << 31) + bool8 FldEff_FieldMoveShowMonInit(void) { struct Pokemon *pokemon; - u32 flag = gFieldEffectArguments[0] & 0x80000000; + bool32 noDucking = gFieldEffectArguments[0] & SHOW_MON_CRY_NO_DUCKING; pokemon = &gPlayerParty[(u8)gFieldEffectArguments[0]]; gFieldEffectArguments[0] = GetMonData(pokemon, MON_DATA_SPECIES); gFieldEffectArguments[1] = GetMonData(pokemon, MON_DATA_OT_ID); gFieldEffectArguments[2] = GetMonData(pokemon, MON_DATA_PERSONALITY); - gFieldEffectArguments[0] |= flag; + gFieldEffectArguments[0] |= noDucking; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON); FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); return FALSE; @@ -2913,17 +2915,17 @@ static bool8 SlideIndoorBannerOffscreen(struct Task *task) static u8 InitFieldMoveMonSprite(u32 species, u32 otId, u32 personality) { - u16 v0; + bool16 noDucking; u8 monSprite; struct Sprite *sprite; - v0 = (species & 0x80000000) >> 16; - species &= 0x7fffffff; + noDucking = (species & SHOW_MON_CRY_NO_DUCKING) >> 16; + species &= ~SHOW_MON_CRY_NO_DUCKING; monSprite = CreateMonSprite_FieldMove(species, otId, personality, 320, 80, 0); sprite = &gSprites[monSprite]; sprite->callback = SpriteCallbackDummy; sprite->oam.priority = 0; sprite->sSpecies = species; - sprite->data[6] = v0; + sprite->data[6] = noDucking; return monSprite; } @@ -2935,13 +2937,9 @@ static void SpriteCB_FieldMoveMonSlideOnscreen(struct Sprite *sprite) sprite->sOnscreenTimer = 30; sprite->callback = SpriteCB_FieldMoveMonWaitAfterCry; if (sprite->data[6]) - { - PlayCry2(sprite->sSpecies, 0, 0x7d, 0xa); - } + PlayCry_NormalNoDucking(sprite->sSpecies, 0, CRY_VOLUME_RS, CRY_PRIORITY_NORMAL); else - { - PlayCry1(sprite->sSpecies, 0); - } + PlayCry_Normal(sprite->sSpecies, 0); } } @@ -3021,7 +3019,7 @@ static void SurfFieldEffect_ShowMon(struct Task *task) objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; if (ObjectEventCheckHeldMovementStatus(objectEvent)) { - gFieldEffectArguments[0] = task->tMonId | 0x80000000; + gFieldEffectArguments[0] = task->tMonId | SHOW_MON_CRY_NO_DUCKING; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); task->tState++; } |