init branch

This commit is contained in:
Evan 2021-01-06 14:42:45 -07:00
parent 73a7800f72
commit d5d2cac60c
3 changed files with 50 additions and 26 deletions

View file

@ -193,32 +193,35 @@
#define STAT_CHANGE_CANT_PREVENT 0x8 #define STAT_CHANGE_CANT_PREVENT 0x8
// cases for Cmd_moveend // cases for Cmd_moveend
#define MOVEEND_PROTECT_LIKE_EFFECT 0 #define MOVEEND_PROTECT_LIKE_EFFECT 0
#define MOVEEND_RAGE 1 #define MOVEEND_RAGE 1
#define MOVEEND_DEFROST 2 #define MOVEEND_DEFROST 2
#define MOVEEND_SYNCHRONIZE_TARGET 3 #define MOVEEND_SYNCHRONIZE_TARGET 3
#define MOVEEND_ABILITIES 4 #define MOVEEND_ABILITIES 4
#define MOVEEND_ABILITIES_ATTACKER 5 #define MOVEEND_ABILITIES_ATTACKER 5
#define MOVEEND_STATUS_IMMUNITY_ABILITIES 6 #define MOVEEND_STATUS_IMMUNITY_ABILITIES 6
#define MOVEEND_SYNCHRONIZE_ATTACKER 7 #define MOVEEND_SYNCHRONIZE_ATTACKER 7
#define MOVEEND_CHOICE_MOVE 8 #define MOVEEND_CHOICE_MOVE 8
#define MOVEEND_CHANGED_ITEMS 9 #define MOVEEND_CHANGED_ITEMS 9
#define MOVEEND_ATTACKER_INVISIBLE 10 #define MOVEEND_ATTACKER_INVISIBLE 10
#define MOVEEND_ATTACKER_VISIBLE 11 #define MOVEEND_ATTACKER_VISIBLE 11
#define MOVEEND_TARGET_VISIBLE 12 #define MOVEEND_TARGET_VISIBLE 12
#define MOVEEND_ITEM_EFFECTS_TARGET 13 #define MOVEEND_ITEM_EFFECTS_TARGET 13
#define MOVEEND_MOVE_EFFECTS2 14 #define MOVEEND_MOVE_EFFECTS2 14
#define MOVEEND_ITEM_EFFECTS_ALL 15 #define MOVEEND_ITEM_EFFECTS_ALL 15
#define MOVEEND_KINGSROCK_SHELLBELL 16 #define MOVEEND_KINGSROCK_SHELLBELL 16
#define MOVEEND_SUBSTITUTE 17 #define MOVEEND_SUBSTITUTE 17
#define MOVEEND_UPDATE_LAST_MOVES 18 #define MOVEEND_UPDATE_LAST_MOVES 18
#define MOVEEND_MIRROR_MOVE 19 #define MOVEEND_MIRROR_MOVE 19
#define MOVEEND_NEXT_TARGET 20 #define MOVEEND_NEXT_TARGET 20
#define MOVEEND_LIFE_ORB 21 #define MOVEEND_EJECT_BUTTON 21
#define MOVEEND_DANCER 22 #define MOVEEND_RED_CARD 22
#define MOVEEND_EMERGENCY_EXIT 23 #define MOVEEND_EJECT_PACK 23
#define MOVEEND_CLEAR_BITS 24 #define MOVEEND_LIFE_ORB 24
#define MOVEEND_COUNT 25 #define MOVEEND_DANCER 25
#define MOVEEND_EMERGENCY_EXIT 26
#define MOVEEND_CLEAR_BITS 27
#define MOVEEND_COUNT 28
// stat flags for Cmd_playstatchangeanimation // stat flags for Cmd_playstatchangeanimation
#define BIT_HP 0x1 #define BIT_HP 0x1

View file

@ -136,6 +136,14 @@
#define HOLD_EFFECT_MEMORY 153 #define HOLD_EFFECT_MEMORY 153
#define HOLD_EFFECT_PLATE 154 #define HOLD_EFFECT_PLATE 154
// Gen8 hold effects
#define HOLD_EFFECT_EJECT_PACK 132
#define HOLD_EFFECT_ROOM_SERVICE 133
#define HOLD_EFFECT_BLUNDER_POLICY 134
#define HOLD_EFFECT_HEAVY_DUTY_BOOTS 135
#define HOLD_EFFECT_UTILITY_UMBRELLA 136
#define HOLD_EFFECT_THROAT_SPRAY 137
#define HOLD_EFFECT_CHOICE(holdEffect)((holdEffect == HOLD_EFFECT_CHOICE_BAND || holdEffect == HOLD_EFFECT_CHOICE_SCARF || holdEffect == HOLD_EFFECT_CHOICE_SPECS)) #define HOLD_EFFECT_CHOICE(holdEffect)((holdEffect == HOLD_EFFECT_CHOICE_BAND || holdEffect == HOLD_EFFECT_CHOICE_SCARF || holdEffect == HOLD_EFFECT_CHOICE_SPECS))
#endif // GUARD_HOLD_EFFECTS_H #endif // GUARD_HOLD_EFFECTS_H

View file

@ -5006,6 +5006,19 @@ static void Cmd_moveend(void)
RecordLastUsedMoveBy(gBattlerAttacker, gCurrentMove); RecordLastUsedMoveBy(gBattlerAttacker, gCurrentMove);
gBattleScripting.moveendState++; gBattleScripting.moveendState++;
break; break;
case MOVEEND_EJECT_BUTTON:
if (gCurrentMove != MOVE_DRAGON_TAIL && gCurrentMove != MOVE_CIRCLE_THROW)
{
u8 battlers[4] = {0, 1, 2, 3};
SortBattlersBySpeed
}
BattleScript_ForceRandomSwitch
case MOVEEND_RED_CARD:
case MOVEEND_EJECT_PACK:
case MOVEEND_LIFE_ORB: case MOVEEND_LIFE_ORB:
if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_LIFE_ORB if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_LIFE_ORB
&& IsBattlerAlive(gBattlerAttacker) && IsBattlerAlive(gBattlerAttacker)