first turn ai script
This commit is contained in:
parent
31ec3e8479
commit
cd119ed6c3
2 changed files with 91 additions and 90 deletions
|
@ -3344,98 +3344,8 @@ AI_CV_DragonDance_End:
|
|||
|
||||
|
||||
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
|
||||
|
||||
.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:
|
||||
if_target_is_ally AI_Ret
|
||||
get_how_powerful_move_is
|
||||
|
|
|
@ -5912,8 +5912,99 @@ static s16 AI_CheckGoodMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 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)
|
||||
{
|
||||
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)
|
||||
|
|
Loading…
Reference in a new issue