RUN AND BUN AI FOR COBBLEMON!!
New Update is out! Add-on Update 0.16:
Dynamax Update! and 1.8 Cobblemon Compatible
Check out the changelog for all the details
IMPORTANT ANNOUNCEMENT!
For all versions at or after 0.15, this mod is now an add-on to the Radical Cobblemon Trainers API. Originally, this was a replacement for that mod, but in the new 0.15 version, this has changed. Now this mod is dependent on the Radical Cobblemon Trainers API to function, meaning you must have both in your mods folder for it to work.
If you update the Radical Cobblemon Trainers mod, it auto-downloads the Radical Cobblemon Trainers API. If not, you can install the latest version of Radical Cobblemon Trainers API manually.
BIG shoutout to the developer of the Radical Cobblemon Trainers, Hdainester, for putting together this add-on version for me.
Message me for questions, requests, and bugs (check out known issues at the bottom).
Surilexa@gmail.com
or submit issues here:
If you want some pre-made fights and gym progression, check out my datapack and resource pack to go with it.
Key Features:
-Dynamic Decision Making: Evaluates moves and switches in real-time based on damage, type matchups, speed, and opponent potential.
-Damage Calcs: Prioritizes OHKOs, 2HKOs, and high-damage opportunities while following a greedy algorithm.
-Intelligent Switching Logic: Scores potential party swaps, preferring faster counters, safer pivots, and even special picks like Ditto or Wobbuffet/Wynaut.
-Move Scoring System: Assigns smart scores to each move based on type effectiveness, status potential, hazards, stat drops, and tons of special cases, allowing the trainer to pick the potential best move.
-Room Awareness: Tracks Spikes, Stealth Rock, Trick Room, Weather effects, etc. Allowing for a more complete understanding of the current battle context for better move scoring.
-Speed Control Mechanics: Recognizes when to set up Tailwind, Trick Room, etc.
-Mega Showdown: Mega transformations are used instantly. Tera is more complex with the new update. You can now choose who to tera in your JSON, and the first Cobblemon matching that name will tera. Tera is also a toggle to turn on and is off by default. Check out the changelog for version 0.14.6 for Tera Logic. (No Z-moves, No Dynamax)
-Singles and Doubles Format
Future Roadmap
-
Make this mod an addon to Radical Cobblemon Trainers API so both can be operational together. 0.15.0? (Done) -
Look into tying my data pack with some cool fights into this download, along with the appropriate resource pack.
-
Basic Dynamax logic, and maybe some Z-Move stuff.
-
Add more control in the config (not sure what to change rn).
-
Continue putting new moves into scoring consideration.
-
Look into weather change ability logic.
If you have any suggestions, please let me know. I will consider all and let you know my thoughts. (Please leave a basic reason for each suggestion, as I am more likely to add it)
Required Mods:
Cobblemon 1.7
Radical Cobblemon Trainers 0.17.x
Radical Cobblemon Trainers API 0.14.x
PSA:
DOUBLE BATTLES ARE NOW OPERATIONAL!!!
Tons of special circumstances have already been accounted for, and the list will keep on growing as we test and add in more features.
Donate: https://ko-fi.com/surilexa
If you like what we are making, feel free to leave a donation; any amount is appreciated and allows us to continue working on this project.
Compatibility Issues
Due to recent changes in version 0.15, this mod now depends on the Radical Cobblemon Trainers API rather than replacing it. You must also have Radical Cobblemon Trainers API in your mod folder for this mod to work.
Example of RCTMOD JSON using this AI
/*Strings are lowercase for a reason because cobblemon will not recognize them otherwise*/
{
"name": "Brock",
"ai": {
"type": "rb", //our AI tag
"data": {
"canTera": true, //This will turn on Tera logic
"teraTarget": "geodude", //This will make it so the first geodude will tera
"canDynamax": true, // This will toggle Dynamax on
"dynamaxTarget": "geodude", //This will force Dynamax on Geodude
"canGmax": true //This will toggle G-Max for all species
}
},
"battleFormat": "GEN_9_SINGLES", //("GEN_9_DOUBLES")
"team": [
{
"species": "geodude",
"gender": "MALE",
"level": 12,
"nature": "adamant",
"ability": "sturdy",
"moveset": [
"rollout",
"magnitude"
],
"ivs": {
"hp": 31,
"atk": 31,
"def": 31,
"spa": 31,
"spd": 31,
"spe": 31
},
"evs": {"atk": 252,"hp": 252},
"heldItem": "eviolite",
"gimmicks" { "tera": "rock" } //specifies that this will tera into rock
}, //end of geodude
{
"species": "absol",
"gender": "MALE",
"level": 15,
"nature": "adamant",
"ability": "pressure",
"moveset": [
"nightslash"
],
"heldItem": "mega_showdown:absolite" // how to get mega in your team, this mirrors /give
}
] //end of team
}
KNOWN ISSUES: There are bound to be new bugs every patch. I'll try to get them handled and found before launch, but I'm only one person.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 |
### **Added:**
- Dynamax** can be enabled by the **“canDynamax”** and **“dynamaxTarget”** config options. (Similar to Tera)
- Gmax** can be enabled by the **“canGmax”** config option
- Dynamax takes priority over Tera.**
- Status moves never trigger it, since they would become Max Guard.
- The AI Dynamaxes when any of these is true:**
2. The Pokémon is the last one left
3. It can Gigantamax, is at 66% HP or more, and survives the opponent's best hit with its boosted HP.
4. A Max Move gets a KO that the normal move wouldn't, and the AI is faster or is not OHKO
5. A Max Move's stat boost sets up a KO next turn:
- a)** Max Airstream: only when the Speed boost makes the AI outspeed the opponent.
- b)** Max Knuckle / Max Ooze: only when the Attack or Special Attack boost turns next turn's Max Move into a KO.
6. **If all of these conditions are true**
``
a) Weather or terrain isn't already up.
b) It can actually be set: no Primal weather, no Strong Winds, and no Cloud Nine or Air Lock on the opponent's side.
c) We move first or survive the return hit while Dynamaxed.
d) At least one of these is true:
- It helps us: the active Pokémon or anyone left in the party uses it, and it doesn't help the opponent equally.
- It denies them: it replaces a weather or terrain the opponent is currently benefiting from.
``- Moves that fail against a Dynamaxed target now count as immune:**
- Weight-based moves: Low Kick, Grass Knot, Heavy Slam, Heat Crash.
- OHKO moves: Fissure, Guillotine, Horn Drill, Sheer Cold.
- Encore, Torment, Instruct, Skill Swap, and Entrainment.
- Roar and Whirlwind.
- Destiny Bond, when the user is Dynamaxed.
- Flinch immunity for Dynamaxed Pokémon:
- Fake Out loses its flinch bonus and is scored as a normal damaging move.
- Flinch moves no longer raise the score of paralysis moves against a Dynamaxed opponent.
### Bug Fixes
- Fake Out now correctly sees Inner Focus, Shield Dust, and Covert Cloak. It now also respects ability suppression, Mold Breaker, Teravolt, Turboblaze, and Ability Shield.
- The Shell Smash and stat-boost KO checks permanently changed the battle's cached stat stages, so later calculations that turn used fake boosts or drops.
- The Shell Smash KO check always ignored Sturdy.
- OHKO now properly sees multi-hit moves hitting through Sturdy and Focus Sash.
- Sometimes, when no opponent is on the field, the AI will incorrectly choose a random move, defaulting to Pass. This is fixed so the AI can only choose available moves.
### **Added:**
- Dynamax** can be enabled by the **“canDynamax”** and **“dynamaxTarget”** config options. (Similar to Tera)
- Gmax** can be enabled by the **“canGmax”** config option
- Dynamax takes priority over Tera.**
- Status moves never trigger it, since they would become Max Guard.
- The AI Dynamaxes when any of these is true:**
2. The Pokémon is the last one left
3. It can Gigantamax, is at 66% HP or more, and survives the opponent's best hit with its boosted HP.
4. A Max Move gets a KO that the normal move wouldn't, and the AI is faster or is not OHKO
5. A Max Move's stat boost sets up a KO next turn:
- a)** Max Airstream: only when the Speed boost makes the AI outspeed the opponent.
- b)** Max Knuckle / Max Ooze: only when the Attack or Special Attack boost turns next turn's Max Move into a KO.
6. **If all of these conditions are true**
``
a) Weather or terrain isn't already up.
b) It can actually be set: no Primal weather, no Strong Winds, and no Cloud Nine or Air Lock on the opponent's side.
c) We move first or survive the return hit while Dynamaxed.
d) At least one of these is true:
- It helps us: the active Pokémon or anyone left in the party uses it, and it doesn't help the opponent equally.
- It denies them: it replaces a weather or terrain the opponent is currently benefiting from.
``- Moves that fail against a Dynamaxed target now count as immune:**
- Weight-based moves: Low Kick, Grass Knot, Heavy Slam, Heat Crash.
- OHKO moves: Fissure, Guillotine, Horn Drill, Sheer Cold.
- Encore, Torment, Instruct, Skill Swap, and Entrainment.
- Roar and Whirlwind.
- Destiny Bond, when the user is Dynamaxed.
- Flinch immunity for Dynamaxed Pokémon:
- Fake Out loses its flinch bonus and is scored as a normal damaging move.
- Flinch moves no longer raise the score of paralysis moves against a Dynamaxed opponent.
### Bug Fixes
- Fake Out now correctly sees Inner Focus, Shield Dust, and Covert Cloak. It now also respects ability suppression, Mold Breaker, Teravolt, Turboblaze, and Ability Shield.
- The Shell Smash and stat-boost KO checks permanently changed the battle's cached stat stages, so later calculations that turn used fake boosts or drops.
- The Shell Smash KO check always ignored Sturdy.
- OHKO now properly sees multi-hit moves hitting through Sturdy and Focus Sash.
- Sometimes, when no opponent is on the field, the AI will incorrectly choose a random move, defaulting to Pass. This is fixed so the AI can only choose available moves.
### **Bug Fixes / Adjustments**
- Bulletproof ability is now considered unaffected by bomb or ball moves.
- Cleaned up the print statement when choosing the move for Pokémon to show only their name.
- Chilly Reception has been adjusted to be default +6, not +8.
- Switching has been adjusted to have the chance to still switch if x-1 moves are at -5 evaluation.
- 2HKOs and 3HKOs have been adjusted to include some guaranteed healing factors in their damage calculations.
- Morning sun, synthesis, and moonlight were showing a higher score than intended in the sun.
- When checking whether a recovery move should be used, false cases were not being handled properly. More often, a -20 score should properly show on recovery moves when heavily discouraged.
- Moves with no AI attached should have a default score of 6.
- Non-killing moves, excluding top damage, will be set to -5 score if the percent damage is less than 30%.
- Moves shown as a non-killing move were sometimes being excluded from evaluations.
### **Added Logic:**
- Tickle:** Clear body or white smoke and not mold breaker (-20 score). Defenders attack or defense at -6, (-20 score). Default +6;
- Metal Burst**: if attacker is OHKO, or Faster, or the Opponent is holding a shiny stone or has the ability Stall (score -20). If attacker is holding a shiny stone or has the ability Stall, score 75% +6, 25% +8;
- Worry Seed:** if the opponent(s) have certain abilities (score -20), if the opponent is currently asleep and does not have either Sleep Talk or Snore (score -20). Default +6;
- Captivate:** If the opponent’s ability is Oblivious, Clear Body, or White Smoke and the attacker's ability is not Mold Breaker, score -20.
If the opponent’s Special Attack is already at -6, score -20
- Disable:** if the attacker is faster and the opponent has used a move before (score = 5), if the attacker is slower(score = 6). Default -1;
- Mind Reader, Lock-on: if the opponent’s evasion is >= 3 stages (score = 50% 5: 50% 6). Default 75% 5, 25% 6.
### **Added to damage calculator (flat damage or variable power moves):**
- Super Fang
- Dragon Rage
- Night Shade
- Seismic Toss
- Flail
- Reversal
- Return
- Frustration
- Sonic Boom
- Endeavor
- Gyro Ball
- Trump Card
- Crush Grip
- Wring Out
### **Bug Fixes / Adjustments**
- Bulletproof ability is now considered unaffected by bomb or ball moves.
- Cleaned up the print statement when choosing the move for Pokémon to show only their name.
- Chilly Reception has been adjusted to be default +6, not +8.
- Switching has been adjusted to have the chance to still switch if x-1 moves are at -5 evaluation.
- 2HKOs and 3HKOs have been adjusted to include some guaranteed healing factors in their damage calculations.
- Morning sun, synthesis, and moonlight were showing a higher score than intended in the sun.
- When checking whether a recovery move should be used, false cases were not being handled properly. More often, a -20 score should properly show on recovery moves when heavily discouraged.
- Moves with no AI attached should not have a default score of 6.
- Non-killing moves, excluding top damage, will be set to -5 score if the percent damage is less than 30%.
- Moves shown as a non-killing move were sometimes being excluded from evaluations.
### **Added Logic:**
- Tickle:** Clear body or white smoke and not mold breaker (-20 score). Defenders attack or defense at -6, (-20 score). Default +6;
- Metal Burst**: if attacker is OHKO, or Faster, or the Opponent is holding a shiny stone or has the ability Stall (score -20). If attacker is holding a shiny stone or has the ability Stall, score 75% +6, 25% +8;
- Worry Seed:** if the opponent(s) have certain abilities (score -20), if the opponent is currently asleep and does not have either Sleep Talk or Snore (score -20). Default +6;
- Captivate:** If the opponent’s ability is Oblivious, Clear Body, or White Smoke and the attacker's ability is not Mold Breaker, score -20.
If the opponent’s Special Attack is already at -6, score -20
- Disable:** if the attacker is faster and the opponent has used a move before (score = 5), if the attacker is slower(score = 6). Default -1;
- Mind Reader, Lock-on: if the opponent’s evasion is >= 3 stages (score = 50% 5: 50% 6). Default 75% 5, 25% 6.
### **Added to damage calculator (flat damage or variable power moves):**
- Super Fang
- Dragon Rage
- Night Shade
- Seismic Toss
- Flail
- Reversal
- Return
- Frustration
- Sonic Boom
- Endeavor
- Gyro Ball
- Trump Card
- Crush Grip
- Wring Out
- Additions:**
Speed Calculation should now take into account ->
- Tailwind
- Lagging Tail
- Iron Ball
- Power items
- Macho Brace
Damage Calc Changes ->
1. Snow now halves the attack of Solar Beam and Solar Blade
2. Mega Sol now acts as though in Harsh Sun
3. Snow increases the defence of ice-type Pokémon by 50%
4. Checks for fatal damage with hail
5. Terrains now add damage to their respective type
6. Terrain Pulse is added
- Bug Fixes:**
2. Safety Goggles were not preventing damage from weather effects.
3. Types immune to sandstorm were not preventing fatal damage.
- Additions:**
Speed Calculation should now take into account ->
- Tailwind
- Lagging Tail
- Iron Ball
- Power items
- Macho Brace
Damage Calc Changes ->
1. Snow now halves the attack of Solar Beam and Solar Blade
2. Mega Sol now acts as though in Harsh Sun
3. Snow increases the defence of ice-type Pokémon by 50%
4. Checks for fatal damage with hail
5. Terrains now add damage to their respective type
6. Terrain Pulse is added
- Bug Fixes:**
2. Safety Goggles were not preventing damage from weather effects.
3. Types immune to sandstorm were not preventing fatal damage.
- Fixed the burn stat in predictions.
- Fixed the weather context.
- Revelation Dance is hard-coded to the primary type of the Pokémon, else the normal type.
- Weather IDs are actually accurate to their source.
- Fixed Aura ability interactions.
- Switching has been adjusted to favor a switch slightly more, and with the new bug fixes, switches should happen more often.
- Fixed a function that compares speed stats between parties.
- Adjusted Substitute to look for speed priority before giving +2 score.
- Fixed a bug in the team-wide ability checks, which was causing crashes in doubles on the last Pokémon.
- Future Sight was scoring double its original intended value
- Fixed an issue where field moves, or all ally moves that do not look at the type chart for immunities, were still being compared on the type chart. E.g., Trick Room into a dark type.
- Fixed a bug that would still score lightscreen and reflect as a +6 score instead of -20 when already up.
### **Additions**
- Added Spread move adjustments to calcs.
- Added Last Respects.
- Added Stored Power.
- Added Supreme Overlord.
- Magnitude / EQ now has scoring.
- Fixed the burn stat in predictions.
- Fixed the weather context.
- Revelation Dance is hard-coded to the primary type of the Pokémon, else the normal type.
- Weather IDs are actually accurate to their source.
- Fixed Aura ability interactions.
- Switching has been adjusted to favor a switch slightly more, and with the new bug fixes, switches should happen more often.
- Fixed a function that compares speed stats between parties.
- Adjusted Substitute to look for speed priority before giving +2 score.
- Fixed a bug in the team-wide ability checks, which was causing crashes in doubles on the last Pokémon.
- Future Sight was scoring double its original intended value
- Fixed an issue where field moves, or all ally moves that do not look at the type chart for immunities, were still being compared on the type chart. E.g., Trick Room into a dark type.
- Fixed a bug that would still score lightscreen and reflect as a +6 score instead of -20 when already up.
### **Additions**
- Added Spread move adjustments to calcs.
- Added Last Respects.
- Added Stored Power.
- Added Supreme Overlord.
- Magnitude / EQ now has scoring.
- Beads of Ruin, Vessel of Ruin, Sword of Ruin, and Tablet of Ruin now correctly get accounted for and avoid crashing.
- Defeatist, Hadron Engine, Orichalcum pulse, Overgrow, Blaze, and Punk Rock were incorrectly being accounted for in damage.
- Blaze now tracks fire-type moves correctly
- Rivalry now correctly grabs the genders of Pokémon.
- The sandstorm weather effect was crashing when looking for kills on single-type Pokémon.
- In doubles, allies were not being accounted for in some moves, causing crashes.
- Helping Hand now sees its ally as the target and does not force a pass
- Kangaskhanite was missing from the mega stone list.
- Terablast was crashing the game
- Pursuit was not checking correctly for the opponent's percentage HP
- Imprison was not correctly checking the opponent’s move set when adding score.
- Weather Ball was crashing in some instances
- Beads of Ruin, Vessel of Ruin, Sword of Ruin, and Tablet of Ruin now correctly get accounted for and avoid crashing.
- Defeatist, Hadron Engine, Orichalcum pulse, Overgrow, Blaze, and Punk Rock were incorrectly being accounted for in damage.
- Blaze now tracks fire-type moves correctly
- Rivalry now correctly grabs the genders of Pokémon.
- The sandstorm weather effect was crashing when looking for kills on single-type Pokémon.
- In doubles, allies were not being accounted for in some moves, causing crashes.
- Helping Hand now sees its ally as the target and does not force a pass
- Kangaskhanite was missing from the mega stone list.
- Terablast was crashing the game
- Pursuit was not checking correctly for the opponent's percentage HP
- Imprison was not correctly checking the opponent’s move set when adding score.
- Weather Ball was crashing in some instances.
- When certain abilities were checked, fights crashed.
- Utility Umbrella was being improperly accounted for in certain scenarios.
- When certain abilities were checked, fights crashed.
- Utility Umbrella was being improperly accounted for in certain scenarios.
### **Important**
This is the first iteration of the "Add-on version" of this mod.
Originally, this mod replaced the Radical Cobblemon API. Now this version works in tandem with the API and requires it to work. I will update the mod description to match.
### **Adjustments / Bugs:**
- New condition for healing moves -> if the AI is faster and is above 70% hp. Don't heal.
- Neutralizing gas was not being properly checked from all Pokémon on the field.
- Weather ball / Sun / Rain now takes into account the Utility umbrella held item.
### **Additions: **
- Abilities that should now be accounted for in predictions.**
- Damp
- Limber
- Chlorophyll / Swift Swim / Sand Rush / Slush Rush / Surge Surfer
- Slow Start
- Sleep Immune
- Oblivious
- Immunity / Poison Heal
- Own Tempo
- Suction Cups
- Levitate / "Raised" State
- Illuminate
- Huge Power
- Guts & Water Veil & Water Bubble & Thermal Exchange - > Willowisp
- Soundproof
- Quick Feet
- Iron Fist
- Stall
- Leaf Guard
- Flare Boost
- Overcoat
- Fairy Aura / Dark Aura / Aura Break
- Delta Stream / Primordial Sea / Desolate Land
- Merciless
- Steelworker
- Corrosion
- Dazzling
- Pastel Veil
- Transistor
- Dragon's Maw
- Queenly Majesty
- Well Baked Body
- Wind Rider
- Scrappy / Mind's Eye
- Tera Shell
- Items that should now be accounted for in damage.**
- Punching Glove Item
- Deep Sea Tooth
- Deep Sea Scale
- Light Ball
- Thick Club
- Choice scarf
- Quick Powder
- Ring Target
- Some Utility Umbrella Interactions
### **Important**
This is the first iteration of the "Add-on version" of this mod.
Originally, this mod replaced the Radical Cobblemon API. Now this version works in tandem with the API and requires it to work. I will update the mod description to match.
### **Adjustments / Bugs:**
- New condition for healing moves -> if the AI is faster and is above 70% hp. Don't heal.
- Neutralizing gas was not being properly checked from all Pokémon on the field.
- Weather ball / Sun / Rain now takes into account the Utility umbrella held item.
### **Additions: **
- Abilities that should now be accounted for in predictions.**
- Damp
- Limber
- Chlorophyll / Swift Swim / Sand Rush / Slush Rush / Surge Surfer
- Slow Start
- Sleep Immune
- Oblivious
- Immunity / Poison Heal
- Own Tempo
- Suction Cups
- Levitate / "Raised" State
- Illuminate
- Huge Power
- Guts & Water Veil & Water Bubble & Thermal Exchange - > Willowisp
- Soundproof
- Quick Feet
- Iron Fist
- Stall
- Leaf Guard
- Flare Boost
- Overcoat
- Fairy Aura / Dark Aura / Aura Break
- Delta Stream / Primordial Sea / Desolate Land
- Merciless
- Steelworker
- Corrosion
- Dazzling
- Pastel Veil
- Transistor
- Dragon's Maw
- Queenly Majesty
- Well Baked Body
- Wind Rider
- Scrappy / Mind's Eye
- Tera Shell
- Items that should now be accounted for in damage.**
- Punching Glove Item
- Deep Sea Tooth
- Deep Sea Scale
- Light Ball
- Thick Club
- Choice scarf
- Quick Powder
- Ring Target
- Some Utility Umbrella Interactions
- When seeing a kill with Fake out or First impression, the AI would bypass the check for first turn out and allow the move to have a 12-14 score.
- In double battles, when fainting an opponent Pokémon and an ally Pokémon in the same turn, crashes would occur when selecting a switch-in.
- In double battles, when only 1 opponent Pokémon remains, and AI has 2, the game will crash because of the incorrect assignment of the "adjacent" Pokémon when calculating defense strategies. Should correctly assign the singular opponent to represent both AIs adjacent.
### **Moves Added:**
- Sleep Talk / Snore** -> score 14 if sleeping (improve this in the future)
- Dream Eater / Nightmare** -> score 7-8 if faster, else 6
- Wake up slap** -> Won't use if opponent could ko back unless we go second
- Venomdrench** -> score 6-8 if opponent is psn/tox
- Shell Trap** -> checks if the opponent has any physical moves.
- When seeing a kill with Fake out or First impression, the AI would bypass the check for first turn out and allow the move to have a 12-14 score.
- In double battles, when fainting an opponent Pokémon and an ally Pokémon in the same turn, crashes would occur when selecting a switch-in.
- In double battles, when only 1 opponent Pokémon remains, and AI has 2, the game will crash because of the incorrect assignment of the "adjacent" Pokémon when calculating defense strategies. Should correctly assign the singular opponent to represent both AIs adjacent.
### **Moves Added:**
- Sleep Talk / Snore** -> score 14 if sleeping (improve this in the future)
- Dream Eater / Nightmare** -> score 7-8 if faster, else 6
- Wake up slap** -> Won't use if opponent could ko back unless we go second
- Venomdrench** -> score 6-8 if opponent is psn/tox
- Shell Trap** -> checks if the opponent has any physical moves.
2. Tera Stellar Blast doesn't crash, so it should be fine.
3. Have not confirmed, but some people were having mega transform issues? added some changes and checks; works on my end -> added example in mod description to include sample.
2. Tera Stellar Blast doesn't crash, so it should be fine.
3. Have not confirmed, but some people were having mega transform issues? added some changes and checks; works on my end -> added example in mod description to include sample.
- Changes:**
1. Expanding the prediction calculator -> Immunities, moves that have a general immunity will now be ignored as a possible move unless it is the only move.
2. Tera off by default -> turned back on in the JSON. Check the example in the mod description.
3. You can now specify who to prioritize the tera for in the JSON using the Pokémon's name. Check the example in the mod description.
4. NEW Tera Logic: (no priority specified and tera is turned on in JSON)
- Offensive: If we see a kill with Tera boost, and no kill without, and we are faster than the opponent
- Defensive: If we faint to a move, if Tera Boost would save us, and we see a slow one-hit kill.
5. New Mega Stones from Legends Z-A and Mega Dimensions added to the list.
6. Special moves that dealt additional effects are still being scored even though the opponent would be immune. (e.g. Thunderwave -> ground type, fake out -> ghost type) fixed
7. Status immune abilities like Good as Gold and Comatose, anti-flinch abilities like Inner Focus.
8. Ignore abilities (e.g. mold breaker) and their interactions with abilities and ability shield.
9. Some multiplayer inconsistencies with information while multiple fights are occurring should be better. (Fights were not resetting values)
10. Multi-hit moves will be accounted for in their damage calculations, and focus sash/sturdy.
11. Move history was not working, and moves like fake out were being used on turns after their first turn out. (Fixed move history)
12. Stat changes are now fixed. The built-in cobblemon stat map data was broken, so I tracked them myself.
- Changes:**
1. Expanding the prediction calculator -> Immunities, moves that have a general immunity will now be ignored as a possible move unless it is the only move.
2. Tera off by default -> turned back on in the JSON. Check the example in the description.
3. You can now specify who to prioritize the tera for in the JSON using the Pokémon's name. Check the example in the description
4. NEW Tera Logic: (no priority specified and tera is turned on in JSON)
- Offensive: If we see a kill with Tera boost, and no kill without, and we are faster than the opponent
- Defensive: If we faint to a move, if Tera Boost would save us, and we see a slow one-hit kill.
5. New Mega Stones from Legends Z-A and Mega Dimensions added to the list.
6. Special moves that dealt additional effects are still being scored even though the opponent would be immune. (e.g. Thunderwave -> ground type, fake out -> ghost type) fixed
7. Status immune abilities like Good as Gold and Comatose, anti-flinch abilities like Inner Focus.
8. Ignore abilities (e.g. mold breaker) and their interactions with abilities and ability shield.
9. Some multiplayer inconsistencies with information while multiple fights are occurring should be better. (Fights were not resetting values)
10. Multi-hit moves will be accounted for in their damage calculations, and focus sash/sturdy.
11. Move history was not working, and moves like fake out were being used on turns after their first turn out. (Fixed move history)
12. Stat changes are now fixed. The built-in cobblemon stat map data was broken, so I tracked them myself.
Hooked up AI to calculate double battles.
You should be able to see cleaner outputs in the logs for information on the AI decisions.
## **Warning:**
Not all doubles interactions are accounted for.
If an interaction does play out how you might have intended, it most likely hasn't been coded yet.
## **How it works:**
Each pokemon will calculate each move against each opponent. (not against allies rn)
It will save all moves that kill, all highest damaging non-killing moves, and all special moves (i.e. protect)
After scoring, it will randomly pick from all the highest scores regardless of which opponent it was used against.
Defensive calculations are done diagonally, and similarly, switch calculations.
Hooked up AI to calculate double battles.
You should be able to see cleaner outputs in the logs for information on the AI decisions.
## **Warning:**
Not all doubles interactions are accounted for.
If an interaction does play out how you might have intended, it most likely hasn't been coded yet.
## **How it works:**
Each pokemon will calculate each move against each opponent. (not against allies rn)
It will save all moves that kill, all highest damaging non-killing moves, and all special moves (i.e. protect)
After scoring, it will randomly pick from all the highest scores regardless of which opponent it was used against.
Defensive calculations are done diagonally, and similarly, switch calculations.
Changes:
Reworked AI in prep for doubles battles.
Added more abilities to calc.
Merged with Radical Trainers api 0.14.4
Next:
Fixing tera problem (adding option to turn off in json)
If people find more bugs lemme know.
Changes:
Reworked AI in prep for doubles battles.
Added more abilities to calc.
Merged with Radical Trainers api 0.14.4
Next:
Fixing tera problem (adding option to turn off in json)
If people find more bugs lemme know.
This version should be working, I had to grab an earlier version of the 1.6 update.
Check out mod description for solutions to compatibility errors.
It's been brought to my attention that mega pokemon have been trying to Tera on the same turn. The safeguards I made were failing and I have fixed them.
Added new abilities to damage prediction -> {
Filter
Solid Rock
Prism Armor
Friend Guard
Heatproof
Thick Fat
Fluffy
Multiscale
Shadow Shield
Ice Scales
Purifying Salt
Water Bubble
Dry Skin
Shell armor
Battle Armor
Sniper
tinted lens
}
0.17.1 Radical Cobblemon Trainers
This is experimental. I'm sure with the release of the new cobblemon update, there are bound to be bugs, but you never know.
This version should work with RCT version 0.16.10.
- Massive bug was causing most special moves to not be scored cause little functionality being used. (fixed)
- Recovery moves were not being used properly (fixed)
- Setup moves were being used at low hp (fixed)
- Move History tracking rework
- Turn tracker rework (built in function was not working)
- Moves were being added to history before the move was used. (fixed)
- Explosion and similar moves were being seen as the most damaging move (fixed)
- Last Pokemon was broken becasue it did not see a viable switchable pokemon forcing a pass. (fixed)
- Added Legendary items to calcs
- Added Gems and plates to calcs
- Added Sucker punch, Shadow Sneak, Aqua Jet, Ice Shard, spiky shield.
We are a two man team, so testing is taking some time but we will continually release fixes.