pokeemerald/data/battle_ai_scripts.s

3397 lines
88 KiB
ArmAsm
Raw Normal View History

2018-02-08 00:35:13 +01:00
#include "constants/battle.h"
#include "constants/battle_ai.h"
#include "constants/abilities.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/battle_move_effects.h"
#include "constants/hold_effects.h"
2018-02-08 11:17:41 +01:00
#include "constants/pokemon.h"
2017-12-30 16:04:31 +01:00
.include "asm/macros/battle_ai_script.inc"
2016-09-03 19:20:06 +02:00
.section script_data, "aw", %progbits
.align 2
2017-09-05 09:41:48 +02:00
gBattleAI_ScriptsTable:: @ 82DBEF8
2017-12-30 16:04:31 +01:00
.4byte AI_CheckBadMove
.4byte AI_CheckViability
.4byte AI_TryToFaint
.4byte AI_SetupFirstTurn
.4byte AI_Risky
.4byte AI_PreferStrongestMove
.4byte AI_PreferBatonPass
.4byte AI_DoubleBattle
.4byte AI_HPAware
.4byte AI_Unknown
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Roaming
.4byte AI_Safari
.4byte AI_FirstBattle
AI_CheckBadMove:
if_target_is_ally AI_Ret
if_move MOVE_FISSURE, BattleAIScript_82DBF92
if_move MOVE_HORN_DRILL, BattleAIScript_82DBF92
get_how_powerful_move_is
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CheckBadMove_CheckSoundproof
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
BattleAIScript_82DBF92: @ 82DBF92
2017-12-30 16:04:31 +01:00
if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
get_ability AI_TARGET
2018-02-21 01:26:12 +01:00
if_equal ABILITY_VOLT_ABSORB, CheckIfVoltAbsorbCancelsElectric
if_equal ABILITY_WATER_ABSORB, CheckIfWaterAbsorbCancelsWater
if_equal ABILITY_FLASH_FIRE, CheckIfFlashFireCancelsFire
if_equal ABILITY_WONDER_GUARD, CheckIfWonderGuardCancelsMove
if_equal ABILITY_LEVITATE, CheckIfLevitateCancelsGroundMove
2017-12-30 16:04:31 +01:00
goto BattleAIScript_82DBFF7
2018-02-21 01:26:12 +01:00
CheckIfVoltAbsorbCancelsElectric: @ 82DBFBD
2017-12-30 16:04:31 +01:00
get_curr_move_type
if_equal_ TYPE_ELECTRIC, Score_Minus12
goto BattleAIScript_82DBFF7
2018-02-21 01:26:12 +01:00
CheckIfWaterAbsorbCancelsWater: @ 82DBFCA
2017-12-30 16:04:31 +01:00
get_curr_move_type
if_equal_ TYPE_WATER, Score_Minus12
goto BattleAIScript_82DBFF7
2018-02-21 01:26:12 +01:00
CheckIfFlashFireCancelsFire: @ 82DBFD7
2017-12-30 16:04:31 +01:00
get_curr_move_type
if_equal_ TYPE_FIRE, Score_Minus12
goto BattleAIScript_82DBFF7
2018-02-21 01:26:12 +01:00
CheckIfWonderGuardCancelsMove: @ 82DBFE4
2017-12-30 16:04:31 +01:00
if_type_effectiveness AI_EFFECTIVENESS_x2, BattleAIScript_82DBFF7
goto Score_Minus10
2018-02-21 01:26:12 +01:00
CheckIfLevitateCancelsGroundMove: @ 82DBFEF
2017-12-30 16:04:31 +01:00
get_curr_move_type
if_equal_ TYPE_GROUND, Score_Minus10
2018-02-21 01:26:12 +01:00
BattleAIScript_82DBFF7: @ 82DBFF7
2017-12-30 16:04:31 +01:00
get_how_powerful_move_is
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CheckBadMove_CheckSoundproof
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CheckBadMove_CheckSoundproof: @ 82DBFFE
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
2018-02-21 01:26:12 +01:00
if_not_equal ABILITY_SOUNDPROOF, AI_CheckBadMove_CheckEffect
2017-12-30 16:04:31 +01:00
if_move MOVE_GROWL, Score_Minus10
if_move MOVE_ROAR, Score_Minus10
if_move MOVE_SING, Score_Minus10
if_move MOVE_SUPERSONIC, Score_Minus10
if_move MOVE_SCREECH, Score_Minus10
if_move MOVE_SNORE, Score_Minus10
if_move MOVE_UPROAR, Score_Minus10
if_move MOVE_METAL_SOUND, Score_Minus10
if_move MOVE_GRASS_WHISTLE, Score_Minus10
2018-02-21 01:26:12 +01:00
AI_CheckBadMove_CheckEffect: @ 82DC045
if_effect EFFECT_SLEEP, AI_CBM_Sleep
if_effect EFFECT_EXPLOSION, AI_CBM_Explosion
if_effect EFFECT_DREAM_EATER, AI_CBM_DreamEater
if_effect EFFECT_ATTACK_UP, AI_CBM_AttackUp
if_effect EFFECT_DEFENSE_UP, AI_CBM_DefenseUp
if_effect EFFECT_SPEED_UP, AI_CBM_SpeedUp
if_effect EFFECT_SPECIAL_ATTACK_UP, AI_CBM_SpAtkUp
if_effect EFFECT_SPECIAL_DEFENSE_UP, AI_CBM_SpDefUp
if_effect EFFECT_ACCURACY_UP, AI_CBM_AccUp
if_effect EFFECT_EVASION_UP, AI_CBM_EvasionUp
if_effect EFFECT_ATTACK_DOWN, AI_CBM_AttackDown
if_effect EFFECT_DEFENSE_DOWN, AI_CBM_DefenseDown
if_effect EFFECT_SPEED_DOWN, AI_CBM_SpeedDown
if_effect EFFECT_SPECIAL_ATTACK_DOWN, AI_CBM_SpAtkDown
if_effect EFFECT_SPECIAL_DEFENSE_DOWN, AI_CBM_SpDefDown
if_effect EFFECT_ACCURACY_DOWN, AI_CBM_AccDown
if_effect EFFECT_EVASION_DOWN, AI_CBM_EvasionDown
if_effect EFFECT_HAZE, AI_CBM_Haze
if_effect EFFECT_BIDE, AI_CBM_HighRiskForDamage
if_effect EFFECT_ROAR, AI_CBM_Roar
if_effect EFFECT_TOXIC, AI_CBM_Toxic
if_effect EFFECT_LIGHT_SCREEN, AI_CBM_LightScreen
if_effect EFFECT_OHKO, AI_CBM_OneHitKO
if_effect EFFECT_RAZOR_WIND, AI_CBM_HighRiskForDamage
if_effect EFFECT_SUPER_FANG, AI_CBM_HighRiskForDamage
if_effect EFFECT_MIST, AI_CBM_Mist
if_effect EFFECT_FOCUS_ENERGY, AI_CBM_FocusEnergy
if_effect EFFECT_CONFUSE, AI_CBM_Confuse
if_effect EFFECT_ATTACK_UP_2, AI_CBM_AttackUp
if_effect EFFECT_DEFENSE_UP_2, AI_CBM_DefenseUp
if_effect EFFECT_SPEED_UP_2, AI_CBM_SpeedUp
if_effect EFFECT_SPECIAL_ATTACK_UP_2, AI_CBM_SpAtkUp
if_effect EFFECT_SPECIAL_DEFENSE_UP_2, AI_CBM_SpDefUp
if_effect EFFECT_ACCURACY_UP_2, AI_CBM_AccUp
if_effect EFFECT_EVASION_UP_2, AI_CBM_EvasionUp
if_effect EFFECT_ATTACK_DOWN_2, AI_CBM_AttackDown
if_effect EFFECT_DEFENSE_DOWN_2, AI_CBM_DefenseDown
if_effect EFFECT_SPEED_DOWN_2, AI_CBM_SpeedDown
if_effect EFFECT_SPECIAL_ATTACK_DOWN_2, AI_CBM_SpAtkDown
if_effect EFFECT_SPECIAL_DEFENSE_DOWN_2, AI_CBM_SpDefDown
if_effect EFFECT_ACCURACY_DOWN_2, AI_CBM_AccDown
if_effect EFFECT_EVASION_DOWN_2, AI_CBM_EvasionDown
if_effect EFFECT_REFLECT, AI_CBM_Reflect
if_effect EFFECT_POISON, AI_CBM_Toxic
if_effect EFFECT_PARALYZE, AI_CBM_Paralyze
if_effect EFFECT_SUBSTITUTE, AI_CBM_Substitute
if_effect EFFECT_RECHARGE, AI_CBM_HighRiskForDamage
if_effect EFFECT_LEECH_SEED, AI_CBM_LeechSeed
if_effect EFFECT_DISABLE, AI_CBM_Disable
if_effect EFFECT_LEVEL_DAMAGE, AI_CBM_HighRiskForDamage
if_effect EFFECT_PSYWAVE, AI_CBM_HighRiskForDamage
if_effect EFFECT_COUNTER, AI_CBM_HighRiskForDamage
if_effect EFFECT_ENCORE, AI_CBM_Encore
if_effect EFFECT_SNORE, AI_CBM_DamageDuringSleep
if_effect EFFECT_SLEEP_TALK, AI_CBM_DamageDuringSleep
if_effect EFFECT_FLAIL, AI_CBM_HighRiskForDamage
if_effect EFFECT_MEAN_LOOK, AI_CBM_CantEscape
if_effect EFFECT_NIGHTMARE, AI_CBM_Nightmare
if_effect EFFECT_MINIMIZE, AI_CBM_EvasionUp
if_effect EFFECT_CURSE, AI_CBM_Curse
if_effect EFFECT_SPIKES, AI_CBM_Spikes
if_effect EFFECT_FORESIGHT, AI_CBM_Foresight
if_effect EFFECT_PERISH_SONG, AI_CBM_PerishSong
if_effect EFFECT_SANDSTORM, AI_CBM_Sandstorm
if_effect EFFECT_SWAGGER, AI_CBM_Confuse
if_effect EFFECT_ATTRACT, AI_CBM_Attract
if_effect EFFECT_RETURN, AI_CBM_HighRiskForDamage
if_effect EFFECT_PRESENT, AI_CBM_HighRiskForDamage
if_effect EFFECT_FRUSTRATION, AI_CBM_HighRiskForDamage
if_effect EFFECT_SAFEGUARD, AI_CBM_Safeguard
if_effect EFFECT_MAGNITUDE, AI_CBM_Magnitude
if_effect EFFECT_BATON_PASS, AI_CBM_BatonPass
if_effect EFFECT_SONICBOOM, AI_CBM_HighRiskForDamage
if_effect EFFECT_RAIN_DANCE, AI_CBM_RainDance
if_effect EFFECT_SUNNY_DAY, AI_CBM_SunnyDay
if_effect EFFECT_BELLY_DRUM, AI_CBM_BellyDrum
if_effect EFFECT_PSYCH_UP, AI_CBM_Haze
if_effect EFFECT_MIRROR_COAT, AI_CBM_HighRiskForDamage
if_effect EFFECT_SKULL_BASH, AI_CBM_HighRiskForDamage
if_effect EFFECT_FUTURE_SIGHT, AI_CBM_FutureSight
2017-12-30 16:04:31 +01:00
if_effect EFFECT_TELEPORT, Score_Minus10
2018-02-21 01:26:12 +01:00
if_effect EFFECT_DEFENSE_CURL, AI_CBM_DefenseUp
if_effect EFFECT_FAKE_OUT, AI_CBM_FakeOut
if_effect EFFECT_STOCKPILE, AI_CBM_Stockpile
if_effect EFFECT_SPIT_UP, AI_CBM_SpitUpAndSwallow
if_effect EFFECT_SWALLOW, AI_CBM_SpitUpAndSwallow
if_effect EFFECT_HAIL, AI_CBM_Hail
if_effect EFFECT_TORMENT, AI_CBM_Torment
if_effect EFFECT_FLATTER, AI_CBM_Confuse
if_effect EFFECT_WILL_O_WISP, AI_CBM_WillOWisp
if_effect EFFECT_MEMENTO, AI_CBM_Memento
if_effect EFFECT_FOCUS_PUNCH, AI_CBM_HighRiskForDamage
if_effect EFFECT_HELPING_HAND, AI_CBM_HelpingHand
if_effect EFFECT_TRICK, AI_CBM_TrickAndKnockOff
if_effect EFFECT_INGRAIN, AI_CBM_Ingrain
if_effect EFFECT_SUPERPOWER, AI_CBM_HighRiskForDamage
if_effect EFFECT_RECYCLE, AI_CBM_Recycle
if_effect EFFECT_KNOCK_OFF, AI_CBM_TrickAndKnockOff
if_effect EFFECT_ENDEAVOR, AI_CBM_HighRiskForDamage
if_effect EFFECT_IMPRISON, AI_CBM_Imprison
if_effect EFFECT_REFRESH, AI_CBM_Refresh
if_effect EFFECT_LOW_KICK, AI_CBM_HighRiskForDamage
if_effect EFFECT_MUD_SPORT, AI_CBM_MudSport
if_effect EFFECT_TICKLE, AI_CBM_Tickle
if_effect EFFECT_COSMIC_POWER, AI_CBM_CosmicPower
if_effect EFFECT_BULK_UP, AI_CBM_BulkUp
if_effect EFFECT_WATER_SPORT, AI_CBM_WaterSport
if_effect EFFECT_CALM_MIND, AI_CBM_CalmMind
if_effect EFFECT_DRAGON_DANCE, AI_CBM_DragonDance
end
AI_CBM_Sleep: @ 82DC2D4
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
if_equal ABILITY_INSOMNIA, Score_Minus10
if_equal ABILITY_VITAL_SPIRIT, Score_Minus10
2018-01-16 22:12:38 +01:00
if_status AI_TARGET, STATUS1_ANY, Score_Minus10
2017-12-30 16:04:31 +01:00
if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Explosion: @ 82DC2F7
2017-12-30 16:04:31 +01:00
if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
get_ability AI_TARGET
if_equal ABILITY_DAMP, Score_Minus10
count_usable_party_mons AI_USER
2018-02-21 01:26:12 +01:00
if_not_equal 0, AI_CBM_Explosion_End
2017-12-30 16:04:31 +01:00
count_usable_party_mons AI_TARGET
if_not_equal 0, Score_Minus10
goto Score_Minus1
2018-02-21 01:26:12 +01:00
AI_CBM_Explosion_End: @ 82DC31A
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_Nightmare: @ 82DC31B
2017-12-30 16:04:31 +01:00
if_status2 AI_TARGET, STATUS2_NIGHTMARE, Score_Minus10
2018-01-16 22:12:38 +01:00
if_not_status AI_TARGET, STATUS1_SLEEP, Score_Minus8
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_DreamEater: @ 82DC330
2018-01-16 22:12:38 +01:00
if_not_status AI_TARGET, STATUS1_SLEEP, Score_Minus8
2017-12-30 16:04:31 +01:00
if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_BellyDrum: @ 82DC341
2017-12-30 16:04:31 +01:00
if_hp_less_than AI_USER, 51, Score_Minus10
2018-02-21 01:26:12 +01:00
AI_CBM_AttackUp: @ 82DC348
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_DefenseUp: @ 82DC351
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus10
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_SpeedUp: @ 82DC35A
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_SPEED, 12, Score_Minus10
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_SpAtkUp: @ 82DC363
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_SPATK, 12, Score_Minus10
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_SpDefUp: @ 82DC36C
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus10
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_AccUp: @ 82DC375
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_ACC, 12, Score_Minus10
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_EvasionUp: @ 82DC37E
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_EVASION, 12, Score_Minus10
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_AttackDown: @ 82DC387
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
if_equal ABILITY_HYPER_CUTTER, Score_Minus10
2018-02-21 01:26:12 +01:00
goto CheckIfAbilityBlocksStatChange
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CBM_DefenseDown: @ 82DC39C
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_TARGET, STAT_DEF, 0, Score_Minus10
2018-02-21 01:26:12 +01:00
goto CheckIfAbilityBlocksStatChange
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CBM_SpeedDown: @ 82DC3A9
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_TARGET, STAT_SPEED, 0, Score_Minus10
2017-12-30 16:04:31 +01:00
if_ability AI_TARGET, ABILITY_SPEED_BOOST, Score_Minus10
2018-02-21 01:26:12 +01:00
goto CheckIfAbilityBlocksStatChange
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CBM_SpAtkDown: @ 82DC3BF
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_TARGET, STAT_SPATK, 0, Score_Minus10
2018-02-21 01:26:12 +01:00
goto CheckIfAbilityBlocksStatChange
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CBM_SpDefDown: @ 82DC3CC
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_TARGET, STAT_SPDEF, 0, Score_Minus10
2018-02-21 01:26:12 +01:00
goto CheckIfAbilityBlocksStatChange
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CBM_AccDown: @ 82DC3D9
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_TARGET, STAT_ACC, 0, Score_Minus10
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
if_equal ABILITY_KEEN_EYE, Score_Minus10
2018-02-21 01:26:12 +01:00
goto CheckIfAbilityBlocksStatChange
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CBM_EvasionDown: @ 82DC3EE
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_TARGET, STAT_EVASION, 0, Score_Minus10
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
CheckIfAbilityBlocksStatChange: @ 82DC3F6
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
if_equal ABILITY_CLEAR_BODY, Score_Minus10
if_equal ABILITY_WHITE_SMOKE, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Haze: @ 82DC405
if_stat_level_less_than AI_USER, STAT_ATK, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_DEF, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_SPEED, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_SPATK, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_SPDEF, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_ACC, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_EVASION, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_ATK, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_DEF, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_SPEED, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_SPATK, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_ACC, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_EVASION, 6, AI_CBM_Haze_End
2017-12-30 16:04:31 +01:00
goto Score_Minus10
2018-02-21 01:26:12 +01:00
AI_CBM_Haze_End: @ 82DC47A
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_Roar: @ 82DC47B
2017-12-30 16:04:31 +01:00
count_usable_party_mons AI_TARGET
if_equal 0, Score_Minus10
get_ability AI_TARGET
if_equal ABILITY_SUCTION_CUPS, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Toxic: @ 82DC48C
2017-12-30 16:04:31 +01:00
get_target_type1
if_equal TYPE_STEEL, Score_Minus10
if_equal TYPE_POISON, Score_Minus10
get_target_type2
if_equal TYPE_STEEL, Score_Minus10
if_equal TYPE_POISON, Score_Minus10
get_ability AI_TARGET
if_equal ABILITY_IMMUNITY, Score_Minus10
2018-01-16 22:12:38 +01:00
if_status AI_TARGET, STATUS1_ANY, Score_Minus10
2017-12-30 16:04:31 +01:00
if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_LightScreen: @ 82DC4C5
2017-12-30 16:04:31 +01:00
if_side_affecting AI_USER, SIDE_STATUS_LIGHTSCREEN, Score_Minus8
end
2018-02-21 01:26:12 +01:00
AI_CBM_OneHitKO: @ 82DC4D0
2017-12-30 16:04:31 +01:00
if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
get_ability AI_TARGET
if_equal ABILITY_STURDY, Score_Minus10
if_level_cond 1, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Magnitude: @ 82DC4E5
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
if_equal ABILITY_LEVITATE, Score_Minus10
2018-02-21 01:26:12 +01:00
AI_CBM_HighRiskForDamage: @ 82DC4ED
2017-12-30 16:04:31 +01:00
if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
get_ability AI_TARGET
2018-02-21 01:26:12 +01:00
if_not_equal ABILITY_WONDER_GUARD, AI_CBM_HighRiskForDamage_End
if_type_effectiveness AI_EFFECTIVENESS_x2, AI_CBM_HighRiskForDamage_End
2017-12-30 16:04:31 +01:00
goto Score_Minus10
2018-02-21 01:26:12 +01:00
AI_CBM_HighRiskForDamage_End: @ 82DC506
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_Mist: @ 82DC507
2017-12-30 16:04:31 +01:00
if_side_affecting AI_USER, SIDE_STATUS_MIST, Score_Minus8
end
2018-02-21 01:26:12 +01:00
AI_CBM_FocusEnergy: @ 82DC512
2017-12-30 16:04:31 +01:00
if_status2 AI_USER, STATUS2_FOCUS_ENERGY, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Confuse: @ 82DC51D
2017-12-30 16:04:31 +01:00
if_status2 AI_TARGET, STATUS2_CONFUSION, Score_Minus5
get_ability AI_TARGET
if_equal ABILITY_OWN_TEMPO, Score_Minus10
if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Reflect: @ 82DC53A
2017-12-30 16:04:31 +01:00
if_side_affecting AI_USER, SIDE_STATUS_REFLECT, Score_Minus8
end
2018-02-21 01:26:12 +01:00
AI_CBM_Paralyze: @ 82DC545
2017-12-30 16:04:31 +01:00
if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
get_ability AI_TARGET
if_equal ABILITY_LIMBER, Score_Minus10
2018-01-16 22:12:38 +01:00
if_status AI_TARGET, STATUS1_ANY, Score_Minus10
2017-12-30 16:04:31 +01:00
if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Substitute: @ 82DC568
2017-12-30 16:04:31 +01:00
if_status2 AI_USER, STATUS2_SUBSTITUTE, Score_Minus8
if_hp_less_than AI_USER, 26, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_LeechSeed: @ 82DC57A
2017-12-30 16:04:31 +01:00
if_status3 AI_TARGET, STATUS3_LEECHSEED, Score_Minus10
get_target_type1
if_equal TYPE_GRASS, Score_Minus10
get_target_type2
if_equal TYPE_GRASS, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Disable: @ 82DC595
2017-12-30 16:04:31 +01:00
if_any_move_disabled AI_TARGET, Score_Minus8
end
2018-02-21 01:26:12 +01:00
AI_CBM_Encore: @ 82DC59D
2017-12-30 16:04:31 +01:00
if_any_move_encored AI_TARGET, Score_Minus8
end
2018-02-21 01:26:12 +01:00
AI_CBM_DamageDuringSleep: @ 82DC5A5
2018-01-16 22:12:38 +01:00
if_not_status AI_USER, STATUS1_SLEEP, Score_Minus8
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_CantEscape: @ 82DC5B0
2017-12-30 16:04:31 +01:00
if_status2 AI_TARGET, STATUS2_ESCAPE_PREVENTION, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Curse: @ 82DC5BB
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus8
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_Spikes: @ 82DC5CC
2017-12-30 16:04:31 +01:00
if_side_affecting AI_TARGET, SIDE_STATUS_SPIKES, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Foresight: @ 82DC5D7
2017-12-30 16:04:31 +01:00
if_status2 AI_TARGET, STATUS2_FORESIGHT, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_PerishSong: @ 82DC5E2
2017-12-30 16:04:31 +01:00
if_status3 AI_TARGET, STATUS3_PERISH_SONG, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Sandstorm: @ 82DC5ED
2017-12-30 16:04:31 +01:00
get_weather
if_equal AI_WEATHER_SANDSTORM, Score_Minus8
end
2018-02-21 01:26:12 +01:00
AI_CBM_Attract: @ 82DC5F5
2017-12-30 16:04:31 +01:00
if_status2 AI_TARGET, STATUS2_INFATUATION, Score_Minus10
get_ability AI_TARGET
if_equal ABILITY_OBLIVIOUS, Score_Minus10
get_gender AI_USER
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CBM_Attract_CheckIfTargetIsFemale
if_equal 254, AI_CBM_Attract_CheckIfTargetIsMale
2017-12-30 16:04:31 +01:00
goto Score_Minus10
2018-02-21 01:26:12 +01:00
AI_CBM_Attract_CheckIfTargetIsFemale: @ 82DC61A
2017-12-30 16:04:31 +01:00
get_gender AI_TARGET
2018-02-21 01:26:12 +01:00
if_equal 254, AI_CBM_Attract_End
2017-12-30 16:04:31 +01:00
goto Score_Minus10
2018-02-21 01:26:12 +01:00
AI_CBM_Attract_CheckIfTargetIsMale: @ 82DC627
2017-12-30 16:04:31 +01:00
get_gender AI_TARGET
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CBM_Attract_End
2017-12-30 16:04:31 +01:00
goto Score_Minus10
2018-02-21 01:26:12 +01:00
AI_CBM_Attract_End: @ 82DC634
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_Safeguard: @ 82DC635
2017-12-30 16:04:31 +01:00
if_side_affecting AI_USER, SIDE_STATUS_SAFEGUARD, Score_Minus8
end
2018-02-21 01:26:12 +01:00
AI_CBM_Memento: @ 82DC640
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_SPATK, 0, Score_Minus8
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CBM_BatonPass: @ 82DC650
2017-12-30 16:04:31 +01:00
count_usable_party_mons AI_USER
if_equal 0, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_RainDance: @ 82DC659
2017-12-30 16:04:31 +01:00
get_weather
if_equal AI_WEATHER_RAIN, Score_Minus8
end
2018-02-21 01:26:12 +01:00
AI_CBM_SunnyDay: @ 82DC661
2017-12-30 16:04:31 +01:00
get_weather
if_equal AI_WEATHER_SUN, Score_Minus8
end
2018-02-21 01:26:12 +01:00
AI_CBM_FutureSight: @ 82DC669
2017-12-30 16:04:31 +01:00
if_side_affecting AI_TARGET, SIDE_STATUS_FUTUREATTACK, Score_Minus12
if_side_affecting AI_USER, SIDE_STATUS_FUTUREATTACK, Score_Minus12
score +5
end
2018-02-21 01:26:12 +01:00
AI_CBM_FakeOut: @ 82DC680
2017-12-30 16:04:31 +01:00
is_first_turn_for AI_USER
if_equal 0, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Stockpile: @ 82DC689
2017-12-30 16:04:31 +01:00
get_stockpile_count AI_USER
if_equal 3, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_SpitUpAndSwallow: @ 82DC692
2017-12-30 16:04:31 +01:00
if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
get_stockpile_count AI_USER
if_equal 0, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Hail: @ 82DC6A1
2017-12-30 16:04:31 +01:00
get_weather
if_equal AI_WEATHER_HAIL, Score_Minus8
end
2018-02-21 01:26:12 +01:00
AI_CBM_Torment: @ 82DC6A9
2017-12-30 16:04:31 +01:00
if_status2 AI_TARGET, STATUS2_TORMENT, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_WillOWisp: @ 82DC6B4
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
if_equal ABILITY_WATER_VEIL, Score_Minus10
2018-01-16 22:12:38 +01:00
if_status AI_TARGET, STATUS1_ANY, Score_Minus10
2017-12-30 16:04:31 +01:00
if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
if_type_effectiveness AI_EFFECTIVENESS_x0_5, Score_Minus10
if_type_effectiveness AI_EFFECTIVENESS_x0_25, Score_Minus10
if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_HelpingHand: @ 82DC6E3
2017-12-30 16:04:31 +01:00
if_not_double_battle Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_TrickAndKnockOff: @ 82DC6EB
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
if_equal ABILITY_STICKY_HOLD, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Ingrain: @ 82DC6F4
2017-12-30 16:04:31 +01:00
if_status3 AI_USER, STATUS3_ROOTED, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Recycle: @ 82DC6FF
2017-12-30 16:04:31 +01:00
get_used_held_item AI_USER
if_equal 0, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Imprison: @ 82DC708
2017-12-30 16:04:31 +01:00
if_status3 AI_USER, STATUS3_IMPRISONED_OTHERS, Score_Minus10
end
2018-02-21 01:26:12 +01:00
AI_CBM_Refresh: @ 82DC713
2018-01-16 22:12:38 +01:00
if_not_status AI_USER, STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON, Score_Minus10
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_MudSport: @ 82DC71E
2018-07-14 16:41:14 +02:00
if_field_status STATUS_FIELD_MUDSPORT, Score_Minus10
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_Tickle: @ 82DC729
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_DEF, 0, Score_Minus8
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_CosmicPower: @ 82DC73A
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus8
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_BulkUp: @ 82DC74B
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus8
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_WaterSport: @ 82DC75C
2018-07-14 16:41:14 +02:00
if_field_status STATUS_FIELD_WATERSPORT, Score_Minus10
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_CalmMind: @ 82DC767
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_SPATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus8
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CBM_DragonDance: @ 82DC778
2018-02-08 11:17:41 +01:00
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPEED, 12, Score_Minus8
2017-12-30 16:04:31 +01:00
end
Score_Minus1:
score -1
end
Score_Minus2:
score -2
end
Score_Minus3:
score -3
end
Score_Minus5:
score -5
end
Score_Minus8:
score -8
end
Score_Minus10:
score -10
end
Score_Minus12:
score -12
end
Score_Minus30:
score -30
end
Score_Plus1:
score +1
end
Score_Plus2:
score +2
end
Score_Plus3:
score +3
end
Score_Plus5:
score +5
end
Score_Plus10:
score +10
end
AI_TryToFaint:
if_target_is_ally AI_Ret
2018-07-14 12:54:12 +02:00
if_effect EFFECT_HIT, AI_CV_Hit
2018-02-21 01:26:12 +01:00
if_effect EFFECT_SLEEP, AI_CV_Sleep
if_effect EFFECT_ABSORB, AI_CV_Absorb
if_effect EFFECT_EXPLOSION, AI_CV_SelfKO
if_effect EFFECT_DREAM_EATER, AI_CV_DreamEater
if_effect EFFECT_MIRROR_MOVE, AI_CV_MirrorMove
if_effect EFFECT_ATTACK_UP, AI_CV_AttackUp
if_effect EFFECT_DEFENSE_UP, AI_CV_DefenseUp
if_effect EFFECT_SPEED_UP, AI_CV_SpeedUp
if_effect EFFECT_SPECIAL_ATTACK_UP, AI_CV_SpAtkUp
if_effect EFFECT_SPECIAL_DEFENSE_UP, AI_CV_SpDefUp
if_effect EFFECT_ACCURACY_UP, AI_CV_AccuracyUp
if_effect EFFECT_EVASION_UP, AI_CV_EvasionUp
if_effect EFFECT_ALWAYS_HIT, AI_CV_AlwaysHit
if_effect EFFECT_ATTACK_DOWN, AI_CV_AttackDown
if_effect EFFECT_DEFENSE_DOWN, AI_CV_DefenseDown
if_effect EFFECT_SPEED_DOWN, AI_CV_SpeedDown
if_effect EFFECT_SPECIAL_ATTACK_DOWN, AI_CV_SpAtkDown
if_effect EFFECT_SPECIAL_DEFENSE_DOWN, AI_CV_SpDefDown
if_effect EFFECT_ACCURACY_DOWN, AI_CV_AccuracyDown
if_effect EFFECT_EVASION_DOWN, AI_CV_EvasionDown
if_effect EFFECT_HAZE, AI_CV_Haze
if_effect EFFECT_BIDE, AI_CV_Bide
if_effect EFFECT_ROAR, AI_CV_Roar
if_effect EFFECT_CONVERSION, AI_CV_Conversion
if_effect EFFECT_RESTORE_HP, AI_CV_Heal
if_effect EFFECT_TOXIC, AI_CV_Toxic
if_effect EFFECT_LIGHT_SCREEN, AI_CV_LightScreen
if_effect EFFECT_REST, AI_CV_Rest
if_effect EFFECT_OHKO, AI_CV_OneHitKO
if_effect EFFECT_RAZOR_WIND, AI_CV_ChargeUpMove
if_effect EFFECT_SUPER_FANG, AI_CV_SuperFang
if_effect EFFECT_TRAP, AI_CV_Trap
if_effect EFFECT_CONFUSE, AI_CV_Confuse
if_effect EFFECT_ATTACK_UP_2, AI_CV_AttackUp
if_effect EFFECT_DEFENSE_UP_2, AI_CV_DefenseUp
if_effect EFFECT_SPEED_UP_2, AI_CV_SpeedUp
if_effect EFFECT_SPECIAL_ATTACK_UP_2, AI_CV_SpAtkUp
if_effect EFFECT_SPECIAL_DEFENSE_UP_2, AI_CV_SpDefUp
if_effect EFFECT_ACCURACY_UP_2, AI_CV_AccuracyUp
if_effect EFFECT_EVASION_UP_2, AI_CV_EvasionUp
if_effect EFFECT_ATTACK_DOWN_2, AI_CV_AttackDown
if_effect EFFECT_DEFENSE_DOWN_2, AI_CV_DefenseDown
if_effect EFFECT_SPEED_DOWN_2, AI_CV_SpeedDown
if_effect EFFECT_SPECIAL_ATTACK_DOWN_2, AI_CV_SpAtkDown
if_effect EFFECT_SPECIAL_DEFENSE_DOWN_2, AI_CV_SpDefDown
if_effect EFFECT_ACCURACY_DOWN_2, AI_CV_AccuracyDown
if_effect EFFECT_EVASION_DOWN_2, AI_CV_EvasionDown
if_effect EFFECT_REFLECT, AI_CV_Reflect
if_effect EFFECT_POISON, AI_CV_Poison
if_effect EFFECT_PARALYZE, AI_CV_Paralyze
2017-12-30 16:04:31 +01:00
if_effect EFFECT_SWAGGER, BattleAIScript_82DD286
2018-02-21 01:26:12 +01:00
if_effect EFFECT_SPEED_DOWN_HIT, AI_CV_SpeedDownFromChance
if_effect EFFECT_SKY_ATTACK, AI_CV_ChargeUpMove
if_effect EFFECT_VITAL_THROW, AI_CV_VitalThrow
if_effect EFFECT_SUBSTITUTE, AI_CV_Substitute
if_effect EFFECT_RECHARGE, AI_CV_Recharge
if_effect EFFECT_LEECH_SEED, AI_CV_Toxic
if_effect EFFECT_DISABLE, AI_CV_Disable
if_effect EFFECT_COUNTER, AI_CV_Counter
if_effect EFFECT_ENCORE, AI_CV_Encore
if_effect EFFECT_PAIN_SPLIT, AI_CV_PainSplit
if_effect EFFECT_SNORE, AI_CV_Snore
if_effect EFFECT_LOCK_ON, AI_CV_LockOn
if_effect EFFECT_SLEEP_TALK, AI_CV_SleepTalk
if_effect EFFECT_DESTINY_BOND, AI_CV_DestinyBond
if_effect EFFECT_FLAIL, AI_CV_Flail
if_effect EFFECT_HEAL_BELL, AI_CV_HealBell
if_effect EFFECT_THIEF, AI_CV_Thief
if_effect EFFECT_MEAN_LOOK, AI_CV_Trap
if_effect EFFECT_MINIMIZE, AI_CV_EvasionUp
if_effect EFFECT_CURSE, AI_CV_Curse
if_effect EFFECT_PROTECT, AI_CV_Protect
if_effect EFFECT_FORESIGHT, AI_CV_Foresight
if_effect EFFECT_ENDURE, AI_CV_Endure
if_effect EFFECT_BATON_PASS, AI_CV_BatonPass
if_effect EFFECT_PURSUIT, AI_CV_Pursuit
if_effect EFFECT_MORNING_SUN, AI_CV_HealWeather
if_effect EFFECT_SYNTHESIS, AI_CV_HealWeather
if_effect EFFECT_MOONLIGHT, AI_CV_HealWeather
if_effect EFFECT_RAIN_DANCE, AI_CV_RainDance
if_effect EFFECT_SUNNY_DAY, AI_CV_SunnyDay
if_effect EFFECT_BELLY_DRUM, AI_CV_BellyDrum
if_effect EFFECT_PSYCH_UP, AI_CV_PsychUp
if_effect EFFECT_MIRROR_COAT, AI_CV_MirrorCoat
if_effect EFFECT_SKULL_BASH, AI_CV_ChargeUpMove
if_effect EFFECT_SOLARBEAM, AI_CV_ChargeUpMove
if_effect EFFECT_SEMI_INVULNERABLE, AI_CV_Fly
if_effect EFFECT_SOFTBOILED, AI_CV_Heal
if_effect EFFECT_FAKE_OUT, AI_CV_FakeOut
if_effect EFFECT_SPIT_UP, AI_CV_SpitUp
if_effect EFFECT_SWALLOW, AI_CV_Heal
if_effect EFFECT_HAIL, AI_CV_Hail
if_effect EFFECT_FLATTER, AI_CV_Flatter
if_effect EFFECT_MEMENTO, AI_CV_SelfKO
if_effect EFFECT_FACADE, AI_CV_Facade
if_effect EFFECT_FOCUS_PUNCH, AI_CV_FocusPunch
if_effect EFFECT_SMELLINGSALT, AI_CV_SmellingSalt
if_effect EFFECT_TRICK, AI_CV_Trick
if_effect EFFECT_ROLE_PLAY, AI_CV_ChangeSelfAbility
if_effect EFFECT_SUPERPOWER, AI_CV_Superpower
if_effect EFFECT_MAGIC_COAT, AI_CV_MagicCoat
if_effect EFFECT_RECYCLE, AI_CV_Recycle
if_effect EFFECT_REVENGE, AI_CV_Revenge
if_effect EFFECT_BRICK_BREAK, AI_CV_BrickBreak
if_effect EFFECT_KNOCK_OFF, AI_CV_KnockOff
if_effect EFFECT_ENDEAVOR, AI_CV_Endeavor
if_effect EFFECT_ERUPTION, AI_CV_Eruption
if_effect EFFECT_SKILL_SWAP, AI_CV_ChangeSelfAbility
if_effect EFFECT_IMPRISON, AI_CV_Imprison
if_effect EFFECT_REFRESH, AI_CV_Refresh
if_effect EFFECT_SNATCH, AI_CV_Snatch
if_effect EFFECT_MUD_SPORT, AI_CV_MudSport
if_effect EFFECT_OVERHEAT, AI_CV_Overheat
if_effect EFFECT_TICKLE, AI_CV_DefenseDown
if_effect EFFECT_COSMIC_POWER, AI_CV_SpDefUp
if_effect EFFECT_BULK_UP, AI_CV_DefenseUp
if_effect EFFECT_WATER_SPORT, AI_CV_WaterSport
if_effect EFFECT_CALM_MIND, AI_CV_SpDefUp
if_effect EFFECT_DRAGON_DANCE, AI_CV_DragonDance
end
2018-07-14 12:54:12 +02:00
AI_CV_Hit:
if_move_flag FLAG_HIGH_CRIT AI_CV_HighCrit
end
2018-02-21 01:26:12 +01:00
AI_CV_Sleep: @ 82DCA92
if_has_move_with_effect AI_TARGET, EFFECT_DREAM_EATER, AI_CV_SleepEncourageSlpDamage
if_has_move_with_effect AI_TARGET, EFFECT_NIGHTMARE, AI_CV_SleepEncourageSlpDamage
goto AI_CV_Sleep_End
AI_CV_SleepEncourageSlpDamage: @ 82DCAA5
if_random_less_than 128, AI_CV_Sleep_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Sleep_End: @ 82DCAAD
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Absorb: @ 82DCAAE
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_AbsorbEncourageMaybe
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_AbsorbEncourageMaybe
goto AI_CV_Absorb_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_AbsorbEncourageMaybe: @ 82DCABF
if_random_less_than 50, AI_CV_Absorb_End
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
AI_CV_Absorb_End: @ 82DCAC7
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SelfKO: @ 82DCAC8
if_stat_level_less_than AI_TARGET, STAT_EVASION, 7, AI_CV_SelfKO_Encourage1
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
if_stat_level_less_than AI_TARGET, STAT_EVASION, 10, AI_CV_SelfKO_Encourage1
if_random_less_than 128, AI_CV_SelfKO_Encourage1
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_SelfKO_Encourage1: @ 82DCAE2
if_hp_less_than AI_USER, 80, AI_CV_SelfKO_Encourage2
if_target_faster AI_CV_SelfKO_Encourage2
if_random_less_than 50, AI_CV_SelfKO_End
2017-12-30 16:04:31 +01:00
goto Score_Minus3
2018-02-21 01:26:12 +01:00
AI_CV_SelfKO_Encourage2: @ 82DCAFA
if_hp_more_than AI_USER, 50, AI_CV_SelfKO_Encourage4
if_random_less_than 128, AI_CV_SelfKO_Encourage3
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_SelfKO_Encourage3: @ 82DCB09
if_hp_more_than AI_USER, 30, AI_CV_SelfKO_End
if_random_less_than 50, AI_CV_SelfKO_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_SelfKO_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SelfKO_Encourage4: @ 82DCB1D
if_random_less_than 50, AI_CV_SelfKO_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_SelfKO_End: @ 82DCB25
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_DreamEater: @ 82DCB26
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_DreamEater_ScoreDown1
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_DreamEater_ScoreDown1
goto AI_CV_DreamEater_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_DreamEater_ScoreDown1: @ 82DCB37
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_DreamEater_End: @ 82DCB39
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_MirrorMove: @ 82DCB3A
if_target_faster AI_CV_MirrorMove2
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
2018-02-21 01:26:12 +01:00
if_not_in_hwords AI_CV_MirrorMove_EncouragedMovesToMirror, AI_CV_MirrorMove2
if_random_less_than 128, AI_CV_MirrorMove_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
goto AI_CV_MirrorMove_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_MirrorMove2: @ 82DCB58
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
2018-02-21 01:26:12 +01:00
if_in_hwords AI_CV_MirrorMove_EncouragedMovesToMirror, AI_CV_MirrorMove_End
if_random_less_than 80, AI_CV_MirrorMove_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_MirrorMove_End: @ 82DCB6B
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_MirrorMove_EncouragedMovesToMirror: @ 82DCB6C
2017-12-30 16:04:31 +01:00
.2byte MOVE_SLEEP_POWDER
.2byte MOVE_LOVELY_KISS
.2byte MOVE_SPORE
.2byte MOVE_HYPNOSIS
.2byte MOVE_SING
.2byte MOVE_GRASS_WHISTLE
.2byte MOVE_SHADOW_PUNCH
.2byte MOVE_SAND_ATTACK
.2byte MOVE_SMOKESCREEN
.2byte MOVE_TOXIC
.2byte MOVE_GUILLOTINE
.2byte MOVE_HORN_DRILL
.2byte MOVE_FISSURE
.2byte MOVE_SHEER_COLD
.2byte MOVE_CROSS_CHOP
.2byte MOVE_AEROBLAST
.2byte MOVE_CONFUSE_RAY
.2byte MOVE_SWEET_KISS
.2byte MOVE_SCREECH
.2byte MOVE_COTTON_SPORE
.2byte MOVE_SCARY_FACE
.2byte MOVE_FAKE_TEARS
.2byte MOVE_METAL_SOUND
.2byte MOVE_THUNDER_WAVE
.2byte MOVE_GLARE
.2byte MOVE_POISON_POWDER
.2byte MOVE_SHADOW_BALL
.2byte MOVE_DYNAMIC_PUNCH
.2byte MOVE_HYPER_BEAM
.2byte MOVE_EXTREME_SPEED
.2byte MOVE_THIEF
.2byte MOVE_COVET
.2byte MOVE_ATTRACT
.2byte MOVE_SWAGGER
.2byte MOVE_TORMENT
.2byte MOVE_FLATTER
.2byte MOVE_TRICK
.2byte MOVE_SUPERPOWER
.2byte MOVE_SKILL_SWAP
.2byte -1
2018-02-21 01:26:12 +01:00
AI_CV_AttackUp: @ 82DCBBC
if_stat_level_less_than AI_USER, STAT_ATK, 9, AI_CV_AttackUp2
if_random_less_than 100, AI_CV_AttackUp3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_AttackUp3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_AttackUp2: @ 82DCBD1
if_hp_not_equal AI_USER, 100, AI_CV_AttackUp3
if_random_less_than 128, AI_CV_AttackUp3
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_AttackUp3: @ 82DCBE0
if_hp_more_than AI_USER, 70, AI_CV_AttackUp_End
if_hp_less_than AI_USER, 40, AI_CV_AttackUp_ScoreDown2
if_random_less_than 40, AI_CV_AttackUp_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_AttackUp_ScoreDown2: @ 82DCBF4
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_AttackUp_End: @ 82DCBF6
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_DefenseUp: @ 82DCBF7
if_stat_level_less_than AI_USER, STAT_DEF, 9, AI_CV_DefenseUp2
if_random_less_than 100, AI_CV_DefenseUp3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_DefenseUp3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_DefenseUp2: @ 82DCC0C
if_hp_not_equal AI_USER, 100, AI_CV_DefenseUp3
if_random_less_than 128, AI_CV_DefenseUp3
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_DefenseUp3: @ 82DCC1B
if_hp_less_than AI_USER, 70, AI_CV_DefenseUp4
if_random_less_than 200, AI_CV_DefenseUp_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_DefenseUp4: @ 82DCC28
if_hp_less_than AI_USER, 40, AI_CV_DefenseUp_ScoreDown2
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_power_from_result
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CV_DefenseUp5
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_type_from_result
2018-02-21 01:26:12 +01:00
if_not_in_bytes AI_CV_DefenseUp_PhysicalTypes, AI_CV_DefenseUp_ScoreDown2
if_random_less_than 60, AI_CV_DefenseUp_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_DefenseUp5: @ 82DCC4A
if_random_less_than 60, AI_CV_DefenseUp_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_DefenseUp_ScoreDown2: @ 82DCC50
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_DefenseUp_End: @ 82DCC52
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_DefenseUp_PhysicalTypes: @ 82DCC53
2017-12-30 16:04:31 +01:00
.byte TYPE_NORMAL
.byte TYPE_FIGHTING
.byte TYPE_POISON
.byte TYPE_GROUND
.byte TYPE_FLYING
.byte TYPE_ROCK
.byte TYPE_BUG
.byte TYPE_GHOST
.byte TYPE_STEEL
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_SpeedUp: @ 82DCC5D
if_target_faster AI_CV_SpeedUp2
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
goto AI_CV_SpeedUp_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SpeedUp2: @ 82DCC6A
if_random_less_than 70, AI_CV_SpeedUp_End
2017-12-30 16:04:31 +01:00
score +3
2018-02-21 01:26:12 +01:00
AI_CV_SpeedUp_End: @ 82DCC72
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkUp: @ 82DCC73
if_stat_level_less_than AI_USER, STAT_SPATK, 9, AI_CV_SpAtkUp2
if_random_less_than 100, AI_CV_SpAtkUp3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_SpAtkUp3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkUp2: @ 82DCC88
if_hp_not_equal AI_USER, 100, AI_CV_SpAtkUp3
if_random_less_than 128, AI_CV_SpAtkUp3
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkUp3: @ 82DCC97
if_hp_more_than AI_USER, 70, AI_CV_SpAtkUp_End
if_hp_less_than AI_USER, 40, AI_CV_SpAtkUp_ScoreDown2
if_random_less_than 70, AI_CV_SpAtkUp_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkUp_ScoreDown2: @ 82DCCAB
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkUp_End: @ 82DCCAD
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SpDefUp: @ 82DCCAE
if_stat_level_less_than AI_USER, STAT_SPDEF, 9, AI_CV_SpDefUp2
if_random_less_than 100, AI_CV_SpDefUp3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_SpDefUp3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SpDefUp2: @ 82DCCC3
if_hp_not_equal AI_USER, 100, AI_CV_SpDefUp3
if_random_less_than 128, AI_CV_SpDefUp3
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_SpDefUp3: @ 82DCCD2
if_hp_less_than AI_USER, 70, AI_CV_SpDefUp4
if_random_less_than 200, AI_CV_SpDefUp_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SpDefUp4: @ 82DCCDF
if_hp_less_than AI_USER, 40, AI_CV_SpDefUp_ScoreDown2
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_power_from_result
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CV_SpDefUp5
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_type_from_result
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_SpDefUp_PhysicalTypes, AI_CV_SpDefUp_ScoreDown2
if_random_less_than 60, AI_CV_SpDefUp_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SpDefUp5: @ 82DCD01
if_random_less_than 60, AI_CV_SpDefUp_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SpDefUp_ScoreDown2: @ 82DCD07
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_SpDefUp_End: @ 82DCD09
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SpDefUp_PhysicalTypes: @ 82DCD0A
2017-12-30 16:04:31 +01:00
.byte TYPE_NORMAL
.byte TYPE_FIGHTING
.byte TYPE_POISON
.byte TYPE_GROUND
.byte TYPE_FLYING
.byte TYPE_ROCK
.byte TYPE_BUG
.byte TYPE_GHOST
.byte TYPE_STEEL
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyUp:
if_stat_level_less_than AI_USER, STAT_ACC, 9, AI_CV_AccuracyUp2
if_random_less_than 50, AI_CV_AccuracyUp2
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyUp2:
if_hp_more_than AI_USER, 70, AI_CV_AccuracyUp_End
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyUp_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_EvasionUp:
if_hp_less_than AI_USER, 90, AI_CV_EvasionUp2
if_random_less_than 100, AI_CV_EvasionUp2
2017-12-30 16:04:31 +01:00
score +3
2018-02-21 01:26:12 +01:00
AI_CV_EvasionUp2:
if_stat_level_less_than AI_USER, STAT_EVASION, 9, AI_CV_EvasionUp3
if_random_less_than 128, AI_CV_EvasionUp3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_EvasionUp3:
if_not_status AI_TARGET, STATUS1_TOXIC_POISON, AI_CV_EvasionUp5
if_hp_more_than AI_USER, 50, AI_CV_EvasionUp4
if_random_less_than 80, AI_CV_EvasionUp5
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_EvasionUp4:
if_random_less_than 50, AI_CV_EvasionUp5
2017-12-30 16:04:31 +01:00
score +3
2018-02-21 01:26:12 +01:00
AI_CV_EvasionUp5:
if_not_status3 AI_TARGET, STATUS3_LEECHSEED, AI_CV_EvasionUp6
if_random_less_than 70, AI_CV_EvasionUp6
2017-12-30 16:04:31 +01:00
score +3
2018-02-21 01:26:12 +01:00
AI_CV_EvasionUp6:
if_not_status3 AI_USER, STATUS3_ROOTED, AI_CV_EvasionUp7
if_random_less_than 128, AI_CV_EvasionUp7
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_EvasionUp7:
if_not_status2 AI_TARGET, STATUS2_CURSED, AI_CV_EvasionUp8
if_random_less_than 70, AI_CV_EvasionUp8
2017-12-30 16:04:31 +01:00
score +3
2018-02-21 01:26:12 +01:00
AI_CV_EvasionUp8:
if_hp_more_than AI_USER, 70, AI_CV_EvasionUp_End
if_stat_level_equal AI_USER, STAT_EVASION, 6, AI_CV_EvasionUp_End
if_hp_less_than AI_USER, 40, AI_CV_EvasionUp_ScoreDown2
if_hp_less_than AI_TARGET, 40, AI_CV_EvasionUp_ScoreDown2
if_random_less_than 70, AI_CV_EvasionUp_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_EvasionUp_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_EvasionUp_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_AlwaysHit:
if_stat_level_more_than AI_TARGET, STAT_EVASION, 10, AI_CV_AlwaysHit_ScoreUp1
if_stat_level_less_than AI_USER, STAT_ACC, 2, AI_CV_AlwaysHit_ScoreUp1
if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, AI_CV_AlwaysHit2
if_stat_level_less_than AI_USER, STAT_ACC, 4, AI_CV_AlwaysHit2
goto AI_CV_AlwaysHit_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_AlwaysHit_ScoreUp1:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_AlwaysHit2:
if_random_less_than 100, AI_CV_AlwaysHit_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_AlwaysHit_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_AttackDown: @ 82DCDF8
if_stat_level_equal AI_TARGET, STAT_ATK, 6, AI_CV_AttackDown3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
if_hp_more_than AI_USER, 90, AI_CV_AttackDown2
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_AttackDown2: @ 82DCE0B
if_stat_level_more_than AI_TARGET, STAT_ATK, 3, AI_CV_AttackDown3
if_random_less_than 50, AI_CV_AttackDown3
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_AttackDown3: @ 82DCE1B
if_hp_more_than AI_TARGET, 70, AI_CV_AttackDown4
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_AttackDown4: @ 82DCE24
2017-12-30 16:04:31 +01:00
get_target_type1
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_AttackDown_UnknownTypeList, AI_CV_AttackDown_End
2017-12-30 16:04:31 +01:00
get_target_type2
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_AttackDown_UnknownTypeList, AI_CV_AttackDown_End
if_random_less_than 50, AI_CV_AttackDown_End
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_AttackDown_End: @ 82DCE42
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_AttackDown_UnknownTypeList:
2017-12-30 16:04:31 +01:00
.byte TYPE_NORMAL
.byte TYPE_FIGHTING
.byte TYPE_GROUND
.byte TYPE_ROCK
.byte TYPE_BUG
.byte TYPE_STEEL
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_DefenseDown:
if_hp_less_than AI_USER, 70, AI_CV_DefenseDown2
if_stat_level_more_than AI_TARGET, STAT_DEF, 3, AI_CV_DefenseDown3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_DefenseDown2:
if_random_less_than 50, AI_CV_DefenseDown3
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_DefenseDown3:
if_hp_more_than AI_TARGET, 70, AI_CV_DefenseDown_End
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_DefenseDown_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SpeedDownFromChance: @ 82DCE6B
if_move MOVE_ICY_WIND, AI_CV_SpeedDown
if_move MOVE_ROCK_TOMB, AI_CV_SpeedDown
if_move MOVE_MUD_SHOT, AI_CV_SpeedDown
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SpeedDown: @ 82DCE81
if_target_faster AI_CV_SpeedDown2
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
goto AI_CV_SpeedDown_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SpeedDown2: @ 82DCE8E
if_random_less_than 70, AI_CV_SpeedDown_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_SpeedDown_End: @ 82DCE96
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkDown:
if_stat_level_equal AI_TARGET, STAT_ATK, 6, AI_CV_SpAtkDown3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
if_hp_more_than AI_USER, 90, AI_CV_SpAtkDown2
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkDown2:
if_stat_level_more_than AI_TARGET, STAT_SPATK, 3, AI_CV_SpAtkDown3
if_random_less_than 50, AI_CV_SpAtkDown3
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkDown3:
if_hp_more_than AI_TARGET, 70, AI_CV_SpAtkDown4
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkDown4:
2017-12-30 16:04:31 +01:00
get_target_type1
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_SpAtkDown_SpecialTypeList, AI_CV_SpAtkDown_End
2017-12-30 16:04:31 +01:00
get_target_type2
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_SpAtkDown_SpecialTypeList, AI_CV_SpAtkDown_End
if_random_less_than 50, AI_CV_SpAtkDown_End
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkDown_End: @ 82DCEE1
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SpAtkDown_SpecialTypeList: @ 82DCEE2
2017-12-30 16:04:31 +01:00
.byte TYPE_FIRE
.byte TYPE_WATER
.byte TYPE_GRASS
.byte TYPE_ELECTRIC
.byte TYPE_PSYCHIC
.byte TYPE_ICE
.byte TYPE_DRAGON
.byte TYPE_DARK
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_SpDefDown: @ 82DCEEB
if_hp_less_than AI_USER, 70, AI_CV_SpDefDown2
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 3, AI_CV_SpDefDown3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SpDefDown2: @ 82DCEFA
if_random_less_than 50, AI_CV_SpDefDown3
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_SpDefDown3: @ 82DCF02
if_hp_more_than AI_TARGET, 70, AI_CV_SpDefDown_End
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_SpDefDown_End: @ 82DCF0B
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyDown: @ 82DCF0C
if_hp_less_than AI_USER, 70, AI_CV_AccuracyDown2
if_hp_more_than AI_TARGET, 70, AI_CV_AccuracyDown3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyDown2:
if_random_less_than 100, AI_CV_AccuracyDown3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyDown3:
if_stat_level_more_than AI_USER, STAT_ACC, 4, AI_CV_AccuracyDown4
if_random_less_than 80, AI_CV_AccuracyDown4
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyDown4:
if_not_status AI_TARGET, STATUS1_TOXIC_POISON, AI_CV_AccuracyDown5
if_random_less_than 70, AI_CV_AccuracyDown5
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyDown5:
if_not_status3 AI_TARGET, STATUS3_LEECHSEED, AI_CV_AccuracyDown6
if_random_less_than 70, AI_CV_AccuracyDown6
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyDown6:
if_not_status3 AI_USER, STATUS3_ROOTED, AI_CV_AccuracyDown7
if_random_less_than 128, AI_CV_AccuracyDown7
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyDown7:
if_not_status2 AI_TARGET, STATUS2_CURSED, AI_CV_AccuracyDown8
if_random_less_than 70, AI_CV_AccuracyDown8
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyDown8:
if_hp_more_than AI_USER, 70, AI_CV_AccuracyDown_End
if_stat_level_equal AI_TARGET, STAT_ACC, 6, AI_CV_AccuracyDown_End
if_hp_less_than AI_USER, 40, AI_CV_AccuracyDown_ScoreDown2
if_hp_less_than AI_TARGET, 40, AI_CV_AccuracyDown_ScoreDown2
if_random_less_than 70, AI_CV_AccuracyDown_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyDown_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_AccuracyDown_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_EvasionDown:
if_hp_less_than AI_USER, 70, AI_CV_EvasionDown2
if_stat_level_more_than AI_TARGET, STAT_EVASION, 3, AI_CV_EvasionDown3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_EvasionDown2:
if_random_less_than 50, AI_CV_EvasionDown3
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_EvasionDown3:
if_hp_more_than AI_TARGET, 70, AI_CV_EvasionDown_End
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_EvasionDown_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Haze:
if_stat_level_more_than AI_USER, STAT_ATK, 8, AI_CV_Haze2
if_stat_level_more_than AI_USER, STAT_DEF, 8, AI_CV_Haze2
if_stat_level_more_than AI_USER, STAT_SPATK, 8, AI_CV_Haze2
if_stat_level_more_than AI_USER, STAT_SPDEF, 8, AI_CV_Haze2
if_stat_level_more_than AI_USER, STAT_EVASION, 8, AI_CV_Haze2
if_stat_level_less_than AI_TARGET, STAT_ATK, 4, AI_CV_Haze2
if_stat_level_less_than AI_TARGET, STAT_DEF, 4, AI_CV_Haze2
if_stat_level_less_than AI_TARGET, STAT_SPATK, 4, AI_CV_Haze2
if_stat_level_less_than AI_TARGET, STAT_SPDEF, 4, AI_CV_Haze2
if_stat_level_less_than AI_TARGET, STAT_ACC, 4, AI_CV_Haze2
goto AI_CV_Haze3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Haze2:
if_random_less_than 50, AI_CV_Haze3
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
AI_CV_Haze3:
if_stat_level_more_than AI_TARGET, STAT_ATK, 8, AI_CV_Haze4
if_stat_level_more_than AI_TARGET, STAT_DEF, 8, AI_CV_Haze4
if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, AI_CV_Haze4
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, AI_CV_Haze4
if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, AI_CV_Haze4
if_stat_level_less_than AI_USER, STAT_ATK, 4, AI_CV_Haze4
if_stat_level_less_than AI_USER, STAT_DEF, 4, AI_CV_Haze4
if_stat_level_less_than AI_USER, STAT_SPATK, 4, AI_CV_Haze4
if_stat_level_less_than AI_USER, STAT_SPDEF, 4, AI_CV_Haze4
if_stat_level_less_than AI_USER, STAT_ACC, 4, AI_CV_Haze4
if_random_less_than 50, AI_CV_Haze_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_Haze_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Haze4:
if_random_less_than 50, AI_CV_Haze_End
2017-12-30 16:04:31 +01:00
score +3
2018-02-21 01:26:12 +01:00
AI_CV_Haze_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Bide:
if_hp_more_than AI_USER, 90, AI_CV_Bide_End
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_Bide_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Roar:
if_stat_level_more_than AI_TARGET, STAT_ATK, 8, AI_CV_Roar2
if_stat_level_more_than AI_TARGET, STAT_DEF, 8, AI_CV_Roar2
if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, AI_CV_Roar2
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, AI_CV_Roar2
if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, AI_CV_Roar2
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
goto AI_CV_Roar_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Roar2:
if_random_less_than 128, AI_CV_Roar_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_Roar_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Conversion:
if_hp_more_than AI_USER, 90, AI_CV_Conversion2
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_Conversion2:
2017-12-30 16:04:31 +01:00
get_turn_count
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CV_Conversion_End
2017-12-30 16:04:31 +01:00
if_random_less_than 200, Score_Minus2
2018-02-21 01:26:12 +01:00
AI_CV_Conversion_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_HealWeather:
2017-12-30 16:04:31 +01:00
get_weather
2018-02-21 01:26:12 +01:00
if_equal AI_WEATHER_HAIL, AI_CV_HealWeather_ScoreDown2
if_equal AI_WEATHER_RAIN, AI_CV_HealWeather_ScoreDown2
if_equal AI_WEATHER_SANDSTORM, AI_CV_HealWeather_ScoreDown2
goto AI_CV_Heal
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_HealWeather_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_Heal:
if_hp_equal AI_USER, 100, AI_CV_Heal3
if_target_faster AI_CV_Heal4
2017-12-30 16:04:31 +01:00
score -8
2018-02-21 01:26:12 +01:00
goto AI_CV_Heal_End
2017-12-30 16:04:31 +01:00
AI_CV_Heal2:
2018-02-21 01:26:12 +01:00
if_hp_less_than AI_USER, 50, AI_CV_Heal5
if_hp_more_than AI_USER, 80, AI_CV_Heal3
if_random_less_than 70, AI_CV_Heal5
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Heal3:
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
goto AI_CV_Heal_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Heal4:
if_hp_less_than AI_USER, 70, AI_CV_Heal5
if_random_less_than 30, AI_CV_Heal5
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
goto AI_CV_Heal_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Heal5:
if_doesnt_have_move_with_effect AI_TARGET, EFFECT_SNATCH, AI_CV_Heal6
if_random_less_than 100, AI_CV_Heal_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Heal6:
if_random_less_than 20, AI_CV_Heal_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_Heal_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Toxic:
if_user_has_no_attacking_moves AI_CV_Toxic3
if_hp_more_than AI_USER, 50, AI_CV_Toxic2
if_random_less_than 50, AI_CV_Toxic2
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
AI_CV_Toxic2:
if_hp_more_than AI_TARGET, 50, AI_CV_Toxic3
if_random_less_than 50, AI_CV_Toxic3
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
AI_CV_Toxic3:
if_has_move_with_effect AI_USER, EFFECT_SPECIAL_DEFENSE_UP, AI_CV_Toxic4
if_has_move_with_effect AI_USER, EFFECT_PROTECT, AI_CV_Toxic4
goto AI_CV_Toxic_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Toxic4:
if_random_less_than 60, AI_CV_Toxic_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_Toxic_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_LightScreen:
if_hp_less_than AI_USER, 50, AI_CV_LightScreen_ScoreDown2
2017-12-30 16:04:31 +01:00
get_target_type1
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_LightScreen_SpecialTypeList, AI_CV_LightScreen_End
2017-12-30 16:04:31 +01:00
get_target_type2
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_LightScreen_SpecialTypeList, AI_CV_LightScreen_End
if_random_less_than 50, AI_CV_LightScreen_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_LightScreen_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_LightScreen_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_LightScreen_SpecialTypeList:
2017-12-30 16:04:31 +01:00
.byte TYPE_FIRE
.byte TYPE_WATER
.byte TYPE_GRASS
.byte TYPE_ELECTRIC
.byte TYPE_PSYCHIC
.byte TYPE_ICE
.byte TYPE_DRAGON
.byte TYPE_DARK
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_Rest:
if_target_faster AI_CV_Rest4
if_hp_not_equal AI_USER, 100, AI_CV_Rest2
2017-12-30 16:04:31 +01:00
score -8
2018-02-21 01:26:12 +01:00
goto AI_CV_Rest_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Rest2:
if_hp_less_than AI_USER, 40, AI_CV_Rest6
if_hp_more_than AI_USER, 50, AI_CV_Rest3
if_random_less_than 70, AI_CV_Rest6
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Rest3:
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
goto AI_CV_Rest_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Rest4:
if_hp_less_than AI_USER, 60, AI_CV_Rest6
if_hp_more_than AI_USER, 70, AI_CV_Rest5
if_random_less_than 50, AI_CV_Rest6
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Rest5:
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
goto AI_CV_Rest_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Rest6:
if_doesnt_have_move_with_effect AI_TARGET, EFFECT_SNATCH, AI_CV_Rest7
if_random_less_than 50, AI_CV_Rest_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Rest7:
if_random_less_than 10, AI_CV_Rest_End
2017-12-30 16:04:31 +01:00
score +3
2018-02-21 01:26:12 +01:00
AI_CV_Rest_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_OneHitKO:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SuperFang:
if_hp_more_than AI_TARGET, 50, AI_CV_SuperFang_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_SuperFang_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Trap:
if_status AI_TARGET, STATUS1_TOXIC_POISON, AI_CV_Trap2
if_status2 AI_TARGET, STATUS2_CURSED, AI_CV_Trap2
if_status3 AI_TARGET, STATUS3_PERISH_SONG, AI_CV_Trap2
if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_Trap2
goto AI_CV_Trap_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Trap2:
if_random_less_than 128, AI_CV_Trap_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Trap_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_HighCrit:
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_HighCrit_End
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_HighCrit_End
if_type_effectiveness AI_EFFECTIVENESS_x2, AI_CV_HighCrit2
if_type_effectiveness AI_EFFECTIVENESS_x4, AI_CV_HighCrit2
if_random_less_than 128, AI_CV_HighCrit_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_HighCrit2:
if_random_less_than 128, AI_CV_HighCrit_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_HighCrit_End:
2017-12-30 16:04:31 +01:00
end
BattleAIScript_82DD286:
if_has_move AI_USER, MOVE_PSYCH_UP, BattleAIScript_82DD2B8
2018-02-21 01:26:12 +01:00
AI_CV_Flatter:
if_random_less_than 128, AI_CV_Confuse
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Confuse:
if_hp_more_than AI_TARGET, 70, AI_CV_Confuse_End
if_random_less_than 128, AI_CV_Confuse2
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Confuse2:
if_hp_more_than AI_TARGET, 50, AI_CV_Confuse_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
if_hp_more_than AI_TARGET, 30, AI_CV_Confuse_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Confuse_End:
2017-12-30 16:04:31 +01:00
end
BattleAIScript_82DD2B8:
2018-02-08 11:17:41 +01:00
if_stat_level_more_than AI_TARGET, STAT_ATK, 3, BattleAIScript_82DD2D0
2017-12-30 16:04:31 +01:00
score +3
get_turn_count
if_not_equal 0, BattleAIScript_82DD2D2
score +2
goto BattleAIScript_82DD2D2
BattleAIScript_82DD2D0:
score -5
BattleAIScript_82DD2D2:
end
2018-02-21 01:26:12 +01:00
AI_CV_Reflect:
if_hp_less_than AI_USER, 50, AI_CV_Reflect_ScoreDown2
2017-12-30 16:04:31 +01:00
get_target_type1
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_Reflect_PhysicalTypeList, AI_CV_Reflect_End
2017-12-30 16:04:31 +01:00
get_target_type2
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_Reflect_PhysicalTypeList, AI_CV_Reflect_End
if_random_less_than 50, AI_CV_Reflect_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Reflect_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_Reflect_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Reflect_PhysicalTypeList:
2017-12-30 16:04:31 +01:00
.byte TYPE_NORMAL
.byte TYPE_FIGHTING
.byte TYPE_FLYING
.byte TYPE_POISON
.byte TYPE_GROUND
.byte TYPE_ROCK
.byte TYPE_BUG
.byte TYPE_GHOST
.byte TYPE_STEEL
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_Poison:
if_hp_less_than AI_USER, 50, AI_CV_Poison_ScoreDown1
if_hp_more_than AI_TARGET, 50, AI_CV_Poison_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Poison_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Poison_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Paralyze:
if_target_faster AI_CV_Paralyze2
if_hp_more_than AI_USER, 70, AI_CV_Paralyze_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_Paralyze_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Paralyze2:
if_random_less_than 20, AI_CV_Paralyze_End
2017-12-30 16:04:31 +01:00
score +3
2018-02-21 01:26:12 +01:00
AI_CV_Paralyze_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_VitalThrow:
if_target_faster AI_CV_VitalThrow_End
if_hp_more_than AI_USER, 60, AI_CV_VitalThrow_End
if_hp_less_than AI_USER, 40, AI_CV_VitalThrow2
if_random_less_than 180, AI_CV_VitalThrow_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_VitalThrow2:
if_random_less_than 50, AI_CV_VitalThrow_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_VitalThrow_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Substitute:
if_hp_more_than AI_USER, 90, AI_CV_Substitute4
if_hp_more_than AI_USER, 70, AI_CV_Substitute3
if_hp_more_than AI_USER, 50, AI_CV_Substitute2
if_random_less_than 100, AI_CV_Substitute2
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Substitute2:
if_random_less_than 100, AI_CV_Substitute3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Substitute3:
if_random_less_than 100, AI_CV_Substitute4
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Substitute4:
if_target_faster AI_CV_Substitute_End
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_effect_from_result
2018-02-21 01:26:12 +01:00
if_equal EFFECT_SLEEP, AI_CV_Substitute5
if_equal EFFECT_TOXIC, AI_CV_Substitute5
if_equal EFFECT_POISON, AI_CV_Substitute5
if_equal EFFECT_PARALYZE, AI_CV_Substitute5
if_equal EFFECT_WILL_O_WISP, AI_CV_Substitute5
if_equal EFFECT_CONFUSE, AI_CV_Substitute6
if_equal EFFECT_LEECH_SEED, AI_CV_Substitute7
goto AI_CV_Substitute_End
AI_CV_Substitute5:
if_not_status AI_TARGET, STATUS1_ANY, AI_CV_Substitute8
goto AI_CV_Substitute_End
AI_CV_Substitute6:
if_not_status2 AI_TARGET, STATUS2_CONFUSION, AI_CV_Substitute8
goto AI_CV_Substitute_End
AI_CV_Substitute7:
if_status3 AI_TARGET, STATUS3_LEECHSEED, AI_CV_Substitute_End
AI_CV_Substitute8:
if_random_less_than 100, AI_CV_Substitute_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Substitute_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Recharge:
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Recharge_ScoreDown1
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_Recharge_ScoreDown1
if_target_faster AI_CV_Recharge2
if_hp_more_than AI_USER, 40, AI_CV_Recharge_ScoreDown1
goto AI_CV_Recharge_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Recharge2:
if_hp_less_than AI_USER, 60, AI_CV_Recharge_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Recharge_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Recharge_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Disable:
if_target_faster AI_CV_Disable_End
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_power_from_result
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CV_Disable2
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_Disable_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Disable2:
if_random_less_than 100, AI_CV_Disable_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Disable_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Counter:
if_status AI_TARGET, STATUS1_SLEEP, AI_CV_Counter_ScoreDown1
if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_Counter_ScoreDown1
if_status2 AI_TARGET, STATUS2_CONFUSION, AI_CV_Counter_ScoreDown1
if_hp_more_than AI_USER, 30, AI_CV_Counter2
if_random_less_than 10, AI_CV_Counter2
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Counter2:
if_hp_more_than AI_USER, 50, AI_CV_Counter3
if_random_less_than 100, AI_CV_Counter3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Counter3:
2017-12-30 16:04:31 +01:00
if_has_move AI_USER, MOVE_MIRROR_COAT, BattleAIScript_82DD4CD
get_last_used_bank_move AI_TARGET
get_move_power_from_result
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CV_Counter5
if_target_not_taunted AI_CV_Counter4
if_random_less_than 100, AI_CV_Counter4
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Counter4:
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_type_from_result
2018-02-21 01:26:12 +01:00
if_not_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_ScoreDown1
if_random_less_than 100, AI_CV_Counter_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_Counter_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Counter5:
if_target_not_taunted AI_CV_Counter6
if_random_less_than 100, AI_CV_Counter6
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Counter6:
2017-12-30 16:04:31 +01:00
get_target_type1
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_End
2017-12-30 16:04:31 +01:00
get_target_type2
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_End
if_random_less_than 50, AI_CV_Counter_End
2017-12-30 16:04:31 +01:00
BattleAIScript_82DD4CD:
if_random_less_than 100, BattleAIScript_82DD4D5
score +4
BattleAIScript_82DD4D5:
end
2018-02-21 01:26:12 +01:00
AI_CV_Counter_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Counter_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Counter_PhysicalTypeList:
2017-12-30 16:04:31 +01:00
.byte TYPE_NORMAL
.byte TYPE_FIGHTING
.byte TYPE_FLYING
.byte TYPE_POISON
.byte TYPE_GROUND
.byte TYPE_ROCK
.byte TYPE_BUG
.byte TYPE_GHOST
.byte TYPE_STEEL
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_Encore:
if_any_move_disabled AI_TARGET, AI_CV_Encore2
if_target_faster AI_CV_Encore_ScoreDown2
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_effect_from_result
2018-02-21 01:26:12 +01:00
if_not_in_bytes AI_CV_Encore_EncouragedMovesToEncore, AI_CV_Encore_ScoreDown2
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Encore2:
if_random_less_than 30, AI_CV_Encore_End
2017-12-30 16:04:31 +01:00
score +3
2018-02-21 01:26:12 +01:00
goto AI_CV_Encore_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Encore_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_Encore_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Encore_EncouragedMovesToEncore:
2017-12-30 16:04:31 +01:00
.byte EFFECT_DREAM_EATER
.byte EFFECT_ATTACK_UP
.byte EFFECT_DEFENSE_UP
.byte EFFECT_SPEED_UP
.byte EFFECT_SPECIAL_ATTACK_UP
.byte EFFECT_HAZE
.byte EFFECT_ROAR
.byte EFFECT_CONVERSION
.byte EFFECT_TOXIC
.byte EFFECT_LIGHT_SCREEN
.byte EFFECT_REST
.byte EFFECT_SUPER_FANG
.byte EFFECT_SPECIAL_DEFENSE_UP_2
.byte EFFECT_CONFUSE
.byte EFFECT_POISON
.byte EFFECT_PARALYZE
.byte EFFECT_LEECH_SEED
.byte EFFECT_SPLASH
.byte EFFECT_ATTACK_UP_2
.byte EFFECT_ENCORE
.byte EFFECT_CONVERSION_2
.byte EFFECT_LOCK_ON
.byte EFFECT_HEAL_BELL
.byte EFFECT_MEAN_LOOK
.byte EFFECT_NIGHTMARE
.byte EFFECT_PROTECT
.byte EFFECT_SKILL_SWAP
.byte EFFECT_FORESIGHT
.byte EFFECT_PERISH_SONG
.byte EFFECT_SANDSTORM
.byte EFFECT_ENDURE
.byte EFFECT_SWAGGER
.byte EFFECT_ATTRACT
.byte EFFECT_SAFEGUARD
.byte EFFECT_RAIN_DANCE
.byte EFFECT_SUNNY_DAY
.byte EFFECT_BELLY_DRUM
.byte EFFECT_PSYCH_UP
.byte EFFECT_FUTURE_SIGHT
.byte EFFECT_FAKE_OUT
.byte EFFECT_STOCKPILE
.byte EFFECT_SPIT_UP
.byte EFFECT_SWALLOW
.byte EFFECT_HAIL
.byte EFFECT_TORMENT
.byte EFFECT_WILL_O_WISP
.byte EFFECT_FOLLOW_ME
.byte EFFECT_CHARGE
.byte EFFECT_TRICK
.byte EFFECT_ROLE_PLAY
.byte EFFECT_INGRAIN
.byte EFFECT_RECYCLE
.byte EFFECT_KNOCK_OFF
.byte EFFECT_SKILL_SWAP
.byte EFFECT_IMPRISON
.byte EFFECT_REFRESH
.byte EFFECT_GRUDGE
.byte EFFECT_TEETER_DANCE
.byte EFFECT_MUD_SPORT
.byte EFFECT_WATER_SPORT
.byte EFFECT_DRAGON_DANCE
.byte EFFECT_CAMOUFLAGE
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_PainSplit:
if_hp_less_than AI_TARGET, 80, AI_CV_PainSplit_ScoreDown1
if_target_faster AI_CV_PainSplit2
if_hp_more_than AI_USER, 40, AI_CV_PainSplit_ScoreDown1
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_PainSplit_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_PainSplit2:
if_hp_more_than AI_USER, 60, AI_CV_PainSplit_ScoreDown1
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_PainSplit_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_PainSplit_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_PainSplit_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Snore:
2017-12-30 16:04:31 +01:00
score +2
end
2018-02-21 01:26:12 +01:00
AI_CV_LockOn:
if_random_less_than 128, AI_CV_LockOn_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_LockOn_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SleepTalk:
2018-01-16 22:12:38 +01:00
if_status AI_USER, STATUS1_SLEEP, Score_Plus10
2017-12-30 16:04:31 +01:00
score -5
end
2018-02-21 01:26:12 +01:00
AI_CV_DestinyBond:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
if_target_faster AI_CV_DestinyBond_End
if_hp_more_than AI_USER, 70, AI_CV_DestinyBond_End
if_random_less_than 128, AI_CV_DestinyBond2
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_DestinyBond2:
if_hp_more_than AI_USER, 50, AI_CV_DestinyBond_End
if_random_less_than 128, AI_CV_DestinyBond3
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_DestinyBond3:
if_hp_more_than AI_USER, 30, AI_CV_DestinyBond_End
if_random_less_than 100, AI_CV_DestinyBond_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_DestinyBond_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Flail:
if_target_faster AI_CV_Flail2
if_hp_more_than AI_USER, 33, AI_CV_Flail_ScoreDown1
if_hp_more_than AI_USER, 20, AI_CV_Flail_End
if_hp_less_than AI_USER, 8, AI_CV_Flail_ScoreUp1
goto AI_CV_Flail3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Flail2:
if_hp_more_than AI_USER, 60, AI_CV_Flail_ScoreDown1
if_hp_more_than AI_USER, 40, AI_CV_Flail_End
goto AI_CV_Flail3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Flail_ScoreUp1:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Flail3:
if_random_less_than 100, AI_CV_Flail_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_Flail_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Flail_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Flail_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_HealBell:
if_status AI_TARGET, STATUS1_ANY, AI_CV_HealBell_End
if_status_in_party AI_TARGET, STATUS1_ANY, AI_CV_HealBell_End
2017-12-30 16:04:31 +01:00
score -5
2018-02-21 01:26:12 +01:00
AI_CV_HealBell_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Thief:
2017-12-30 16:04:31 +01:00
get_hold_effect AI_TARGET
2018-02-21 01:26:12 +01:00
if_not_in_bytes AI_CV_Thief_EncourageItemsToSteal, AI_CV_Thief_ScoreDown2
if_random_less_than 50, AI_CV_Thief_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_Thief_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Thief_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_Thief_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Thief_EncourageItemsToSteal:
2017-12-30 16:04:31 +01:00
.byte HOLD_EFFECT_CURE_SLP
.byte HOLD_EFFECT_CURE_STATUS
.byte HOLD_EFFECT_RESTORE_HP
.byte HOLD_EFFECT_EVASION_UP
.byte HOLD_EFFECT_LEFTOVERS
.byte HOLD_EFFECT_LIGHT_BALL
.byte HOLD_EFFECT_THICK_CLUB
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_Curse:
2017-12-30 16:04:31 +01:00
get_user_type1
2018-02-21 01:26:12 +01:00
if_equal TYPE_GHOST, AI_CV_Curse4
2017-12-30 16:04:31 +01:00
get_user_type2
2018-02-21 01:26:12 +01:00
if_equal TYPE_GHOST, AI_CV_Curse4
if_stat_level_more_than AI_USER, STAT_DEF, 9, AI_CV_Curse_End
if_random_less_than 128, AI_CV_Curse2
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Curse2:
if_stat_level_more_than AI_USER, STAT_DEF, 7, AI_CV_Curse_End
if_random_less_than 128, AI_CV_Curse3
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Curse3:
if_stat_level_more_than AI_USER, STAT_DEF, 6, AI_CV_Curse_End
if_random_less_than 128, AI_CV_Curse_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_Curse_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Curse4:
if_hp_more_than AI_USER, 80, AI_CV_Curse_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Curse_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Protect:
2017-12-30 16:04:31 +01:00
get_protect_count AI_USER
2018-02-21 01:26:12 +01:00
if_more_than 1, AI_CV_Protect_ScoreDown2
if_status AI_USER, STATUS1_TOXIC_POISON, AI_CV_Protect3
if_status2 AI_USER, STATUS2_CURSED, AI_CV_Protect3
if_status3 AI_USER, STATUS3_PERISH_SONG, AI_CV_Protect3
if_status2 AI_USER, STATUS2_INFATUATION, AI_CV_Protect3
if_status3 AI_USER, STATUS3_LEECHSEED, AI_CV_Protect3
if_status3 AI_USER, STATUS3_YAWN, AI_CV_Protect3
if_has_move_with_effect AI_TARGET, EFFECT_RESTORE_HP, AI_CV_Protect3
if_has_move_with_effect AI_TARGET, EFFECT_DEFENSE_CURL, AI_CV_Protect3
if_status AI_TARGET, STATUS1_TOXIC_POISON, AI_CV_Protect_ScoreUp2
if_status2 AI_TARGET, STATUS2_CURSED, AI_CV_Protect_ScoreUp2
if_status3 AI_TARGET, STATUS3_PERISH_SONG, AI_CV_Protect_ScoreUp2
if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_Protect_ScoreUp2
if_status3 AI_TARGET, STATUS3_LEECHSEED, AI_CV_Protect_ScoreUp2
if_status3 AI_TARGET, STATUS3_YAWN, AI_CV_Protect_ScoreUp2
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_effect_from_result
2018-02-21 01:26:12 +01:00
if_not_equal EFFECT_LOCK_ON, AI_CV_Protect_ScoreUp2
goto AI_CV_Protect2
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Protect_ScoreUp2:
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_Protect2:
if_random_less_than 128, AI_CV_Protect4
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Protect4:
2017-12-30 16:04:31 +01:00
get_protect_count AI_USER
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CV_Protect_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
if_random_less_than 128, AI_CV_Protect_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_Protect_End
2018-03-13 12:55:18 +01:00
AI_CV_Protect3:
get_last_used_bank_move AI_TARGET
get_move_effect_from_result
if_not_equal EFFECT_LOCK_ON, AI_CV_Protect_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Protect_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_Protect_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Foresight:
2017-12-30 16:04:31 +01:00
get_user_type1
2018-02-21 01:26:12 +01:00
if_equal TYPE_GHOST, AI_CV_Foresight2
2017-12-30 16:04:31 +01:00
get_user_type2
2018-02-21 01:26:12 +01:00
if_equal TYPE_GHOST, AI_CV_Foresight2
if_stat_level_more_than AI_USER, STAT_EVASION, 8, AI_CV_Foresight3
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
goto AI_CV_Foresight_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Foresight2:
if_random_less_than 80, AI_CV_Foresight_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Foresight3:
if_random_less_than 80, AI_CV_Foresight_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_Foresight_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Endure:
if_hp_less_than AI_USER, 4, AI_CV_Endure2
if_hp_less_than AI_USER, 35, AI_CV_Endure3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Endure2:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_Endure_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Endure3:
if_random_less_than 70, AI_CV_Endure_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Endure_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_BatonPass:
if_stat_level_more_than AI_USER, STAT_ATK, 8, AI_CV_BatonPass2
if_stat_level_more_than AI_USER, STAT_DEF, 8, AI_CV_BatonPass2
if_stat_level_more_than AI_USER, STAT_SPATK, 8, AI_CV_BatonPass2
if_stat_level_more_than AI_USER, STAT_SPDEF, 8, AI_CV_BatonPass2
if_stat_level_more_than AI_USER, STAT_EVASION, 8, AI_CV_BatonPass2
goto AI_CV_BatonPass5
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_BatonPass2:
if_target_faster AI_CV_BatonPass3
if_hp_more_than AI_USER, 60, AI_CV_BatonPass_End
goto AI_CV_BatonPass4
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_BatonPass3:
if_hp_more_than AI_USER, 70, AI_CV_BatonPass_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_BatonPass4:
if_random_less_than 80, AI_CV_BatonPass_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
goto AI_CV_BatonPass_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_BatonPass5:
if_stat_level_more_than AI_USER, STAT_ATK, 7, AI_CV_BatonPass7
if_stat_level_more_than AI_USER, STAT_DEF, 7, AI_CV_BatonPass7
if_stat_level_more_than AI_USER, STAT_SPATK, 7, AI_CV_BatonPass7
if_stat_level_more_than AI_USER, STAT_SPDEF, 7, AI_CV_BatonPass7
if_stat_level_more_than AI_USER, STAT_EVASION, 7, AI_CV_BatonPass7
goto AI_CV_BatonPass_ScoreDown2
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_BatonPass7:
if_target_faster AI_CV_BatonPass8
if_hp_more_than AI_USER, 60, AI_CV_BatonPass_ScoreDown2
goto AI_CV_BatonPass_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_BatonPass8:
if_hp_less_than AI_USER, 70, AI_CV_BatonPass_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_BatonPass_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_BatonPass_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Pursuit:
2017-12-30 16:04:31 +01:00
is_first_turn_for AI_USER
2018-02-21 01:26:12 +01:00
if_not_equal 0, AI_CV_Pursuit_End
2017-12-30 16:04:31 +01:00
get_target_type1
2018-02-21 01:26:12 +01:00
if_equal TYPE_GHOST, AI_CV_Pursuit2
2017-12-30 16:04:31 +01:00
get_target_type1
2018-02-21 01:26:12 +01:00
if_equal TYPE_PSYCHIC, AI_CV_Pursuit2
2017-12-30 16:04:31 +01:00
get_target_type2
2018-02-21 01:26:12 +01:00
if_equal TYPE_GHOST, AI_CV_Pursuit2
2017-12-30 16:04:31 +01:00
get_target_type2
2018-02-21 01:26:12 +01:00
if_equal TYPE_PSYCHIC, AI_CV_Pursuit2
goto AI_CV_Pursuit_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Pursuit2:
if_random_less_than 128, AI_CV_Pursuit_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Pursuit_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_RainDance:
if_user_faster AI_CV_RainDance2
2017-12-30 16:04:31 +01:00
get_ability AI_USER
2018-02-21 01:26:12 +01:00
if_equal ABILITY_SWIFT_SWIM, AI_CV_RainDance3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_RainDance2:
if_hp_less_than AI_USER, 40, AI_CV_RainDance_ScoreDown1
2017-12-30 16:04:31 +01:00
get_weather
2018-02-21 01:26:12 +01:00
if_equal AI_WEATHER_HAIL, AI_CV_RainDance3
if_equal AI_WEATHER_SUN, AI_CV_RainDance3
if_equal AI_WEATHER_SANDSTORM, AI_CV_RainDance3
2017-12-30 16:04:31 +01:00
get_ability AI_USER
2018-02-21 01:26:12 +01:00
if_equal ABILITY_RAIN_DISH, AI_CV_RainDance3
goto AI_CV_RainDance_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_RainDance3:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_RainDance_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_RainDance_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_RainDance_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SunnyDay:
if_hp_less_than AI_USER, 40, AI_CV_SunnyDay_ScoreDown1
2017-12-30 16:04:31 +01:00
get_weather
2018-02-21 01:26:12 +01:00
if_equal AI_WEATHER_HAIL, AI_CV_SunnyDay2
if_equal AI_WEATHER_RAIN, AI_CV_SunnyDay2
if_equal AI_WEATHER_SANDSTORM, AI_CV_SunnyDay2
goto AI_CV_SunnyDay_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SunnyDay2:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_SunnyDay_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SunnyDay_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_SunnyDay_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_BellyDrum:
if_hp_less_than AI_USER, 90, AI_CV_BellyDrum_ScoreDown2
goto AI_CV_BellyDrum_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_BellyDrum_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_BellyDrum_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_PsychUp:
if_stat_level_more_than AI_TARGET, STAT_ATK, 8, AI_CV_PsychUp2
if_stat_level_more_than AI_TARGET, STAT_DEF, 8, AI_CV_PsychUp2
if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, AI_CV_PsychUp2
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, AI_CV_PsychUp2
if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, AI_CV_PsychUp2
goto AI_CV_PsychUp_ScoreDown2
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_PsychUp2:
if_stat_level_less_than AI_USER, STAT_ATK, 7, AI_CV_PsychUp3
if_stat_level_less_than AI_USER, STAT_DEF, 7, AI_CV_PsychUp3
if_stat_level_less_than AI_USER, STAT_SPATK, 7, AI_CV_PsychUp3
if_stat_level_less_than AI_USER, STAT_SPDEF, 7, AI_CV_PsychUp3
if_stat_level_less_than AI_USER, STAT_EVASION, 7, AI_CV_PsychUp_ScoreUp1
if_random_less_than 50, AI_CV_PsychUp_End
goto AI_CV_PsychUp_ScoreDown2
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_PsychUp_ScoreUp1:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_PsychUp3:
2017-12-30 16:04:31 +01:00
score +1
end
2018-02-21 01:26:12 +01:00
AI_CV_PsychUp_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_PsychUp_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat:
if_status AI_TARGET, STATUS1_SLEEP, AI_CV_MirrorCoat_ScoreDown1
if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_MirrorCoat_ScoreDown1
if_status2 AI_TARGET, STATUS2_CONFUSION, AI_CV_MirrorCoat_ScoreDown1
if_hp_more_than AI_USER, 30, AI_CV_MirrorCoat2
if_random_less_than 10, AI_CV_MirrorCoat2
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat2:
if_hp_more_than AI_USER, 50, AI_CV_MirrorCoat3
if_random_less_than 100, AI_CV_MirrorCoat3
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat3:
if_has_move AI_USER, MOVE_COUNTER, AI_CV_MirrorCoat_ScoreUp4
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_power_from_result
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CV_MirrorCoat5
if_target_not_taunted AI_CV_MirrorCoat4
if_random_less_than 100, AI_CV_MirrorCoat4
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat4:
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_type_from_result
2018-02-21 01:26:12 +01:00
if_not_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_ScoreDown1
if_random_less_than 100, AI_CV_MirrorCoat_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_MirrorCoat_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat5:
if_target_not_taunted AI_CV_MirrorCoat6
if_random_less_than 100, AI_CV_MirrorCoat6
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat6:
2017-12-30 16:04:31 +01:00
get_target_type1
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_End
2017-12-30 16:04:31 +01:00
get_target_type2
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_End
if_random_less_than 50, AI_CV_MirrorCoat_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat_ScoreUp4:
if_random_less_than 100, AI_CV_MirrorCoat_ScoreUp4_End
2017-12-30 16:04:31 +01:00
score +4
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat_ScoreUp4_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_MirrorCoat_SpecialTypeList:
2017-12-30 16:04:31 +01:00
.byte TYPE_FIRE
.byte TYPE_WATER
.byte TYPE_GRASS
.byte TYPE_ELECTRIC
.byte TYPE_PSYCHIC
.byte TYPE_ICE
.byte TYPE_DRAGON
.byte TYPE_DARK
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_ChargeUpMove:
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_ChargeUpMove_ScoreDown2
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_ChargeUpMove_ScoreDown2
if_has_move_with_effect AI_TARGET, EFFECT_PROTECT, AI_CV_ChargeUpMove_ScoreDown2
if_hp_more_than AI_USER, 38, AI_CV_ChargeUpMove_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_ChargeUpMove_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_ChargeUpMove_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_ChargeUpMove_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Fly:
if_doesnt_have_move_with_effect AI_TARGET, EFFECT_PROTECT, AI_CV_Fly2
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_Fly_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Fly2:
if_status AI_TARGET, STATUS1_TOXIC_POISON, AI_CV_Fly6
if_status2 AI_TARGET, STATUS2_CURSED, AI_CV_Fly6
if_status3 AI_TARGET, STATUS3_LEECHSEED, AI_CV_Fly6
2017-12-30 16:04:31 +01:00
get_weather
2018-02-21 01:26:12 +01:00
if_equal AI_WEATHER_HAIL, AI_CV_Fly3
if_equal AI_WEATHER_SANDSTORM, AI_CV_Fly4
goto AI_CV_Fly5
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Fly3:
2017-12-30 16:04:31 +01:00
get_user_type1
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_Fly_TypesToEncourage, AI_CV_Fly6
2017-12-30 16:04:31 +01:00
get_user_type2
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_Fly_TypesToEncourage, AI_CV_Fly6
goto AI_CV_Fly5
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Fly4:
2017-12-30 16:04:31 +01:00
get_user_type1
2018-02-21 01:26:12 +01:00
if_equal TYPE_ICE, AI_CV_Fly6
2017-12-30 16:04:31 +01:00
get_user_type2
2018-02-21 01:26:12 +01:00
if_equal TYPE_ICE, AI_CV_Fly6
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Fly5:
if_target_faster AI_CV_Fly_End
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_TARGET
get_move_effect_from_result
2018-02-21 01:26:12 +01:00
if_not_equal EFFECT_LOCK_ON, AI_CV_Fly6
goto AI_CV_Fly_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Fly6:
if_random_less_than 80, AI_CV_Fly_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Fly_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Fly_TypesToEncourage:
2017-12-30 16:04:31 +01:00
.byte TYPE_GROUND
.byte TYPE_ROCK
.byte TYPE_STEEL
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_FakeOut:
2017-12-30 16:04:31 +01:00
score +2
end
2018-02-21 01:26:12 +01:00
AI_CV_SpitUp:
2017-12-30 16:04:31 +01:00
get_stockpile_count AI_USER
2018-02-21 01:26:12 +01:00
if_less_than 2, AI_CV_SpitUp_End
if_random_less_than 80, AI_CV_SpitUp_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_SpitUp_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Hail:
if_hp_less_than AI_USER, 40, AI_CV_Hail_ScoreDown1
2017-12-30 16:04:31 +01:00
get_weather
2018-02-21 01:26:12 +01:00
if_equal AI_WEATHER_SUN, AI_CV_Hail2
if_equal AI_WEATHER_RAIN, AI_CV_Hail2
if_equal AI_WEATHER_SANDSTORM, AI_CV_Hail2
goto AI_CV_Hail_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Hail2:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_Hail_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Hail_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Hail_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Facade:
if_not_status AI_TARGET, STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON, AI_CV_Facade_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_Facade_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_FocusPunch:
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_FocusPunch2
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_FocusPunch2
if_status AI_TARGET, STATUS1_SLEEP, AI_CV_FocusPunch_ScoreUp1
if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_FocusPunch3
if_status2 AI_TARGET, STATUS2_CONFUSION, AI_CV_FocusPunch3
2017-12-30 16:04:31 +01:00
is_first_turn_for AI_USER
2018-02-21 01:26:12 +01:00
if_not_equal 0, AI_CV_FocusPunch_End
if_random_less_than 100, AI_CV_FocusPunch_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_FocusPunch_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_FocusPunch2:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_FocusPunch_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_FocusPunch3:
if_random_less_than 100, AI_CV_FocusPunch_End
2017-12-30 16:04:31 +01:00
if_status2 AI_USER, STATUS2_SUBSTITUTE, Score_Plus5
2018-02-21 01:26:12 +01:00
AI_CV_FocusPunch_ScoreUp1:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_FocusPunch_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_SmellingSalt:
if_status AI_TARGET, STATUS1_PARALYSIS, AI_CV_SmellingSalt_ScoreUp1
goto AI_CV_SmellingSalt_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_SmellingSalt_ScoreUp1:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_SmellingSalt_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Trick:
2017-12-30 16:04:31 +01:00
get_hold_effect AI_USER
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_Trick_EffectsToEncourage2, AI_CV_Trick3
if_in_bytes AI_CV_Trick_EffectsToEncourage, AI_CV_Trick4
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Trick2:
2017-12-30 16:04:31 +01:00
score -3
2018-02-21 01:26:12 +01:00
goto AI_CV_Trick_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Trick3:
2017-12-30 16:04:31 +01:00
get_hold_effect AI_TARGET
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_Trick_EffectsToEncourage2, AI_CV_Trick2
2017-12-30 16:04:31 +01:00
score +5
2018-02-21 01:26:12 +01:00
goto AI_CV_Trick_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Trick4:
2017-12-30 16:04:31 +01:00
get_hold_effect AI_TARGET
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_Trick_EffectsToEncourage, AI_CV_Trick2
if_random_less_than 50, AI_CV_Trick_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_Trick_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Trick_EffectsToEncourage:
2017-12-30 16:04:31 +01:00
.byte HOLD_EFFECT_CONFUSE_SPICY
.byte HOLD_EFFECT_CONFUSE_DRY
.byte HOLD_EFFECT_CONFUSE_SWEET
.byte HOLD_EFFECT_CONFUSE_BITTER
.byte HOLD_EFFECT_CONFUSE_SOUR
.byte HOLD_EFFECT_MACHO_BRACE
.byte HOLD_EFFECT_CHOICE_BAND
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_Trick_EffectsToEncourage2:
2017-12-30 16:04:31 +01:00
.byte HOLD_EFFECT_CHOICE_BAND
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_ChangeSelfAbility:
2017-12-30 16:04:31 +01:00
get_ability AI_USER
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_ChangeSelfAbility_AbilitiesToEncourage, AI_CV_ChangeSelfAbility2
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
2018-02-21 01:26:12 +01:00
if_in_bytes AI_CV_ChangeSelfAbility_AbilitiesToEncourage, AI_CV_ChangeSelfAbility3
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_ChangeSelfAbility2:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_ChangeSelfAbility_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_ChangeSelfAbility3:
if_random_less_than 50, AI_CV_ChangeSelfAbility_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_ChangeSelfAbility_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_ChangeSelfAbility_AbilitiesToEncourage:
2017-12-30 16:04:31 +01:00
.byte ABILITY_SPEED_BOOST
.byte ABILITY_BATTLE_ARMOR
.byte ABILITY_SAND_VEIL
.byte ABILITY_STATIC
.byte ABILITY_FLASH_FIRE
.byte ABILITY_WONDER_GUARD
.byte ABILITY_EFFECT_SPORE
.byte ABILITY_SWIFT_SWIM
.byte ABILITY_HUGE_POWER
.byte ABILITY_RAIN_DISH
.byte ABILITY_CUTE_CHARM
.byte ABILITY_SHED_SKIN
.byte ABILITY_MARVEL_SCALE
.byte ABILITY_PURE_POWER
.byte ABILITY_CHLOROPHYLL
.byte ABILITY_SHIELD_DUST
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_Superpower:
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Superpower_ScoreDown1
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_Superpower_ScoreDown1
if_stat_level_less_than AI_USER, STAT_ATK, 6, AI_CV_Superpower_ScoreDown1
if_target_faster AI_CV_Superpower2
if_hp_more_than AI_USER, 40, AI_CV_Superpower_ScoreDown1
goto AI_CV_Superpower_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Superpower2:
if_hp_less_than AI_USER, 60, AI_CV_Superpower_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Superpower_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Superpower_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_MagicCoat:
if_hp_more_than AI_TARGET, 30, AI_CV_MagicCoat2
if_random_less_than 100, AI_CV_MagicCoat2
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_MagicCoat2:
2017-12-30 16:04:31 +01:00
is_first_turn_for AI_USER
2018-02-21 01:26:12 +01:00
if_equal 0, AI_CV_MagicCoat4
if_random_less_than 150, AI_CV_MagicCoat_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_MagicCoat_End
2017-12-30 16:04:31 +01:00
AI_CV_MagicCoat3:
2018-02-21 01:26:12 +01:00
if_random_less_than 50, AI_CV_MagicCoat_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_MagicCoat4:
if_random_less_than 30, AI_CV_MagicCoat_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_MagicCoat_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Recycle:
2017-12-30 16:04:31 +01:00
get_used_held_item AI_USER
2018-02-21 01:26:12 +01:00
if_not_in_bytes AI_CV_Recycle_ItemsToEncourage, AI_CV_Recycle_ScoreDown2
if_random_less_than 50, AI_CV_Recycle_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_Recycle_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Recycle_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_Recycle_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Recycle_ItemsToEncourage:
2017-12-30 16:04:31 +01:00
.byte ITEM_CHESTO_BERRY
.byte ITEM_LUM_BERRY
.byte ITEM_STARF_BERRY
.byte -1
2018-02-21 01:26:12 +01:00
AI_CV_Revenge:
if_status AI_TARGET, STATUS1_SLEEP, AI_CV_Revenge_ScoreDown2
if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_Revenge_ScoreDown2
if_status2 AI_TARGET, STATUS2_CONFUSION, AI_CV_Revenge_ScoreDown2
if_random_less_than 180, AI_CV_Revenge_ScoreDown2
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
goto AI_CV_Revenge_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Revenge_ScoreDown2:
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_Revenge_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_BrickBreak:
if_side_affecting AI_TARGET, SIDE_STATUS_REFLECT, AI_CV_BrickBreak_ScoreUp1
goto AI_CV_BrickBreak_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_BrickBreak_ScoreUp1:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_BrickBreak_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_KnockOff:
if_hp_less_than AI_TARGET, 30, AI_CV_KnockOff_End
2017-12-30 16:04:31 +01:00
is_first_turn_for AI_USER
2018-02-21 01:26:12 +01:00
if_more_than 0, AI_CV_KnockOff_End
if_random_less_than 180, AI_CV_KnockOff_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_KnockOff_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Endeavor:
if_hp_less_than AI_TARGET, 70, AI_CV_Endeavor_ScoreDown1
if_target_faster AI_CV_Endeavor2
if_hp_more_than AI_USER, 40, AI_CV_Endeavor_ScoreDown1
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_Endeavor_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Endeavor2:
if_hp_more_than AI_USER, 50, AI_CV_Endeavor_ScoreDown1
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_Endeavor_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Endeavor_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Endeavor_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Eruption:
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Eruption_ScoreDown1
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_Eruption_ScoreDown1
if_target_faster AI_CV_Eruption2
if_hp_more_than AI_TARGET, 50, AI_CV_Eruption_End
goto AI_CV_Eruption_ScoreDown1
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Eruption2:
if_hp_more_than AI_TARGET, 70, AI_CV_Eruption_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Eruption_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Eruption_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Imprison:
2017-12-30 16:04:31 +01:00
is_first_turn_for AI_USER
2018-02-21 01:26:12 +01:00
if_more_than 0, AI_CV_Imprison_End
if_random_less_than 100, AI_CV_Imprison_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_CV_Imprison_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Refresh:
if_hp_less_than AI_TARGET, 50, AI_CV_Refresh_ScoreDown1
goto AI_CV_Refresh_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Refresh_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Refresh_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Snatch:
2017-12-30 16:04:31 +01:00
is_first_turn_for AI_USER
2018-02-21 01:26:12 +01:00
if_equal 1, AI_CV_Snatch3
if_random_less_than 30, AI_CV_Snatch_End
if_target_faster AI_CV_Snatch2
if_hp_not_equal AI_USER, 100, AI_CV_Snatch5
if_hp_less_than AI_TARGET, 70, AI_CV_Snatch5
if_random_less_than 60, AI_CV_Snatch_End
goto AI_CV_Snatch5
AI_CV_Snatch2:
if_hp_more_than AI_TARGET, 25, AI_CV_Snatch5
if_has_move_with_effect AI_TARGET, EFFECT_RESTORE_HP, AI_CV_Snatch3
if_has_move_with_effect AI_TARGET, EFFECT_DEFENSE_CURL, AI_CV_Snatch3
goto AI_CV_Snatch4
AI_CV_Snatch3:
if_random_less_than 150, AI_CV_Snatch_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
goto AI_CV_Snatch_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Snatch4:
if_random_less_than 230, AI_CV_Snatch5
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_Snatch_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Snatch5:
if_random_less_than 30, AI_CV_Snatch_End
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_CV_Snatch_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_MudSport:
if_hp_less_than AI_USER, 50, AI_CV_MudSport_ScoreDown1
2017-12-30 16:04:31 +01:00
get_target_type1
2018-02-21 01:26:12 +01:00
if_equal TYPE_ELECTRIC, AI_CV_MudSport2
2017-12-30 16:04:31 +01:00
get_target_type2
2018-02-21 01:26:12 +01:00
if_equal TYPE_ELECTRIC, AI_CV_MudSport2
goto AI_CV_MudSport_ScoreDown1
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_MudSport2:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_MudSport_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_MudSport_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_MudSport_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_Overheat:
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Overheat_ScoreDown1
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_Overheat_ScoreDown1
if_target_faster AI_CV_Overheat2
if_hp_more_than AI_USER, 60, AI_CV_Overheat_End
goto AI_CV_Overheat_ScoreDown1
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Overheat2:
if_hp_more_than AI_USER, 80, AI_CV_Overheat_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_Overheat_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_Overheat_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_WaterSport:
if_hp_less_than AI_USER, 50, AI_CV_WaterSport_ScoreDown1
2017-12-30 16:04:31 +01:00
get_target_type1
2018-02-21 01:26:12 +01:00
if_equal TYPE_FIRE, AI_CV_WaterSport2
2017-12-30 16:04:31 +01:00
get_target_type2
2018-02-21 01:26:12 +01:00
if_equal TYPE_FIRE, AI_CV_WaterSport2
goto AI_CV_WaterSport_ScoreDown1
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_WaterSport2:
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
goto AI_CV_WaterSport_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_WaterSport_ScoreDown1:
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
AI_CV_WaterSport_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_CV_DragonDance:
if_target_faster AI_CV_DragonDance2
if_hp_more_than AI_USER, 50, AI_CV_DragonDance_End
if_random_less_than 70, AI_CV_DragonDance_End
2017-12-30 16:04:31 +01:00
score -1
2018-02-21 01:26:12 +01:00
goto AI_CV_DragonDance_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_CV_DragonDance2:
if_random_less_than 128, AI_CV_DragonDance_End
2017-12-30 16:04:31 +01:00
score +1
2018-02-21 01:26:12 +01:00
AI_CV_DragonDance_End:
2017-12-30 16:04:31 +01:00
end
AI_CheckViability:
if_target_is_ally AI_Ret
2018-02-21 01:26:12 +01:00
if_can_faint AI_TryToFaint_TryToEncourageQuickAttack
2017-12-30 16:04:31 +01:00
get_how_powerful_move_is
if_equal 1, Score_Minus1
if_type_effectiveness AI_EFFECTIVENESS_x4, BattleAIScript_82DDE57
end
BattleAIScript_82DDE57:
2018-02-21 01:26:12 +01:00
if_random_less_than 80, AI_TryToFaint_End
2017-12-30 16:04:31 +01:00
score +2
end
2018-02-21 01:26:12 +01:00
AI_TryToFaint_TryToEncourageQuickAttack:
if_effect EFFECT_EXPLOSION, AI_TryToFaint_End
2018-07-14 12:54:12 +02:00
if_move_flag FLAG_HIGH_CRIT AI_TryToFaint_ScoreUp4
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_TryToFaint_ScoreUp4:
2017-12-30 16:04:31 +01:00
score +4
2018-02-21 01:26:12 +01:00
AI_TryToFaint_End:
2017-12-30 16:04:31 +01:00
end
AI_SetupFirstTurn:
if_target_is_ally AI_Ret
get_turn_count
2018-02-21 01:26:12 +01:00
if_not_equal 0, AI_SetupFirstTurn_End
2017-12-30 16:04:31 +01:00
get_considered_move_effect
2018-02-21 01:26:12 +01:00
if_not_in_bytes AI_SetupFirstTurn_SetupEffectsToEncourage, AI_SetupFirstTurn_End
if_random_less_than 80, AI_SetupFirstTurn_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_SetupFirstTurn_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_SetupFirstTurn_SetupEffectsToEncourage:
2017-12-30 16:04:31 +01:00
.byte EFFECT_ATTACK_UP
.byte EFFECT_DEFENSE_UP
.byte EFFECT_SPEED_UP
.byte EFFECT_SPECIAL_ATTACK_UP
.byte EFFECT_SPECIAL_DEFENSE_UP
.byte EFFECT_ACCURACY_UP
.byte EFFECT_EVASION_UP
.byte EFFECT_ATTACK_DOWN
.byte EFFECT_DEFENSE_DOWN
.byte EFFECT_SPEED_DOWN
.byte EFFECT_SPECIAL_ATTACK_DOWN
.byte EFFECT_SPECIAL_DEFENSE_DOWN
.byte EFFECT_ACCURACY_DOWN
.byte EFFECT_EVASION_DOWN
.byte EFFECT_CONVERSION
.byte EFFECT_LIGHT_SCREEN
.byte EFFECT_SPECIAL_DEFENSE_UP_2
.byte EFFECT_FOCUS_ENERGY
.byte EFFECT_CONFUSE
.byte EFFECT_ATTACK_UP_2
.byte EFFECT_DEFENSE_UP_2
.byte EFFECT_SPEED_UP_2
.byte EFFECT_SPECIAL_ATTACK_UP_2
.byte EFFECT_SPECIAL_DEFENSE_UP_2
.byte EFFECT_ACCURACY_UP_2
.byte EFFECT_EVASION_UP_2
.byte EFFECT_ATTACK_DOWN_2
.byte EFFECT_DEFENSE_DOWN_2
.byte EFFECT_SPEED_DOWN_2
.byte EFFECT_SPECIAL_ATTACK_DOWN_2
.byte EFFECT_SPECIAL_DEFENSE_DOWN_2
.byte EFFECT_ACCURACY_DOWN_2
.byte EFFECT_EVASION_DOWN_2
.byte EFFECT_REFLECT
.byte EFFECT_POISON
.byte EFFECT_PARALYZE
.byte EFFECT_SUBSTITUTE
.byte EFFECT_LEECH_SEED
.byte EFFECT_MINIMIZE
.byte EFFECT_CURSE
.byte EFFECT_SWAGGER
.byte EFFECT_CAMOUFLAGE
.byte EFFECT_YAWN
.byte EFFECT_DEFENSE_CURL
.byte EFFECT_TORMENT
.byte EFFECT_FLATTER
.byte EFFECT_WILL_O_WISP
.byte EFFECT_INGRAIN
.byte EFFECT_IMPRISON
.byte EFFECT_TEETER_DANCE
.byte EFFECT_TICKLE
.byte EFFECT_COSMIC_POWER
.byte EFFECT_BULK_UP
.byte EFFECT_CALM_MIND
.byte EFFECT_CAMOUFLAGE
.byte -1
AI_PreferStrongestMove:
if_target_is_ally AI_Ret
get_how_powerful_move_is
2018-02-21 01:26:12 +01:00
if_not_equal 0, AI_PreferStrongestMove_End
if_random_less_than 100, AI_PreferStrongestMove_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_PreferStrongestMove_End:
2017-12-30 16:04:31 +01:00
end
AI_Risky:
if_target_is_ally AI_Ret
get_considered_move_effect
2018-07-14 12:54:12 +02:00
if_move_flag FLAG_HIGH_CRIT AI_Risky_RandChance
2018-02-21 01:26:12 +01:00
if_not_in_bytes AI_Risky_EffectsToEncourage, AI_Risky_End
2018-07-14 12:54:12 +02:00
AI_Risky_RandChance:
2018-02-21 01:26:12 +01:00
if_random_less_than 128, AI_Risky_End
2017-12-30 16:04:31 +01:00
score +2
2018-02-21 01:26:12 +01:00
AI_Risky_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_Risky_EffectsToEncourage:
2017-12-30 16:04:31 +01:00
.byte EFFECT_SLEEP
.byte EFFECT_EXPLOSION
.byte EFFECT_MIRROR_MOVE
.byte EFFECT_OHKO
.byte EFFECT_CONFUSE
.byte EFFECT_METRONOME
.byte EFFECT_PSYWAVE
.byte EFFECT_COUNTER
.byte EFFECT_DESTINY_BOND
.byte EFFECT_SWAGGER
.byte EFFECT_ATTRACT
.byte EFFECT_PRESENT
.byte EFFECT_ALL_STATS_UP_HIT
.byte EFFECT_BELLY_DRUM
.byte EFFECT_MIRROR_COAT
.byte EFFECT_FOCUS_PUNCH
.byte EFFECT_REVENGE
.byte EFFECT_TEETER_DANCE
.byte -1
AI_PreferBatonPass:
if_target_is_ally AI_Ret
count_usable_party_mons AI_USER
if_equal 0, BattleAIScript_82DDFB3
get_how_powerful_move_is
if_not_equal 0, BattleAIScript_82DDFB3
2018-02-21 01:26:12 +01:00
if_has_move_with_effect AI_USER, EFFECT_BATON_PASS, AI_PreferBatonPass_GoForBatonPass
if_random_less_than 80, AI_Risky_End
AI_PreferBatonPass_GoForBatonPass:
if_move MOVE_SWORDS_DANCE, AI_PreferBatonPass2
if_move MOVE_DRAGON_DANCE, AI_PreferBatonPass2
if_move MOVE_CALM_MIND, AI_PreferBatonPass2
if_effect EFFECT_PROTECT, AI_PreferBatonPass_End
2017-12-30 16:04:31 +01:00
if_move MOVE_BATON_PASS, BattleAIScript_82DDF7B
2018-02-21 01:26:12 +01:00
if_random_less_than 20, AI_Risky_End
2017-12-30 16:04:31 +01:00
score +3
2018-02-21 01:26:12 +01:00
AI_PreferBatonPass2:
2017-12-30 16:04:31 +01:00
get_turn_count
if_equal 0, Score_Plus5
if_hp_less_than AI_USER, 60, Score_Minus10
goto Score_Plus1
2018-02-21 01:26:12 +01:00
AI_PreferBatonPass_End:
2017-12-30 16:04:31 +01:00
get_last_used_bank_move AI_USER
if_in_hwords sMovesTable_82DDF75, Score_Minus2
score +2
end
sMovesTable_82DDF75:
.2byte MOVE_PROTECT
.2byte MOVE_DETECT
.2byte -1
BattleAIScript_82DDF7B:
get_turn_count
if_equal 0, Score_Minus2
2018-02-08 11:17:41 +01:00
if_stat_level_more_than AI_USER, STAT_ATK, 8, Score_Plus3
if_stat_level_more_than AI_USER, STAT_ATK, 7, Score_Plus2
if_stat_level_more_than AI_USER, STAT_ATK, 6, Score_Plus1
if_stat_level_more_than AI_USER, STAT_SPATK, 8, Score_Plus3
if_stat_level_more_than AI_USER, STAT_SPATK, 7, Score_Plus2
if_stat_level_more_than AI_USER, STAT_SPATK, 6, Score_Plus1
2017-12-30 16:04:31 +01:00
end
BattleAIScript_82DDFB3:
end
AI_DoubleBattle:
if_target_is_ally AI_TryOnAlly
if_move MOVE_SKILL_SWAP, BattleAIScript_82DE04B
get_curr_move_type
if_move MOVE_EARTHQUAKE, BattleAIScript_82DE010
if_move MOVE_MAGNITUDE, BattleAIScript_82DE010
if_equal 13, BattleAIScript_82DE062
if_equal 10, BattleAIScript_82DE079
get_ability AI_USER
if_not_equal ABILITY_GUTS, BattleAIScript_82DDFF5
if_has_move AI_USER_PARTNER, MOVE_HELPING_HAND, BattleAIScript_82DDFED
end
BattleAIScript_82DDFED:
get_how_powerful_move_is
if_not_equal 0, Score_Plus1
end
BattleAIScript_82DDFF5:
2018-01-16 22:12:38 +01:00
if_status AI_USER, STATUS1_ANY, BattleAIScript_82DE000
2017-12-30 16:04:31 +01:00
end
BattleAIScript_82DE000:
get_how_powerful_move_is
if_equal 0, Score_Minus5
score +1
if_equal 2, Score_Plus2
end
BattleAIScript_82DE010:
if_ability AI_USER_PARTNER, ABILITY_LEVITATE, Score_Plus2
if_type AI_USER_PARTNER, TYPE_FLYING, Score_Plus2
if_type AI_USER_PARTNER, TYPE_FIRE, Score_Minus10
if_type AI_USER_PARTNER, TYPE_ELECTRIC, Score_Minus10
if_type AI_USER_PARTNER, TYPE_POISON, Score_Minus10
if_type AI_USER_PARTNER, TYPE_ROCK, Score_Minus10
goto Score_Minus3
BattleAIScript_82DE04B:
get_ability AI_USER
if_equal ABILITY_TRUANT, Score_Plus5
get_ability AI_TARGET
if_equal ABILITY_SHADOW_TAG, Score_Plus2
if_equal ABILITY_PURE_POWER, Score_Plus2
end
BattleAIScript_82DE062:
if_no_ability AI_TARGET_PARTNER, ABILITY_LIGHTNING_ROD, BattleAIScript_82DE078
score -2
if_no_type AI_TARGET_PARTNER, TYPE_GROUND, BattleAIScript_82DE078
score -8
BattleAIScript_82DE078:
end
BattleAIScript_82DE079:
if_flash_fired AI_USER, BattleAIScript_82DE080
end
BattleAIScript_82DE080:
goto Score_Plus1
AI_TryOnAlly:
get_how_powerful_move_is
if_equal 0, BattleAIScript_82DE0B2
get_curr_move_type
if_equal TYPE_FIRE, BattleAIScript_82DE099
AI_DiscourageOnAlly:
goto Score_Minus30
BattleAIScript_82DE099:
if_ability AI_USER_PARTNER, ABILITY_FLASH_FIRE, BattleAIScript_82DE0A7
goto AI_DiscourageOnAlly
BattleAIScript_82DE0A7:
if_flash_fired AI_USER_PARTNER, AI_DiscourageOnAlly
goto Score_Plus3
BattleAIScript_82DE0B2:
if_move MOVE_SKILL_SWAP, BattleAIScript_82DE0DA
if_move MOVE_WILL_O_WISP, BattleAIScript_82DE14F
if_move MOVE_TOXIC, BattleAIScript_82DE14F
if_move MOVE_HELPING_HAND, BattleAIScript_82DE16D
if_move MOVE_SWAGGER, BattleAIScript_82DE178
goto Score_Minus30_
BattleAIScript_82DE0DA:
get_ability AI_TARGET
if_equal ABILITY_TRUANT, Score_Plus10
get_ability AI_USER
if_not_equal ABILITY_LEVITATE, BattleAIScript_82DE107
get_ability AI_TARGET
if_equal ABILITY_LEVITATE, Score_Minus30_
get_target_type1
if_not_equal TYPE_ELECTRIC, BattleAIScript_82DE107
score +1
get_target_type2
if_not_equal TYPE_ELECTRIC, BattleAIScript_82DE107
score +1
end
BattleAIScript_82DE107:
if_not_equal 14, Score_Minus30_
if_has_move AI_USER_PARTNER, MOVE_FIRE_BLAST, BattleAIScript_82DE14A
if_has_move AI_USER_PARTNER, MOVE_THUNDER, BattleAIScript_82DE14A
if_has_move AI_USER_PARTNER, MOVE_CROSS_CHOP, BattleAIScript_82DE14A
if_has_move AI_USER_PARTNER, MOVE_HYDRO_PUMP, BattleAIScript_82DE14A
if_has_move AI_USER_PARTNER, MOVE_DYNAMIC_PUNCH, BattleAIScript_82DE14A
if_has_move AI_USER_PARTNER, MOVE_BLIZZARD, BattleAIScript_82DE14A
if_has_move AI_USER_PARTNER, MOVE_MEGAHORN, BattleAIScript_82DE14A
goto Score_Minus30_
BattleAIScript_82DE14A:
goto Score_Plus3
BattleAIScript_82DE14F:
get_ability AI_TARGET
if_not_equal ABILITY_GUTS, Score_Minus30_
2018-01-16 22:12:38 +01:00
if_status AI_TARGET, STATUS1_ANY, Score_Minus30_
2017-12-30 16:04:31 +01:00
if_hp_less_than AI_USER, 91, Score_Minus30_
goto Score_Plus5
BattleAIScript_82DE16D:
if_random_less_than 64, Score_Minus1
goto Score_Plus2
BattleAIScript_82DE178:
if_holds_item AI_TARGET, ITEM_PERSIM_BERRY, BattleAIScript_82DE185
goto Score_Minus30_
BattleAIScript_82DE185:
2018-02-08 11:17:41 +01:00
if_stat_level_more_than AI_TARGET, STAT_ATK, 7, BattleAIScript_82DE18F
2017-12-30 16:04:31 +01:00
score +3
BattleAIScript_82DE18F:
end
Score_Minus30_:
score -30
end
AI_HPAware:
if_target_is_ally AI_TryOnAlly
2018-02-21 01:26:12 +01:00
if_hp_more_than AI_USER, 70, AI_HPAware_UserHasHighHP
if_hp_more_than AI_USER, 30, AI_HPAware_UserHasMediumHP
2017-12-30 16:04:31 +01:00
get_considered_move_effect
2018-02-21 01:26:12 +01:00
if_in_bytes AI_HPAware_DiscouragedEffectsWhenLowHP, AI_HPAware_TryToDiscourage
goto AI_HPAware_ConsiderTarget
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_HPAware_UserHasHighHP:
2017-12-30 16:04:31 +01:00
get_considered_move_effect
2018-02-21 01:26:12 +01:00
if_in_bytes AI_HPAware_DiscouragedEffectsWhenHighHP, AI_HPAware_TryToDiscourage
goto AI_HPAware_ConsiderTarget
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_HPAware_UserHasMediumHP:
2017-12-30 16:04:31 +01:00
get_considered_move_effect
2018-02-21 01:26:12 +01:00
if_in_bytes AI_HPAware_DiscouragedEffectsWhenMediumHP, AI_HPAware_TryToDiscourage
goto AI_HPAware_ConsiderTarget
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_HPAware_TryToDiscourage:
if_random_less_than 50, AI_HPAware_ConsiderTarget
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_HPAware_ConsiderTarget:
if_hp_more_than AI_TARGET, 70, AI_HPAware_TargetHasHighHP
if_hp_more_than AI_TARGET, 30, AI_HPAware_TargetHasMediumHP
2017-12-30 16:04:31 +01:00
get_considered_move_effect
2018-02-21 01:26:12 +01:00
if_in_bytes AI_HPAware_DiscouragedEffectsWhenTargetLowHP, AI_HPAware_TargetTryToDiscourage
goto AI_HPAware_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_HPAware_TargetHasHighHP:
2017-12-30 16:04:31 +01:00
get_considered_move_effect
2018-02-21 01:26:12 +01:00
if_in_bytes AI_HPAware_DiscouragedEffectsWhenTargetHighHP, AI_HPAware_TargetTryToDiscourage
goto AI_HPAware_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_HPAware_TargetHasMediumHP:
2017-12-30 16:04:31 +01:00
get_considered_move_effect
2018-02-21 01:26:12 +01:00
if_in_bytes AI_HPAware_DiscouragedEffectsWhenTargetMediumHP, AI_HPAware_TargetTryToDiscourage
goto AI_HPAware_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_HPAware_TargetTryToDiscourage:
if_random_less_than 50, AI_HPAware_End
2017-12-30 16:04:31 +01:00
score -2
2018-02-21 01:26:12 +01:00
AI_HPAware_End:
2017-12-30 16:04:31 +01:00
end
2018-02-21 01:26:12 +01:00
AI_HPAware_DiscouragedEffectsWhenHighHP: @ 82DE21F
2017-12-30 16:04:31 +01:00
.byte EFFECT_EXPLOSION
.byte EFFECT_RESTORE_HP
.byte EFFECT_REST
.byte EFFECT_DESTINY_BOND
.byte EFFECT_FLAIL
.byte EFFECT_ENDURE
.byte EFFECT_MORNING_SUN
.byte EFFECT_SYNTHESIS
.byte EFFECT_MOONLIGHT
.byte EFFECT_SOFTBOILED
.byte EFFECT_MEMENTO
.byte EFFECT_GRUDGE
.byte EFFECT_OVERHEAT
.byte -1
2018-02-21 01:26:12 +01:00
AI_HPAware_DiscouragedEffectsWhenMediumHP: @ 82DE22D
2017-12-30 16:04:31 +01:00
.byte EFFECT_EXPLOSION
.byte EFFECT_ATTACK_UP
.byte EFFECT_DEFENSE_UP
.byte EFFECT_SPEED_UP
.byte EFFECT_SPECIAL_ATTACK_UP
.byte EFFECT_SPECIAL_DEFENSE_UP
.byte EFFECT_ACCURACY_UP
.byte EFFECT_EVASION_UP
.byte EFFECT_ATTACK_DOWN
.byte EFFECT_DEFENSE_DOWN
.byte EFFECT_SPEED_DOWN
.byte EFFECT_SPECIAL_ATTACK_DOWN
.byte EFFECT_SPECIAL_DEFENSE_DOWN
.byte EFFECT_ACCURACY_DOWN
.byte EFFECT_EVASION_DOWN
.byte EFFECT_BIDE
.byte EFFECT_CONVERSION
.byte EFFECT_LIGHT_SCREEN
.byte EFFECT_MIST
.byte EFFECT_FOCUS_ENERGY
.byte EFFECT_ATTACK_UP_2
.byte EFFECT_DEFENSE_UP_2
.byte EFFECT_SPEED_UP_2
.byte EFFECT_SPECIAL_ATTACK_UP_2
.byte EFFECT_SPECIAL_DEFENSE_UP_2
.byte EFFECT_ACCURACY_UP_2
.byte EFFECT_EVASION_UP_2
.byte EFFECT_ATTACK_DOWN_2
.byte EFFECT_DEFENSE_DOWN_2
.byte EFFECT_SPEED_DOWN_2
.byte EFFECT_SPECIAL_ATTACK_DOWN_2
.byte EFFECT_SPECIAL_DEFENSE_DOWN_2
.byte EFFECT_ACCURACY_DOWN_2
.byte EFFECT_EVASION_DOWN_2
.byte EFFECT_CONVERSION_2
.byte EFFECT_SAFEGUARD
.byte EFFECT_BELLY_DRUM
.byte EFFECT_TICKLE
.byte EFFECT_COSMIC_POWER
.byte EFFECT_BULK_UP
.byte EFFECT_CALM_MIND
.byte EFFECT_DRAGON_DANCE
.byte -1
2018-02-21 01:26:12 +01:00
AI_HPAware_DiscouragedEffectsWhenLowHP: @ 82DE258
2017-12-30 16:04:31 +01:00
.byte EFFECT_ATTACK_UP
.byte EFFECT_DEFENSE_UP
.byte EFFECT_SPEED_UP
.byte EFFECT_SPECIAL_ATTACK_UP
.byte EFFECT_SPECIAL_DEFENSE_UP
.byte EFFECT_ACCURACY_UP
.byte EFFECT_EVASION_UP
.byte EFFECT_ATTACK_DOWN
.byte EFFECT_DEFENSE_DOWN
.byte EFFECT_SPEED_DOWN
.byte EFFECT_SPECIAL_ATTACK_DOWN
.byte EFFECT_SPECIAL_DEFENSE_DOWN
.byte EFFECT_ACCURACY_DOWN
.byte EFFECT_EVASION_DOWN
.byte EFFECT_BIDE
.byte EFFECT_CONVERSION
.byte EFFECT_LIGHT_SCREEN
.byte EFFECT_MIST
.byte EFFECT_FOCUS_ENERGY
.byte EFFECT_ATTACK_UP_2
.byte EFFECT_DEFENSE_UP_2
.byte EFFECT_SPEED_UP_2
.byte EFFECT_SPECIAL_ATTACK_UP_2
.byte EFFECT_SPECIAL_DEFENSE_UP_2
.byte EFFECT_ACCURACY_UP_2
.byte EFFECT_EVASION_UP_2
.byte EFFECT_ATTACK_DOWN_2
.byte EFFECT_DEFENSE_DOWN_2
.byte EFFECT_SPEED_DOWN_2
.byte EFFECT_SPECIAL_ATTACK_DOWN_2
.byte EFFECT_SPECIAL_DEFENSE_DOWN_2
.byte EFFECT_ACCURACY_DOWN_2
.byte EFFECT_EVASION_DOWN_2
.byte EFFECT_RAGE
.byte EFFECT_CONVERSION_2
.byte EFFECT_LOCK_ON
.byte EFFECT_SAFEGUARD
.byte EFFECT_BELLY_DRUM
.byte EFFECT_PSYCH_UP
.byte EFFECT_MIRROR_COAT
.byte EFFECT_SOLARBEAM
.byte EFFECT_ERUPTION
.byte EFFECT_TICKLE
.byte EFFECT_COSMIC_POWER
.byte EFFECT_BULK_UP
.byte EFFECT_CALM_MIND
.byte EFFECT_DRAGON_DANCE
.byte -1
2018-02-21 01:26:12 +01:00
AI_HPAware_DiscouragedEffectsWhenTargetHighHP: @ 82DE288
2017-12-30 16:04:31 +01:00
.byte -1
2018-02-21 01:26:12 +01:00
AI_HPAware_DiscouragedEffectsWhenTargetMediumHP: @ 82DE289
2017-12-30 16:04:31 +01:00
.byte EFFECT_ATTACK_UP
.byte EFFECT_DEFENSE_UP
.byte EFFECT_SPEED_UP
.byte EFFECT_SPECIAL_ATTACK_UP
.byte EFFECT_SPECIAL_DEFENSE_UP
.byte EFFECT_ACCURACY_UP
.byte EFFECT_EVASION_UP
.byte EFFECT_ATTACK_DOWN
.byte EFFECT_DEFENSE_DOWN
.byte EFFECT_SPEED_DOWN
.byte EFFECT_SPECIAL_ATTACK_DOWN
.byte EFFECT_SPECIAL_DEFENSE_DOWN
.byte EFFECT_ACCURACY_DOWN
.byte EFFECT_EVASION_DOWN
.byte EFFECT_MIST
.byte EFFECT_FOCUS_ENERGY
.byte EFFECT_ATTACK_UP_2
.byte EFFECT_DEFENSE_UP_2
.byte EFFECT_SPEED_UP_2
.byte EFFECT_SPECIAL_ATTACK_UP_2
.byte EFFECT_SPECIAL_DEFENSE_UP_2
.byte EFFECT_ACCURACY_UP_2
.byte EFFECT_EVASION_UP_2
.byte EFFECT_ATTACK_DOWN_2
.byte EFFECT_DEFENSE_DOWN_2
.byte EFFECT_SPEED_DOWN_2
.byte EFFECT_SPECIAL_ATTACK_DOWN_2
.byte EFFECT_SPECIAL_DEFENSE_DOWN_2
.byte EFFECT_ACCURACY_DOWN_2
.byte EFFECT_EVASION_DOWN_2
.byte EFFECT_POISON
.byte EFFECT_PAIN_SPLIT
.byte EFFECT_PERISH_SONG
.byte EFFECT_SAFEGUARD
.byte EFFECT_TICKLE
.byte EFFECT_COSMIC_POWER
.byte EFFECT_BULK_UP
.byte EFFECT_CALM_MIND
.byte EFFECT_DRAGON_DANCE
.byte -1
2018-02-21 01:26:12 +01:00
AI_HPAware_DiscouragedEffectsWhenTargetLowHP: @ 82DE2B1
2017-12-30 16:04:31 +01:00
.byte EFFECT_SLEEP
.byte EFFECT_EXPLOSION
.byte EFFECT_ATTACK_UP
.byte EFFECT_DEFENSE_UP
.byte EFFECT_SPEED_UP
.byte EFFECT_SPECIAL_ATTACK_UP
.byte EFFECT_SPECIAL_DEFENSE_UP
.byte EFFECT_ACCURACY_UP
.byte EFFECT_EVASION_UP
.byte EFFECT_ATTACK_DOWN
.byte EFFECT_DEFENSE_DOWN
.byte EFFECT_SPEED_DOWN
.byte EFFECT_SPECIAL_ATTACK_DOWN
.byte EFFECT_SPECIAL_DEFENSE_DOWN
.byte EFFECT_ACCURACY_DOWN
.byte EFFECT_EVASION_DOWN
.byte EFFECT_BIDE
.byte EFFECT_CONVERSION
.byte EFFECT_TOXIC
.byte EFFECT_LIGHT_SCREEN
.byte EFFECT_OHKO
.byte EFFECT_SUPER_FANG
.byte EFFECT_SUPER_FANG
.byte EFFECT_MIST
.byte EFFECT_FOCUS_ENERGY
.byte EFFECT_CONFUSE
.byte EFFECT_ATTACK_UP_2
.byte EFFECT_DEFENSE_UP_2
.byte EFFECT_SPEED_UP_2
.byte EFFECT_SPECIAL_ATTACK_UP_2
.byte EFFECT_SPECIAL_DEFENSE_UP_2
.byte EFFECT_ACCURACY_UP_2
.byte EFFECT_EVASION_UP_2
.byte EFFECT_ATTACK_DOWN_2
.byte EFFECT_DEFENSE_DOWN_2
.byte EFFECT_SPEED_DOWN_2
.byte EFFECT_SPECIAL_ATTACK_DOWN_2
.byte EFFECT_SPECIAL_DEFENSE_DOWN_2
.byte EFFECT_ACCURACY_DOWN_2
.byte EFFECT_EVASION_DOWN_2
.byte EFFECT_POISON
.byte EFFECT_PARALYZE
.byte EFFECT_PAIN_SPLIT
.byte EFFECT_CONVERSION_2
.byte EFFECT_LOCK_ON
.byte EFFECT_SPITE
.byte EFFECT_PERISH_SONG
.byte EFFECT_SWAGGER
.byte EFFECT_FURY_CUTTER
.byte EFFECT_ATTRACT
.byte EFFECT_SAFEGUARD
.byte EFFECT_PSYCH_UP
.byte EFFECT_MIRROR_COAT
.byte EFFECT_WILL_O_WISP
.byte EFFECT_TICKLE
.byte EFFECT_COSMIC_POWER
.byte EFFECT_BULK_UP
.byte EFFECT_CALM_MIND
.byte EFFECT_DRAGON_DANCE
.byte -1
AI_Unknown:
if_target_is_ally AI_TryOnAlly
2018-02-21 01:26:12 +01:00
if_not_effect EFFECT_SUNNY_DAY, AI_Unknown_End
if_equal 0, AI_Unknown_End
2017-12-30 16:04:31 +01:00
is_first_turn_for AI_USER
2018-02-21 01:26:12 +01:00
if_equal 0, AI_Unknown_End
2017-12-30 16:04:31 +01:00
score +5
2018-02-21 01:26:12 +01:00
AI_Unknown_End: @ 82DE308
2017-12-30 16:04:31 +01:00
end
AI_Roaming:
2018-02-21 01:26:12 +01:00
if_status2 AI_USER, STATUS2_WRAPPED, AI_Roaming_End
if_status2 AI_USER, STATUS2_ESCAPE_PREVENTION, AI_Roaming_End
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
2018-02-21 01:26:12 +01:00
if_equal ABILITY_SHADOW_TAG, AI_Roaming_End
2017-12-30 16:04:31 +01:00
get_ability AI_USER
2018-02-21 01:26:12 +01:00
if_equal ABILITY_LEVITATE, AI_Roaming_Flee
2017-12-30 16:04:31 +01:00
get_ability AI_TARGET
2018-02-21 01:26:12 +01:00
if_equal ABILITY_ARENA_TRAP, AI_Roaming_End
2017-12-30 16:04:31 +01:00
2018-02-21 01:26:12 +01:00
AI_Roaming_Flee: @ 82DE335
2017-12-30 16:04:31 +01:00
flee
2018-02-21 01:26:12 +01:00
AI_Roaming_End: @ 82DE336
2017-12-30 16:04:31 +01:00
end
AI_Safari:
2018-02-21 01:26:12 +01:00
if_random_safari_flee AI_Safari_Flee
2017-12-30 16:04:31 +01:00
watch
2018-02-21 01:26:12 +01:00
AI_Safari_Flee:
2017-12-30 16:04:31 +01:00
flee
AI_FirstBattle:
2018-07-01 11:15:42 +02:00
if_hp_equal AI_TARGET, 20, AI_FirstBattle_Flee
if_hp_less_than AI_TARGET, 20, AI_FirstBattle_Flee
2017-12-30 16:04:31 +01:00
end
2018-07-01 11:15:42 +02:00
AI_FirstBattle_Flee:
2017-12-30 16:04:31 +01:00
flee
AI_Ret:
end