mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-03-19 12:08:34 +01:00
first turn ai script
This commit is contained in:
parent
31ec3e8479
commit
cd119ed6c3
@ -3344,98 +3344,8 @@ AI_CV_DragonDance_End:
|
|||||||
|
|
||||||
|
|
||||||
AI_SetupFirstTurn:
|
AI_SetupFirstTurn:
|
||||||
if_target_is_ally AI_Ret
|
|
||||||
get_turn_count
|
|
||||||
if_not_equal 0, AI_SetupFirstTurn_End
|
|
||||||
get_considered_move_effect
|
|
||||||
if_not_in_hwords AI_SetupFirstTurn_SetupEffectsToEncourage, AI_SetupFirstTurn_End
|
|
||||||
score +2
|
|
||||||
AI_SetupFirstTurn_End:
|
|
||||||
end
|
end
|
||||||
|
|
||||||
.align 1
|
|
||||||
AI_SetupFirstTurn_SetupEffectsToEncourage:
|
|
||||||
.2byte EFFECT_ATTACK_UP
|
|
||||||
.2byte EFFECT_DEFENSE_UP
|
|
||||||
.2byte EFFECT_SPEED_UP
|
|
||||||
.2byte EFFECT_SPECIAL_ATTACK_UP
|
|
||||||
.2byte EFFECT_SPECIAL_DEFENSE_UP
|
|
||||||
.2byte EFFECT_ACCURACY_UP
|
|
||||||
.2byte EFFECT_EVASION_UP
|
|
||||||
.2byte EFFECT_ATTACK_DOWN
|
|
||||||
.2byte EFFECT_DEFENSE_DOWN
|
|
||||||
.2byte EFFECT_SPEED_DOWN
|
|
||||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN
|
|
||||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN
|
|
||||||
.2byte EFFECT_ACCURACY_DOWN
|
|
||||||
.2byte EFFECT_EVASION_DOWN
|
|
||||||
.2byte EFFECT_CONVERSION
|
|
||||||
.2byte EFFECT_LIGHT_SCREEN
|
|
||||||
.2byte EFFECT_SPECIAL_DEFENSE_UP_2
|
|
||||||
.2byte EFFECT_FOCUS_ENERGY
|
|
||||||
.2byte EFFECT_CONFUSE
|
|
||||||
.2byte EFFECT_ATTACK_UP_2
|
|
||||||
.2byte EFFECT_DEFENSE_UP_2
|
|
||||||
.2byte EFFECT_SPEED_UP_2
|
|
||||||
.2byte EFFECT_SPECIAL_ATTACK_UP_2
|
|
||||||
.2byte EFFECT_SPECIAL_DEFENSE_UP_2
|
|
||||||
.2byte EFFECT_ACCURACY_UP_2
|
|
||||||
.2byte EFFECT_EVASION_UP_2
|
|
||||||
.2byte EFFECT_ATTACK_DOWN_2
|
|
||||||
.2byte EFFECT_DEFENSE_DOWN_2
|
|
||||||
.2byte EFFECT_SPEED_DOWN_2
|
|
||||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
|
||||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
|
||||||
.2byte EFFECT_ACCURACY_DOWN_2
|
|
||||||
.2byte EFFECT_EVASION_DOWN_2
|
|
||||||
.2byte EFFECT_REFLECT
|
|
||||||
.2byte EFFECT_POISON
|
|
||||||
.2byte EFFECT_PARALYZE
|
|
||||||
.2byte EFFECT_SUBSTITUTE
|
|
||||||
.2byte EFFECT_LEECH_SEED
|
|
||||||
.2byte EFFECT_MINIMIZE
|
|
||||||
.2byte EFFECT_CURSE
|
|
||||||
.2byte EFFECT_SWAGGER
|
|
||||||
.2byte EFFECT_CAMOUFLAGE
|
|
||||||
.2byte EFFECT_YAWN
|
|
||||||
.2byte EFFECT_DEFENSE_CURL
|
|
||||||
.2byte EFFECT_TORMENT
|
|
||||||
.2byte EFFECT_FLATTER
|
|
||||||
.2byte EFFECT_WILL_O_WISP
|
|
||||||
.2byte EFFECT_INGRAIN
|
|
||||||
.2byte EFFECT_IMPRISON
|
|
||||||
.2byte EFFECT_TEETER_DANCE
|
|
||||||
.2byte EFFECT_TICKLE
|
|
||||||
.2byte EFFECT_COSMIC_POWER
|
|
||||||
.2byte EFFECT_BULK_UP
|
|
||||||
.2byte EFFECT_CALM_MIND
|
|
||||||
.2byte EFFECT_ACUPRESSURE
|
|
||||||
.2byte EFFECT_AUTOTOMIZE
|
|
||||||
.2byte EFFECT_SHIFT_GEAR
|
|
||||||
.2byte EFFECT_SHELL_SMASH
|
|
||||||
.2byte EFFECT_GROWTH
|
|
||||||
.2byte EFFECT_QUIVER_DANCE
|
|
||||||
.2byte EFFECT_ATTACK_SPATK_UP
|
|
||||||
.2byte EFFECT_ATTACK_ACCURACY_UP
|
|
||||||
.2byte EFFECT_PSYCHIC_TERRAIN
|
|
||||||
.2byte EFFECT_GRASSY_TERRAIN
|
|
||||||
.2byte EFFECT_ELECTRIC_TERRAIN
|
|
||||||
.2byte EFFECT_MISTY_TERRAIN
|
|
||||||
.2byte EFFECT_STEALTH_ROCK
|
|
||||||
.2byte EFFECT_TOXIC_SPIKES
|
|
||||||
.2byte EFFECT_TRICK_ROOM
|
|
||||||
.2byte EFFECT_WONDER_ROOM
|
|
||||||
.2byte EFFECT_MAGIC_ROOM
|
|
||||||
.2byte EFFECT_TAILWIND
|
|
||||||
.2byte EFFECT_DRAGON_DANCE
|
|
||||||
.2byte EFFECT_STICKY_WEB
|
|
||||||
.2byte EFFECT_RAIN_DANCE
|
|
||||||
.2byte EFFECT_SUNNY_DAY
|
|
||||||
.2byte EFFECT_SANDSTORM
|
|
||||||
.2byte EFFECT_HAIL
|
|
||||||
.2byte EFFECT_GEOMANCY
|
|
||||||
.2byte -1
|
|
||||||
|
|
||||||
AI_PreferStrongestMove:
|
AI_PreferStrongestMove:
|
||||||
if_target_is_ally AI_Ret
|
if_target_is_ally AI_Ret
|
||||||
get_how_powerful_move_is
|
get_how_powerful_move_is
|
||||||
|
@ -5912,8 +5912,99 @@ static s16 AI_CheckGoodMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
|
|||||||
return score;
|
return score;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Effects that are encouraged on the first turn of battle
|
||||||
static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
|
static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
|
||||||
{
|
{
|
||||||
|
if (IsTargetingPartner(battlerAtk, battlerDef)
|
||||||
|
|| gBattleResults.battleTurnCounter != 0)
|
||||||
|
return score;
|
||||||
|
switch (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect)
|
||||||
|
{
|
||||||
|
case EFFECT_ATTACK_UP:
|
||||||
|
case EFFECT_DEFENSE_UP:
|
||||||
|
case EFFECT_SPEED_UP:
|
||||||
|
case EFFECT_SPECIAL_ATTACK_UP:
|
||||||
|
case EFFECT_SPECIAL_DEFENSE_UP:
|
||||||
|
case EFFECT_ACCURACY_UP:
|
||||||
|
case EFFECT_EVASION_UP:
|
||||||
|
case EFFECT_ATTACK_DOWN:
|
||||||
|
case EFFECT_DEFENSE_DOWN:
|
||||||
|
case EFFECT_SPEED_DOWN:
|
||||||
|
case EFFECT_SPECIAL_ATTACK_DOWN:
|
||||||
|
case EFFECT_SPECIAL_DEFENSE_DOWN:
|
||||||
|
case EFFECT_ACCURACY_DOWN:
|
||||||
|
case EFFECT_EVASION_DOWN:
|
||||||
|
case EFFECT_CONVERSION:
|
||||||
|
case EFFECT_LIGHT_SCREEN:
|
||||||
|
case EFFECT_FOCUS_ENERGY:
|
||||||
|
case EFFECT_CONFUSE:
|
||||||
|
case EFFECT_ATTACK_UP_2:
|
||||||
|
case EFFECT_DEFENSE_UP_2:
|
||||||
|
case EFFECT_SPEED_UP_2:
|
||||||
|
case EFFECT_SPECIAL_ATTACK_UP_2:
|
||||||
|
case EFFECT_SPECIAL_DEFENSE_UP_2:
|
||||||
|
case EFFECT_ACCURACY_UP_2:
|
||||||
|
case EFFECT_EVASION_UP_2:
|
||||||
|
case EFFECT_ATTACK_DOWN_2:
|
||||||
|
case EFFECT_DEFENSE_DOWN_2:
|
||||||
|
case EFFECT_SPEED_DOWN_2:
|
||||||
|
case EFFECT_SPECIAL_ATTACK_DOWN_2:
|
||||||
|
case EFFECT_SPECIAL_DEFENSE_DOWN_2:
|
||||||
|
case EFFECT_ACCURACY_DOWN_2:
|
||||||
|
case EFFECT_EVASION_DOWN_2:
|
||||||
|
case EFFECT_REFLECT:
|
||||||
|
case EFFECT_POISON:
|
||||||
|
case EFFECT_PARALYZE:
|
||||||
|
case EFFECT_SUBSTITUTE:
|
||||||
|
case EFFECT_LEECH_SEED:
|
||||||
|
case EFFECT_MINIMIZE:
|
||||||
|
case EFFECT_CURSE:
|
||||||
|
case EFFECT_SWAGGER:
|
||||||
|
case EFFECT_CAMOUFLAGE:
|
||||||
|
case EFFECT_YAWN:
|
||||||
|
case EFFECT_DEFENSE_CURL:
|
||||||
|
case EFFECT_TORMENT:
|
||||||
|
case EFFECT_FLATTER:
|
||||||
|
case EFFECT_WILL_O_WISP:
|
||||||
|
case EFFECT_INGRAIN:
|
||||||
|
case EFFECT_IMPRISON:
|
||||||
|
case EFFECT_TEETER_DANCE:
|
||||||
|
case EFFECT_TICKLE:
|
||||||
|
case EFFECT_COSMIC_POWER:
|
||||||
|
case EFFECT_BULK_UP:
|
||||||
|
case EFFECT_CALM_MIND:
|
||||||
|
case EFFECT_ACUPRESSURE:
|
||||||
|
case EFFECT_AUTOTOMIZE:
|
||||||
|
case EFFECT_SHIFT_GEAR:
|
||||||
|
case EFFECT_SHELL_SMASH:
|
||||||
|
case EFFECT_GROWTH:
|
||||||
|
case EFFECT_QUIVER_DANCE:
|
||||||
|
case EFFECT_ATTACK_SPATK_UP:
|
||||||
|
case EFFECT_ATTACK_ACCURACY_UP:
|
||||||
|
case EFFECT_PSYCHIC_TERRAIN:
|
||||||
|
case EFFECT_GRASSY_TERRAIN:
|
||||||
|
case EFFECT_ELECTRIC_TERRAIN:
|
||||||
|
case EFFECT_MISTY_TERRAIN:
|
||||||
|
case EFFECT_STEALTH_ROCK:
|
||||||
|
case EFFECT_TOXIC_SPIKES:
|
||||||
|
case EFFECT_TRICK_ROOM:
|
||||||
|
case EFFECT_WONDER_ROOM:
|
||||||
|
case EFFECT_MAGIC_ROOM:
|
||||||
|
case EFFECT_TAILWIND:
|
||||||
|
case EFFECT_DRAGON_DANCE:
|
||||||
|
case EFFECT_STICKY_WEB:
|
||||||
|
case EFFECT_RAIN_DANCE:
|
||||||
|
case EFFECT_SUNNY_DAY:
|
||||||
|
case EFFECT_SANDSTORM:
|
||||||
|
case EFFECT_HAIL:
|
||||||
|
case EFFECT_GEOMANCY:
|
||||||
|
score += 2;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return score;
|
||||||
}
|
}
|
||||||
|
|
||||||
static s16 AI_Risky(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
|
static s16 AI_Risky(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user