Hi, didn't have any idea where to put this (feel free to move this if you need to, Mods), but basically in short I'm developing a Pokemon Port for blind people, and I need a review for Trainer AI. Actually, any ideas would help at this point because I'm tired and haven't been into competitive battling for a while now. No it's not a ROM hack, it's being developed in GM8.1 because I'm a lazy bum.
Some notes about this game:
Since it is going to eventually expand with all regions, I have a mixed bag in terms of moves, Pokemon and mechanics. Here's the basic laydown:
Pokemon are Gen I. Pokemon can't hold items (yet. The variable's there but there's no code that handles it at all yet)
Moves are Gen II. Most effects are gen III+ however (except for low kick but that's gonna change eventually)
Stat calculation is Gen III+.
Moves are split with Physical/Special, like in Gen IV+.
Anyways, here's what I got thus far:
Since you guys are totally into Competitive battling I would assume you guys would be really good at helping develop the AI for my game. Feel free to add more AI tiers, and add explanations onto whatever this or that strategy that you have. I really appreciate any input that I can get. Thanks!
Some notes about this game:
Since it is going to eventually expand with all regions, I have a mixed bag in terms of moves, Pokemon and mechanics. Here's the basic laydown:
Pokemon are Gen I. Pokemon can't hold items (yet. The variable's there but there's no code that handles it at all yet)
Moves are Gen II. Most effects are gen III+ however (except for low kick but that's gonna change eventually)
Stat calculation is Gen III+.
Moves are split with Physical/Special, like in Gen IV+.
Anyways, here's what I got thus far:
Code:
AI tiers:
All tiers can use items.
Tier 0:
Random moves only. Never switches.
Tier 1:
Random, but if a stalemate between two attacking moves, will choose the attacking move that is more powerful. Will not inflict status effects if already suffering from status effects. Never switches.
Will not use substitute or belly drum if HP is too low.
Tier 2:
If Pokemon has higher defenses than offenses, begins with first a status inflicting move, then a status lowering move. Once both have been implemented, will attack normally.
If Pokemon has higher offenses, will skip status lowering abilities unless enemy defenses/offenses are unusually high, using the status inflicting move to lower the stat. Will use a move that inflicts paralysis to lower speed, or a speed dropping move, but will not use status effecter if misses more than twice.
Both examples will use foresight or Odor sleuth if player has used Double Team or Minimize more than twice. If they lack this move, will use a 100% accuracy move instead.
Will use recovery moves if 33% or less.
Will not use substitute or belly drum if HP is too low.
Will only switch to counter Perish Song, and only on the last turn.
Tier 3:
If Pokemon has higher defenses than offenses, begins with first a status inflicting move, then a status lowering move. Once both have been implemented, will attack normally.
If Pokemon has higher offenses, will skip status lowering abilities unless enemy defenses/offenses are unusually high, using the status inflicting move to lower the stat. Will use a move that inflicts paralysis to lower speed, or a speed dropping move, but will not use status effecter if misses more than twice.
Both examples will use foresight or Odor sleuth if player has used Double Team or Minimize more than twice. If they lack this move, will use a 100% accuracy move instead.
Will use recovery moves if 50% or less.
Will switch if no moves are super effective and another character in the party has a super effective offensive move, or if the trainer has no moves that will hit the enemy Pokemon (for example, if a pokemon has all normal type moves, and sing, and is facing gastly, then will switch if gastly is under a status effect). Will also switch if affected by perish song. Will not use baton pass if affected by perish song.
Tier 4:
Highest tier.
Will have the following strategies implemented, checking for moveset.
Baton Pass + Status Booster
Will boost a stat up two stages then attempt to Baton Pass.
Baton Pass + Substitute
Will set up a substitute, then attempt to Baton Pass.
Mean Look/Spider Web + Perish Song
Will use the trapping move, then perish song away.
Super Fang + Quick Attack
Will use Super Fang to half HP, then use quick attack.
Spikes + Whirlwind/Roar
Will use spikes to set up, then whirlwind or roar to cause damage onto opponents. If a status effect move is in the moveslots, such as Toxic, will try to inflict a status effect before whirlwinding again (unless already has a status effect).
Endure + Reversal/Flail
Will use endure, then use reversal for a strong final attack.
Substitute + Leech Seed
Will use substitute, then Leech Seed.
Substitute + Pain Split
Will use Substitute, then pain split (if effective).
Reflect + Light Screen
Will use both moves first, then attack. Once one goes down, will put it back up.
Broad move combinations:
If has a paralysis and flinching move, will inflict paralysis, then try to flinch.
If has a paralysis and confusing move, will inflict paralysis, then try to confuse. After confusing, will attack.
Will focus on using attacks that are the same kind (physical or special as the attacking stat of the user. If Super Effective or STAB causes more damage, then will use that move.
If User uses an attacking move twice in a row, will use counter/mirror coat depending on that move.
Will use whirlwind/Roar if user is using stat booster to set up.
Will use Heal Bell if any Pokemon has a status effect, but will not use the move every turn.
Will use recovery move if HP is below 50%, but will not use a recovery move three times in a row.
FROM THERE
If Pokemon has higher defenses than offenses, begins with first a status inflicting move, then a status lowering move. Once both have been implemented, will attack normally.
If Pokemon has higher offenses, will skip status lowering abilities unless enemy defenses/offenses are unusually high, using the status inflicting move to lower the stat. Will use a move that inflicts paralysis to lower speed, or a speed dropping move, but will not use status effecter if misses more than twice.
Both examples will use foresight or Odor sleuth if player has used Double Team or Minimize more than twice. If they lack this move, will use a 100% accuracy move instead.
Will switch if no moves are super effective and another character in the party has a super effective offensive move, or if the trainer has no moves that will hit the enemy Pokemon (for example, if a pokemon has all normal type moves, and sing, and is facing gastly, then will switch if gastly is under a status effect). Will also switch if affected by perish song. Will not use baton pass if affected by perish song. Will switch out if trainer has a strong defensive pokemon with at least a 0.5x damage multiplier from the current move, if Pokemon is below 33% HP. Will switch out if an initially fast pokemon has paralysis, or an initially physically strong pokemon has a burn. Will automatically switch out if Pokemon is frozen. If Pokemon does not have Snore or Sleep Talk, will switch out if Asleep. Will switch out from Toxic Poison after three turns or if HP is below 33%.
Since you guys are totally into Competitive battling I would assume you guys would be really good at helping develop the AI for my game. Feel free to add more AI tiers, and add explanations onto whatever this or that strategy that you have. I really appreciate any input that I can get. Thanks!