Using some tables, I was able to cover a good portion of them, but I just haven't kept track of them.
It would be a huge milestone for the project if all the checkboxes are checked. This indeed will take a while.
All the stat changers are covered in core.algorithms.stat_changer(...).
All the effect inflicting major status conditions (par, slp, frz, brn, psn) are implemented in core.algorithms.ailment_inflictor(...).
And here we go.
[x] 1: Inflicts regular damage with no additional effect.
[x] 2: Puts the target to sleep.
[x] 3: Has a $effect_chance% chance to [poison]{mechanic:poison} the target.
[x] 4: Drains half the damage inflicted to heal the user.
[x] 5: Has a $effect_chance% chance to [burn]{mechanic:burn} the target.
[x] 6: Has a $effect_chance% chance to [freeze]{mechanic:freeze} the target.
[x] 7: Has a $effect_chance% chance to [paralyze]{mechanic:paralysis} the target.
[ ] 8: User faints.
[ ] 9: Only works on sleeping Pokémon. Drains half the damage inflicted to heal the user.
[ ] 10: Uses the target's last used move.
[x] 11: Raises the user's Attack by one stage.
[x] 12: Raises the user's Defense by one stage.
[x] 14: Raises the user's Special Attack by one stage.
[x] 17: Raises the user's evasion by one stage.
[x] 18: Never misses.
[x] 19: Lowers the target's Attack by one stage.
[x] 20: Lowers the target's Defense by one stage.
[x] 21: Lowers the target's Speed by one stage.
[x] 24: Lowers the target's accuracy by one stage.
[x] 25: Lowers the target's evasion by one stage.
[ ] 26: Resets all Pokémon's stats, accuracy, and evasion.
[ ] 27: User waits for two turns, then hits back for twice the damage it took.
[ ] 28: Hits every turn for 2-3 turns, then confuses the user.
[ ] 317: Raises the user's Attack and Special Attack by one stage.
[ ] 318: Has double power if the user has no held item.
[ ] 319: User becomes the target's type.
[ ] 320: Has double power if a friendly Pokémon fainted last turn.
[ ] 321: Inflicts damage equal to the user's remaining HP. User faints.
[ ] 322: Raises the user's Special Attack by three stages.
[ ] 323: Raises the user's Attack, Defense, and accuracy by one stage each.
[ ] 324: Gives the user's held item to the target.
[ ] 325: With [Grass Pledge]{move:grass-pledge}, halves opposing Pokémon's Speed for four turns.
[ ] 326: With [Water Pledge]{move:water-pledge}, doubles the effect chance of friendly Pokémon's moves for four turns.
[ ] 327: With [Fire Pledge]{move:fire-pledge}, damages opposing Pokémon for 1/8 their max HP every turn for four turns.
[ ] 328: Raises the user's Attack and Special Attack by one stage each.
[ ] 329: Raises the user's Defense by three stages.
[ ] 330: Has a $effect_chance% chance to put the target to sleep.
[ ] 331: Lowers the target's Speed by one stage.
[ ] 332: Requires a turn to charge before attacking. Has a $effect_chance% chance to paralyze the target.
[ ] 333: Requires a turn to charge before attacking. Has a $effect_chance% chance to [burn]{mechanic:burn} the target.
[ ] 334: Has a $effect_chance% chance to confuse the target.
[ ] 335: Lowers the user's Defense, Special Defense, and Speed by one stage each.
[ ] 336: With [Fusion Bolt]{move:fusion-bolt}, inflicts double damage.
[ ] 337: With [Fusion Flare]{move:fusion-flare}, inflicts double damage.
[ ] 338: Deals both []{type:fighting} and []{type:flying}-type damage.
[ ] 339: Can only be used after the user has eaten a berry.
[ ] 340: Raises the Attack and Special Attack of all []{type:grass} Pokémon in battle.
[ ] 341: Covers the opposing field, lowering opponents' Speed by one stage upon switching in.
[ ] 342: Raises the user's Attack by two stages if it KOs the target.
[ ] 343: Adds []{type:ghost} to the target's types.
[ ] 344: Lowers the target's Attack and Special Attack by one stage.
[ ] 345: Changes all []{type:normal} moves to []{type:electric} moves for the rest of the turn.
[ ] 346: Heals the user for half the total damage dealt to all targets.
[ ] 347: Lowers all targets' Attack and Special Attack by one stage. Makes the user switch out.
[ ] 348: Inverts the target's stat modifiers.
[ ] 349: Drains 75% of the damage inflicted to heal the user.
[ ] 350: Protects all friendly Pokémon from non-damaging moves.
[ ] 351: Raises the Defense of all []{type:grass} Pokémon in battle.
[ ] 352: For five turns, heals all Pokémon on the ground for 1/16 max HP each turn and strengthens their []{type:grass} moves to 1.5× their power.
[ ] 353: For five turns, protects all Pokémon on the ground from major status ailments and confusion, and halves the power of incoming []{type:dragon} moves.
[ ] 354: Changes the target's move's type to []{type:electric} if it hasn't moved yet this turn.
[ ] 355: Prevents all Pokémon from fleeing or switching out during the next turn.
[ ] 356: Blocks damaging attacks and lowers attacking Pokémon's Attack by two stages on contact. Switches Aegislash to Shield Forme.
[ ] 357: Lowers the target's Attack by one stage.
[ ] 358: Lowers the target's Special Attack by one stage.
[ ] 359: Has a $effect_chance% chance to raise the user's Defense by two stages for each target hit.
[ ] 360: Ignores and destroys protection effects.
[ ] 361: Hits 2–5 times.
[ ] 362: Blocks damaging attacks and damages attacking Pokémon for 1/8 their max HP.
[ ] 363: Raises a selected ally's Special Defense by one stage.
[ ] 364: Lowers the target's Attack, Special Attack, and Speed by one stage if it is poisoned.
[ ] 365: Lowers the target's Attack by one stage.
[ ] 366: Takes one turn to charge, then raises the user's Special Attack, Special Defense, and Speed by two stages.
[ ] 367: Raises the Defense and Special Defense of all friendly Pokémon with []{ability:plus} or []{ability:minus} by one stage.
[ ] 368: Doubles prize money.
[ ] 369: For five turns, prevents all Pokémon on the ground from sleeping and strengthens their []{type:electric} moves to 1.5× their power.
[ ] 370: Does nothing.
[ ] 371: Does nothing.
[ ] 372: Has a $effect_chance% chance to paralyze the target.
[ ] 373: Grounds the target, and hits even Flying-type or levitating Pokémon.
[ ] 374: Prevents the target from leaving battle.
[ ] 375: Raises the user's Attack by one stage after inflicting damage.
[ ] 376: Adds []{type:grass} to the target's types.
[ ] 377: Protects all friendly Pokémon from damaging moves. Only works on the first turn after the user is sent out.
[ ] 378: Explodes if the target uses a []{type:fire} move this turn, damaging it for 1/4 its max HP and preventing the move.
[ ] 379: Inflicts regular damage.
[ ] 380: Super-effective against []{type:water}.
[ ] 381: Never misses.
[ ] 382: Heals the user for ½ its max HP, or ⅔ during a sandstorm.
[ ] 383: Can only be used as the first move after the user enters battle.
[ ] 384: Grants the user protection for the rest of the turn and poisons any Pokémon that tries to use a contact move on it.
[ ] 385: Traps the target.
[ ] 386: Cures the target of burns.
[ ] 387: Heals the target for ½ its max HP, or ⅔ on Grassy Terrain.
[ ] 388: Heals the user by the target's current Attack stat and lowers the target's Attack by one stage.
[ ] 389: Forces the target's opponents to aim at the target for the rest of the turn.
[ ] 390: Poisons the target and lowers its Speed by one stage.
[ ] 391: Guarantees a critical hit with the user's next move.
[ ] 392: Raises the Attack and Special Attack of all friendly Pokémon with []{ability:plus} or []{ability:minus} by one stage.
[ ] 393: Prevents the target from using sound-based moves for two turns.
[ ] 394: Damages opponents, but heals allies for 50% of their max HP.
[ ] 395: Protects Pokémon on the ground from priority moves and increases the power of their Psychic moves by 50%.
[ ] 396: Lowers the target's Attack by one stage after inflicting damage.
[ ] 397: Lowers the target's Defense by one stage after inflicting damage.
[ ] 398: Removes the user's []{type:fire} type after inflicting damage.
[ ] 399: Exchanges the user's Speed with the target's.
[ ] 400: Cures the target of a major status ailment and heals the user for 50% of its max HP.
[ ] 401: Has the same type as the user.
[ ] 402: Nullifies the target's ability if it moves earlier.
[ ] 403: Forces the target to repeat its last used move.
[ ] 404: Inflicts a burn on any Pokémon that makes contact before the attack.
[ ] 405: Lowers the user's Defense by one stage after inflicting damage.
[ ] 406: Inflicts regular damage with no additional effect.
[ ] 407: Reduces damage five turns, but must be used during hail.
[ ] 408: Only inflicts damage if the user was hit by a physical move this turn.
[ ] 409: Has double power if the user's last move failed.
[ ] 410: Steals the target's stat increases, then inflicts damage.
[ ] 411: Cannot be disrupted by abilities.
[ ] 412: Lowers the target's Attack and Special Attack by one stage.
[ ] 413: Damages the target for 75% of its remaining HP.
[ ] 414: Raises all of the user's stats by two stages.
[ ] 415: Changes the terrain to Psychic Terrain after inflicting damage.
[ ] 10001: Has an increased chance for a critical hit in Hyper Mode.
[ ] 10002: User receives 1/2 its HP in recoil.
[ ] 10003: Halves HP of all Pokémon on the field. Must recharge
[ ] 10004: Lowers the target's evasion by two stages.
[ ] 10005: Removes [Light Screen]{move:light-screen}, [Reflect]{move:reflect}, and [Safeguard]{move:safeguard}.
[ ] 10006: Changes the weather to Shadow Sky for five turns.
A list of all effects in the Pokémon games.
Using some tables, I was able to cover a good portion of them, but I just haven't kept track of them. It would be a huge milestone for the project if all the checkboxes are checked. This indeed will take a while.
core.algorithms.stat_changer(...)
.core.algorithms.ailment_inflictor(...)
.And here we go.