summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorentrpntr <entrpntr@gmail.com>2020-04-08 00:10:24 -0400
committerentrpntr <entrpntr@gmail.com>2020-04-08 00:10:24 -0400
commit8df3c3f15b443d48a7bbbaa5512da3088d954117 (patch)
tree908e30404326badecf0d7a9a54d5573628e3d388 /data
parent7b003316f8bae609ff47baf14cc06ebf1b4a8000 (diff)
Add engine/battle/ai/scoring.asm.
Diffstat (limited to 'data')
-rw-r--r--data/battle/ai/constant_damage_effects.asm10
-rw-r--r--data/battle/ai/encore_moves.asm34
-rw-r--r--data/battle/ai/rain_dance_moves.asm15
-rw-r--r--data/battle/ai/reckless_moves.asm9
-rw-r--r--data/battle/ai/residual_moves.asm16
-rw-r--r--data/battle/ai/risky_effects.asm7
-rw-r--r--data/battle/ai/stall_moves.asm37
-rw-r--r--data/battle/ai/status_only_effects.asm9
-rw-r--r--data/battle/ai/sunny_day_moves.asm12
-rw-r--r--data/battle/ai/useful_moves.asm23
10 files changed, 172 insertions, 0 deletions
diff --git a/data/battle/ai/constant_damage_effects.asm b/data/battle/ai/constant_damage_effects.asm
new file mode 100644
index 00000000..cd812d41
--- /dev/null
+++ b/data/battle/ai/constant_damage_effects.asm
@@ -0,0 +1,10 @@
+; AIDamageCalc uses BattleCommand_ConstantDamage
+; to calculate damage for these instead of
+; BattleCommand_DamageCalc and BattleCommand_Stab.
+
+ConstantDamageEffects:
+ db EFFECT_SUPER_FANG
+ db EFFECT_STATIC_DAMAGE
+ db EFFECT_LEVEL_DAMAGE
+ db EFFECT_PSYWAVE
+ db -1 ; end
diff --git a/data/battle/ai/encore_moves.asm b/data/battle/ai/encore_moves.asm
new file mode 100644
index 00000000..03e028bd
--- /dev/null
+++ b/data/battle/ai/encore_moves.asm
@@ -0,0 +1,34 @@
+; AI_SMART encourages these moves with Encore.
+
+EncoreMoves:
+ db SWORDS_DANCE
+ db WHIRLWIND
+ db LEER
+ db ROAR
+ db DISABLE
+ db MIST
+ db LEECH_SEED
+ db GROWTH
+ db POISONPOWDER
+ db STRING_SHOT
+ db MEDITATE
+ db AGILITY
+ db TELEPORT
+ db SCREECH
+ db HAZE
+ db FOCUS_ENERGY
+ db DREAM_EATER
+ db POISON_GAS
+ db SPLASH
+ db SHARPEN
+ db CONVERSION
+ db SUPER_FANG
+ db SUBSTITUTE
+ db TRIPLE_KICK
+ db SPIDER_WEB
+ db MIND_READER
+ db FLAME_WHEEL
+ db AEROBLAST
+ db COTTON_SPORE
+ db POWDER_SNOW
+ db -1 ; end
diff --git a/data/battle/ai/rain_dance_moves.asm b/data/battle/ai/rain_dance_moves.asm
new file mode 100644
index 00000000..c00e0b60
--- /dev/null
+++ b/data/battle/ai/rain_dance_moves.asm
@@ -0,0 +1,15 @@
+; AI_SMART prefers these moves during rain.
+
+RainDanceMoves:
+ db WATER_GUN
+ db HYDRO_PUMP
+ db SURF
+ db BUBBLEBEAM
+ db THUNDER
+ db WATERFALL
+ db CLAMP
+ db BUBBLE
+ db CRABHAMMER
+ db OCTAZOOKA
+ db WHIRLPOOL
+ db -1 ; end
diff --git a/data/battle/ai/reckless_moves.asm b/data/battle/ai/reckless_moves.asm
new file mode 100644
index 00000000..67252979
--- /dev/null
+++ b/data/battle/ai/reckless_moves.asm
@@ -0,0 +1,9 @@
+; AI_AGGRESSIVE does not discourage these moves
+; even if a stronger one is available.
+
+RecklessMoves:
+ db EFFECT_SELFDESTRUCT
+ db EFFECT_RAMPAGE
+ db EFFECT_MULTI_HIT
+ db EFFECT_DOUBLE_HIT
+ db -1 ; end
diff --git a/data/battle/ai/residual_moves.asm b/data/battle/ai/residual_moves.asm
new file mode 100644
index 00000000..c99ac0f5
--- /dev/null
+++ b/data/battle/ai/residual_moves.asm
@@ -0,0 +1,16 @@
+; AI_CAUTIOUS discourages these moves after the first turn.
+
+ResidualMoves:
+ db MIST
+ db LEECH_SEED
+ db POISONPOWDER
+ db STUN_SPORE
+ db THUNDER_WAVE
+ db FOCUS_ENERGY
+ db BIDE
+ db POISON_GAS
+ db TRANSFORM
+ db CONVERSION
+ db SUBSTITUTE
+ db SPIKES
+ db -1 ; end
diff --git a/data/battle/ai/risky_effects.asm b/data/battle/ai/risky_effects.asm
new file mode 100644
index 00000000..529436c4
--- /dev/null
+++ b/data/battle/ai/risky_effects.asm
@@ -0,0 +1,7 @@
+; AI_RISKY will not use these effects at max HP
+; even if they would KO the player.
+
+RiskyEffects:
+ db EFFECT_SELFDESTRUCT
+ db EFFECT_OHKO
+ db -1 ; end
diff --git a/data/battle/ai/stall_moves.asm b/data/battle/ai/stall_moves.asm
new file mode 100644
index 00000000..65838e0f
--- /dev/null
+++ b/data/battle/ai/stall_moves.asm
@@ -0,0 +1,37 @@
+; AI_OPPORTUNIST discourages these moves
+; when the player's HP is low.
+
+StallMoves:
+ db SWORDS_DANCE
+ db TAIL_WHIP
+ db LEER
+ db GROWL
+ db DISABLE
+ db MIST
+ db COUNTER
+ db LEECH_SEED
+ db GROWTH
+ db STRING_SHOT
+ db MEDITATE
+ db AGILITY
+ db RAGE
+ db MIMIC
+ db SCREECH
+ db HARDEN
+ db WITHDRAW
+ db DEFENSE_CURL
+ db BARRIER
+ db LIGHT_SCREEN
+ db HAZE
+ db REFLECT
+ db FOCUS_ENERGY
+ db BIDE
+ db AMNESIA
+ db TRANSFORM
+ db SPLASH
+ db ACID_ARMOR
+ db SHARPEN
+ db CONVERSION
+ db SUBSTITUTE
+ db FLAME_WHEEL
+ db -1 ; end
diff --git a/data/battle/ai/status_only_effects.asm b/data/battle/ai/status_only_effects.asm
new file mode 100644
index 00000000..8748d93b
--- /dev/null
+++ b/data/battle/ai/status_only_effects.asm
@@ -0,0 +1,9 @@
+; AI_BASIC discourages these effects if the player
+; already has a status condition.
+
+StatusOnlyEffects:
+ db EFFECT_SLEEP
+ db EFFECT_TOXIC
+ db EFFECT_POISON
+ db EFFECT_PARALYZE
+ db -1 ; end
diff --git a/data/battle/ai/sunny_day_moves.asm b/data/battle/ai/sunny_day_moves.asm
new file mode 100644
index 00000000..38d6a8ee
--- /dev/null
+++ b/data/battle/ai/sunny_day_moves.asm
@@ -0,0 +1,12 @@
+; AI_SMART prefers these moves during harsh sunlight.
+
+SunnyDayMoves:
+ db FIRE_PUNCH
+ db EMBER
+ db FLAMETHROWER
+ db FIRE_SPIN
+ db FIRE_BLAST
+ db SACRED_FIRE
+ db MORNING_SUN
+ db SYNTHESIS
+ db -1 ; end
diff --git a/data/battle/ai/useful_moves.asm b/data/battle/ai/useful_moves.asm
new file mode 100644
index 00000000..456bda2d
--- /dev/null
+++ b/data/battle/ai/useful_moves.asm
@@ -0,0 +1,23 @@
+; AI_SMART knows these moves are usable all-around.
+
+UsefulMoves:
+ db DOUBLE_EDGE
+ db SING
+ db FLAMETHROWER
+ db HYDRO_PUMP
+ db SURF
+ db ICE_BEAM
+ db BLIZZARD
+ db HYPER_BEAM
+ db SLEEP_POWDER
+ db THUNDERBOLT
+ db THUNDER
+ db EARTHQUAKE
+ db TOXIC
+ db PSYCHIC_M
+ db HYPNOSIS
+ db RECOVER
+ db FIRE_BLAST
+ db SOFTBOILED
+ db SUPER_FANG
+ db -1 ; end