diff --git a/include/constants/moves.h b/include/constants/moves.h index 85c02e3da5..51a9b3c27c 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -1,6 +1,10 @@ #ifndef GUARD_CONSTANTS_MOVES_H #define GUARD_CONSTANTS_MOVES_H +#ifndef BATTLE_ENGINE + #define MOVE_ROCK_CLIMB 1 +#endif + #define MOVE_NONE 0 #define MOVE_POUND 1 #define MOVE_KARATE_CHOP 2 diff --git a/src/data/party_menu.h b/src/data/party_menu.h index 7852b9decc..9696502ceb 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -762,7 +762,9 @@ struct [MENU_FIELD_MOVES + FIELD_MOVE_MILK_DRINK] = {gMoveNames[MOVE_MILK_DRINK], CursorCb_FieldMove}, [MENU_FIELD_MOVES + FIELD_MOVE_SOFT_BOILED] = {gMoveNames[MOVE_SOFT_BOILED], CursorCb_FieldMove}, [MENU_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCb_FieldMove}, + #ifdef BATTLE_ENGINE [MENU_FIELD_MOVES + FIELD_MOVE_ROCK_CLIMB] = {gMoveNames[MOVE_ROCK_CLIMB], CursorCb_FieldMove}, + #endif }; static const u8 sPartyMenuAction_SummarySwitchCancel[] = {MENU_SUMMARY, MENU_SWITCH, MENU_CANCEL1}; @@ -837,7 +839,11 @@ static const u8 sPartyMenuActionCounts[] = static const u16 sFieldMoves[] = { MOVE_CUT, MOVE_FLASH, MOVE_ROCK_SMASH, MOVE_STRENGTH, MOVE_SURF, MOVE_FLY, MOVE_DIVE, MOVE_WATERFALL, MOVE_TELEPORT, - MOVE_DIG, MOVE_SECRET_POWER, MOVE_MILK_DRINK, MOVE_SOFT_BOILED, MOVE_SWEET_SCENT, MOVE_ROCK_CLIMB, FIELD_MOVE_TERMINATOR + MOVE_DIG, MOVE_SECRET_POWER, MOVE_MILK_DRINK, MOVE_SOFT_BOILED, MOVE_SWEET_SCENT, + #ifdef BATTLE_ENGINE + MOVE_ROCK_CLIMB, + #endif + FIELD_MOVE_TERMINATOR }; struct diff --git a/src/event_object_movement.c b/src/event_object_movement.c index e52cdc5146..e54bf8d52f 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -9025,31 +9025,31 @@ u8 MovementAction_Fly_Finish(struct ObjectEvent *objectEvent, struct Sprite *spr // fast diagonal bool8 MovementAction_WalkFastDiagonalUpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_NORTHWEST, 1); + InitMovementNormal(objectEvent, sprite, DIR_NORTHWEST, 1); return MovementAction_WalkFastDiagonal_Step1(objectEvent, sprite); } bool8 MovementAction_WalkFastDiagonalUpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_NORTHEAST, 1); + InitMovementNormal(objectEvent, sprite, DIR_NORTHEAST, 1); return MovementAction_WalkFastDiagonal_Step1(objectEvent, sprite); } bool8 MovementAction_WalkFastDiagonalDownLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_SOUTHWEST, 1); + InitMovementNormal(objectEvent, sprite, DIR_SOUTHWEST, 1); return MovementAction_WalkFastDiagonal_Step1(objectEvent, sprite); } bool8 MovementAction_WalkFastDiagonalDownRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_SOUTHEAST, 1); + InitMovementNormal(objectEvent, sprite, DIR_SOUTHEAST, 1); return MovementAction_WalkFastDiagonal_Step1(objectEvent, sprite); } bool8 MovementAction_WalkFastDiagonal_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; diff --git a/src/field_effect.c b/src/field_effect.c index bd036aa3cb..a2129f1cee 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -4023,7 +4023,7 @@ static bool8 RockClimb_WaitJumpOnRockClimbBlob(struct Task *task, struct ObjectE { if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { - SetSurfBobState(objectEvent->fieldEffectSpriteId, 1); + SetSurfBlob_BobState(objectEvent->fieldEffectSpriteId, BOB_PLAYER_AND_MON); switch (objectEvent->facingDirection) { case DIR_EAST: @@ -4124,7 +4124,7 @@ static bool8 RockClimb_StopRockClimbInit(struct Task *task, struct ObjectEvent * RockClimbDust(objectEvent, DIR_NONE); //dust on final spot ObjectEventSetHeldMovement(objectEvent, GetJumpSpecialMovementAction(sRockClimbMovement[objectEvent->movementDirection].jumpDir)); - SetSurfBobState(objectEvent->fieldEffectSpriteId, 0); + SetSurfBlob_BobState(objectEvent->fieldEffectSpriteId, BOB_NONE); task->tState++; return TRUE; }