Move high crit to a flag and update move table

This commit is contained in:
DizzyEggg 2018-07-14 10:11:38 +02:00
parent e94a0e2ddf
commit c9d1ee3c4a
7 changed files with 3602 additions and 48 deletions

View File

@ -57,7 +57,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8
.4byte BattleScript_EffectSuperFang .4byte BattleScript_EffectSuperFang
.4byte BattleScript_EffectDragonRage .4byte BattleScript_EffectDragonRage
.4byte BattleScript_EffectTrap .4byte BattleScript_EffectTrap
.4byte BattleScript_EffectHighCritical .4byte BattleScript_EffectPlaceholder43
.4byte BattleScript_EffectDoubleHit .4byte BattleScript_EffectDoubleHit
.4byte BattleScript_EffectRecoilIfMiss .4byte BattleScript_EffectRecoilIfMiss
.4byte BattleScript_EffectMist .4byte BattleScript_EffectMist
@ -110,14 +110,14 @@ gBattleScriptsForMoveEffects:: @ 82D86A8
.4byte BattleScript_EffectConversion2 .4byte BattleScript_EffectConversion2
.4byte BattleScript_EffectLockOn .4byte BattleScript_EffectLockOn
.4byte BattleScript_EffectSketch .4byte BattleScript_EffectSketch
.4byte BattleScript_EffectUnused60//Thaw .4byte BattleScript_EffectUnused60
.4byte BattleScript_EffectSleepTalk .4byte BattleScript_EffectSleepTalk
.4byte BattleScript_EffectDestinyBond .4byte BattleScript_EffectDestinyBond
.4byte BattleScript_EffectFlail .4byte BattleScript_EffectFlail
.4byte BattleScript_EffectSpite .4byte BattleScript_EffectSpite
.4byte BattleScript_EffectFalseSwipe .4byte BattleScript_EffectFalseSwipe
.4byte BattleScript_EffectHealBell .4byte BattleScript_EffectHealBell
.4byte BattleScript_EffectQuickAttack .4byte BattleScript_EffectPlaceholder103
.4byte BattleScript_EffectTripleKick .4byte BattleScript_EffectTripleKick
.4byte BattleScript_EffectThief .4byte BattleScript_EffectThief
.4byte BattleScript_EffectMeanLook .4byte BattleScript_EffectMeanLook
@ -214,7 +214,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8
.4byte BattleScript_EffectSecretPower .4byte BattleScript_EffectSecretPower
.4byte BattleScript_EffectDoubleEdge .4byte BattleScript_EffectDoubleEdge
.4byte BattleScript_EffectTeeterDance .4byte BattleScript_EffectTeeterDance
.4byte BattleScript_EffectBlazeKick .4byte BattleScript_EffectPlaceholder200
.4byte BattleScript_EffectMudSport .4byte BattleScript_EffectMudSport
.4byte BattleScript_EffectPoisonFang .4byte BattleScript_EffectPoisonFang
.4byte BattleScript_EffectWeatherBall .4byte BattleScript_EffectWeatherBall
@ -223,7 +223,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8
.4byte BattleScript_EffectCosmicPower .4byte BattleScript_EffectCosmicPower
.4byte BattleScript_EffectSkyUppercut .4byte BattleScript_EffectSkyUppercut
.4byte BattleScript_EffectBulkUp .4byte BattleScript_EffectBulkUp
.4byte BattleScript_EffectPoisonTail .4byte BattleScript_EffectPlaceholder209
.4byte BattleScript_EffectWaterSport .4byte BattleScript_EffectWaterSport
.4byte BattleScript_EffectCalmMind .4byte BattleScript_EffectCalmMind
.4byte BattleScript_EffectDragonDance .4byte BattleScript_EffectDragonDance
@ -235,7 +235,7 @@ BattleScript_EffectAccuracyUp::
BattleScript_EffectAlwaysHit:: BattleScript_EffectAlwaysHit::
BattleScript_EffectSpecialAttackDown:: BattleScript_EffectSpecialAttackDown::
BattleScript_EffectSpecialDefenseDown:: BattleScript_EffectSpecialDefenseDown::
BattleScript_EffectHighCritical:: BattleScript_EffectPlaceholder43::
BattleScript_EffectAccuracyUp2:: BattleScript_EffectAccuracyUp2::
BattleScript_EffectEvasionUp2:: BattleScript_EffectEvasionUp2::
BattleScript_EffectSpecialAttackDown2:: BattleScript_EffectSpecialAttackDown2::
@ -245,12 +245,14 @@ BattleScript_EffectEvasionDownHit::
BattleScript_EffectVitalThrow:: BattleScript_EffectVitalThrow::
BattleScript_EffectUnused60:: BattleScript_EffectUnused60::
BattleScript_EffectFalseSwipe:: BattleScript_EffectFalseSwipe::
BattleScript_EffectQuickAttack:: BattleScript_EffectPlaceholder103::
BattleScript_EffectUnused6e:: BattleScript_EffectUnused6e::
BattleScript_EffectPursuit:: BattleScript_EffectPursuit::
BattleScript_EffectUnused83:: BattleScript_EffectUnused83::
BattleScript_EffectUnused8d:: BattleScript_EffectUnused8d::
BattleScript_EffectUnusedA3:: BattleScript_EffectUnusedA3::
BattleScript_EffectPlaceholder200::
BattleScript_EffectPlaceholder209:
BattleScript_EffectHit:: BattleScript_EffectHit::
jumpifnotmove MOVE_SURF, BattleScript_HitFromAtkCanceler jumpifnotmove MOVE_SURF, BattleScript_HitFromAtkCanceler
jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_HitFromAtkCanceler jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_HitFromAtkCanceler
@ -288,7 +290,7 @@ BattleScript_MoveEnd::
end end
BattleScript_MakeMoveMissed:: BattleScript_MakeMoveMissed::
orbyte gMoveResultFlags, MOVE_RESULT_MISSED orhalfword gMoveResultFlags, MOVE_RESULT_MISSED
BattleScript_PrintMoveMissed:: BattleScript_PrintMoveMissed::
attackstring attackstring
ppreduce ppreduce
@ -335,8 +337,7 @@ BattleScript_CantMakeAsleep::
waitmessage 0x40 waitmessage 0x40
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_EffectPoisonHit:: BattleScript_EffectPoisonHit:
BattleScript_EffectPoisonTail::
setmoveeffect MOVE_EFFECT_POISON setmoveeffect MOVE_EFFECT_POISON
goto BattleScript_EffectHit goto BattleScript_EffectHit

View File

@ -44,7 +44,7 @@
#define EFFECT_SUPER_FANG 40 #define EFFECT_SUPER_FANG 40
#define EFFECT_DRAGON_RAGE 41 #define EFFECT_DRAGON_RAGE 41
#define EFFECT_TRAP 42 #define EFFECT_TRAP 42
#define EFFECT_HIGH_CRITICAL 43 #define EFFECT_PLACEHOLDER_43 43
#define EFFECT_DOUBLE_HIT 44 #define EFFECT_DOUBLE_HIT 44
#define EFFECT_RECOIL_IF_MISS 45 #define EFFECT_RECOIL_IF_MISS 45
#define EFFECT_MIST 46 #define EFFECT_MIST 46
@ -104,7 +104,7 @@
#define EFFECT_SPITE 100 #define EFFECT_SPITE 100
#define EFFECT_FALSE_SWIPE 101 #define EFFECT_FALSE_SWIPE 101
#define EFFECT_HEAL_BELL 102 #define EFFECT_HEAL_BELL 102
#define EFFECT_QUICK_ATTACK 103 #define EFFECT_PLACEHOLDER_103 103
#define EFFECT_TRIPLE_KICK 104 #define EFFECT_TRIPLE_KICK 104
#define EFFECT_THIEF 105 #define EFFECT_THIEF 105
#define EFFECT_MEAN_LOOK 106 #define EFFECT_MEAN_LOOK 106
@ -201,7 +201,7 @@
#define EFFECT_SECRET_POWER 197 #define EFFECT_SECRET_POWER 197
#define EFFECT_DOUBLE_EDGE 198 #define EFFECT_DOUBLE_EDGE 198
#define EFFECT_TEETER_DANCE 199 #define EFFECT_TEETER_DANCE 199
#define EFFECT_BLAZE_KICK 200 #define EFFECT_PLACEHOLDER_200 200
#define EFFECT_MUD_SPORT 201 #define EFFECT_MUD_SPORT 201
#define EFFECT_POISON_FANG 202 #define EFFECT_POISON_FANG 202
#define EFFECT_WEATHER_BALL 203 #define EFFECT_WEATHER_BALL 203
@ -210,7 +210,7 @@
#define EFFECT_COSMIC_POWER 206 #define EFFECT_COSMIC_POWER 206
#define EFFECT_SKY_UPPERCUT 207 #define EFFECT_SKY_UPPERCUT 207
#define EFFECT_BULK_UP 208 #define EFFECT_BULK_UP 208
#define EFFECT_POISON_TAIL 209 #define EFFECT_PLACEHOLDER_209 209
#define EFFECT_WATER_SPORT 210 #define EFFECT_WATER_SPORT 210
#define EFFECT_CALM_MIND 211 #define EFFECT_CALM_MIND 211
#define EFFECT_DRAGON_DANCE 212 #define EFFECT_DRAGON_DANCE 212

View File

@ -20,7 +20,8 @@
#define TYPE_ICE 0x0f #define TYPE_ICE 0x0f
#define TYPE_DRAGON 0x10 #define TYPE_DRAGON 0x10
#define TYPE_DARK 0x11 #define TYPE_DARK 0x11
#define NUMBER_OF_MON_TYPES 0x12 #define TYPE_FAIRY 0x12
#define NUMBER_OF_MON_TYPES 0x13
// Pokemon egg groups // Pokemon egg groups
#define EGG_GROUP_NONE 0 #define EGG_GROUP_NONE 0

File diff suppressed because it is too large Load Diff

View File

@ -364,6 +364,7 @@ struct BattleMove
u8 target; u8 target;
s8 priority; s8 priority;
u8 flags; u8 flags;
u8 split;
}; };
#define FLAG_MAKES_CONTACT 0x1 #define FLAG_MAKES_CONTACT 0x1
@ -372,6 +373,11 @@ struct BattleMove
#define FLAG_SNATCH_AFFECTED 0x8 #define FLAG_SNATCH_AFFECTED 0x8
#define FLAG_MIRROR_MOVE_AFFECTED 0x10 #define FLAG_MIRROR_MOVE_AFFECTED 0x10
#define FLAG_KINGSROCK_AFFECTED 0x20 #define FLAG_KINGSROCK_AFFECTED 0x20
#define FLAG_HIGH_CRIT 0x40
#define SPLIT_PHYSICAL 0x0
#define SPLIT_SPECIAL 0x1
#define SPLIT_STATUS 0x2
struct SpindaSpot struct SpindaSpot
{ {

View File

@ -82,6 +82,7 @@ enum
LIST_ITEM_STATUS2, LIST_ITEM_STATUS2,
LIST_ITEM_STATUS3, LIST_ITEM_STATUS3,
LIST_ITEM_SIDE_STATUS, LIST_ITEM_SIDE_STATUS,
LIST_ITEM_VARIOUS,
LIST_ITEM_COUNT LIST_ITEM_COUNT
}; };
@ -156,6 +157,7 @@ static const u8 sText_LightScreen[] = _("Light Screen");
static const u8 sText_Spikes[] = _("Spikes"); static const u8 sText_Spikes[] = _("Spikes");
static const u8 sText_Safeguard[] = _("Safeguard"); static const u8 sText_Safeguard[] = _("Safeguard");
static const u8 sText_Mist[] = _("Mist"); static const u8 sText_Mist[] = _("Mist");
static const u8 sText_ShowOpponentHP[] = _("Opponent Hp");
static const u8 sText_EmptyString[] = _(""); static const u8 sText_EmptyString[] = _("");

View File

@ -1282,10 +1282,7 @@ static void atk04_critcalc(void)
gPotentialItemEffectBattler = gBattlerAttacker; gPotentialItemEffectBattler = gBattlerAttacker;
critChance = 2 * ((gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY) != 0) critChance = 2 * ((gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY) != 0)
+ (gBattleMoves[gCurrentMove].effect == EFFECT_HIGH_CRITICAL) + ((gBattleMoves[gCurrentMove].flags & FLAG_HIGH_CRIT) != 0)
+ (gBattleMoves[gCurrentMove].effect == EFFECT_SKY_ATTACK)
+ (gBattleMoves[gCurrentMove].effect == EFFECT_BLAZE_KICK)
+ (gBattleMoves[gCurrentMove].effect == EFFECT_POISON_TAIL)
+ (holdEffect == HOLD_EFFECT_SCOPE_LENS) + (holdEffect == HOLD_EFFECT_SCOPE_LENS)
+ 2 * (holdEffect == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY) + 2 * (holdEffect == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY)
+ 2 * (holdEffect == HOLD_EFFECT_STICK && gBattleMons[gBattlerAttacker].species == SPECIES_FARFETCHD); + 2 * (holdEffect == HOLD_EFFECT_STICK && gBattleMons[gBattlerAttacker].species == SPECIES_FARFETCHD);