#ifndef GUARD_FIELD_EFFECT_HELPERS_H #define GUARD_FIELD_EFFECT_HELPERS_H // States for bobbing up and down while surfing enum { // No bobbing BOB_NONE, // Both the surf blob/mon should bob up and down BOB_PLAYER_AND_MON, // Only the surf blob/mon should bob up and down // For when the player has jumped/flown off BOB_JUST_MON, }; u8 CreateWarpArrowSprite(void); u8 StartUnderwaterSurfBlobBobbing(u8 oldSpriteId); void SetSurfBlob_BobState(u8 spriteId, u8 state); void SetSurfBlob_DontSyncAnim(u8 spriteId, bool8 dontSync); void SetSurfBlob_PlayerOffset(u8 spriteId, bool8 hasOffset, s16 offset); bool8 UpdateRevealDisguise(struct ObjectEvent *); void StartRevealDisguise(struct ObjectEvent *); void StartAshFieldEffect(s16, s16, u16, s16); void SetUpReflection(struct ObjectEvent *, struct Sprite *, u8); u32 StartFieldEffectForObjectEvent(u8, struct ObjectEvent *); u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); void UpdateRayquazaSpotlightEffect(struct Sprite *); void UpdateShadowFieldEffect(struct Sprite *); void UpdateTallGrassFieldEffect(struct Sprite *); void WaitFieldEffectSpriteAnim(struct Sprite *); void UpdateAshFieldEffect(struct Sprite *); void UpdateSurfBlobFieldEffect(struct Sprite *); void UpdateJumpImpactEffect(struct Sprite *); void UpdateFootprintsTireTracksFieldEffect(struct Sprite *); void UpdateSplashFieldEffect(struct Sprite *); void UpdateLongGrassFieldEffect(struct Sprite *); void UpdateSandPileFieldEffect(struct Sprite *); void UpdateDisguiseFieldEffect(struct Sprite *); void UpdateShortGrassFieldEffect(struct Sprite *); void UpdateHotSpringsWaterFieldEffect(struct Sprite *); void UpdateBubblesFieldEffect(struct Sprite *); void UpdateSparkleFieldEffect(struct Sprite *); void SetSpriteInvisible(u8 spriteId); void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y); #endif //GUARD_FIELD_EFFECT_HELPERS_H