Gen 1 Gen 1 and tradebacks dev - Post bugs here

The opposing Beedrill used Twineedle!
Meowth lost 14.3% of its health!
Meowth was poisoned!
Meowth lost 14.3% of its health!
Hit 2 times!

I have always thought Twineedle's chance to poison wasn't re-applied for each hit, but applied once after both hits execute. Bulbapedia disagrees with me, but this faq, which seems pretty thorough and reputable, says the chance of poison is only applied once. In any case, I know for sure that on the cartridges, if Twineedle poisons, the poison message always displays after both hits of the move.

EDIT: I'm right.
 
Last edited:
Persian used Slash!
A critical hit! The opposing Muk lost 30% of its health!
Persian was hurt by poison!

The opposing Muk used Explosion!
Persian lost 52.5% of its health!

Persian fainted!

The opposing Muk fainted!

Bomboroo won the battle!

Note, Bomboroo was the one who Exploded with Muk. This should have been a draw, but apparently an inverted version of the Self-KO Clause is in effect.

* * *

In the following, Ditto shouldn't have been slower than Graveler, because it got paralyzed before Transforming, and Rapidash wasn't paralyzed when Ditto transformed into it. So Transform should have copied Rapidash's current speed, without reducing it for paralysis.

Turn 7
You have 150 seconds to make your decision.

HerpesFreeSince03 withdrew Kadabra!

HerpesFreeSince03 sent out Ditto!

Mewtwo used Thunderbolt!
The opposing Ditto lost 24% of its health!
The opposing Ditto is paralyzed! It may be unable to move!
Turn 8
You have 150 seconds to make your decision.
12ssb has 120 seconds left.

Mewtwo, come back!

Go! Rapidash!

The opposing Ditto used Transform!
The opposing Ditto transformed into Rapidash!
Turn 9
You have 150 seconds to make your decision.

Rapidash used Substitute!
Rapidash put in a substitute!
Rapidash lost 25% of its health!

The opposing Ditto used Hyper Beam!
A critical hit! Rapidash's substitute faded!
Turn 10
You have 150 seconds to make your decision.

Rapidash, come back!

Go! Graveler!

The opposing Ditto used Hyper Beam!
The opposing Ditto's attack missed!
Turn 11
You have 150 seconds to make your decision.

Graveler used Earthquake!
It's super effective! The opposing Ditto lost 76% of its health!

The opposing Ditto fainted!

* * *

When Ditto Transforms, it appears to keep its own stats rather than copy those of what it Transforms into. I had Arcanine use Hyper Beam against a Ditto that had transformed into a Chansey, which should have been a OHKO (no Reflect or stat mods were in effect). But it only did 50%, which is about how much it would have done to an un-Transformed Ditto.
 
Last edited:
As all of us already know, if Rage misses in RBY, its accuracy becomes 1/256.

Hovewer... we're all wrong.


When a Pokemon is successfully locked into Rage or a move with Thrashing About effect (Thrash or Petal Dance), the accuracy of said move will be overwritten with the scaled accuracy (i.e. with the corresponding evasion and accuracy modifiers applied) during each turn. This occurs because being locked into one of these moves is treated as a special condition causing certain parts of the move executing routines to be skipped, including the part where the move's original data is reloaded into RAM. While the move's original data is also reloaded during move selection (i.e. move selection menu for player side), this part is also skipped when the user is locked into either of these effects. As a result of the game overwritting the move's accuracy address with the scaled value when it goes through the accuracy checks, this new value will be carried over for the next turn as if the scaled accuracy was the move's actual accuracy.

Since all of these moves have maximum 255 accuracy, their accuracy cannot be increased unless it has been lowered before. On the other hand, it can be progressively decreased with the use of moves such as Sand Attack or Double Team. Let's see an example. If the target has +1 Evasion after the move's first use, its accuracy will drop from 255 to 168. (255 * 100 / 150 = 168) (i.e. 168/255 or 66%). If in the next turn its evasion has become +2, its accuracy (now 168) will become 84 ( 168 * 100 / 200 = 84); if its evasion had remained at +1, the accuracy would've dropped from 168 to 112 ( 168 * 100 / 150 = 112). The accuracy can eventually go down to just 1 this way, as the game makes sure it never drops to 0.

Rage's been believed to turn into 1/256 accuracy for this reason, but it will usually take a long time before its accuracy becomes as low as 1. In fact, if Rage only misses due to the well known 255/256 accuracy bug without any evasion or accuracy modifiers in play (or cancelling each other), its accuracy is unaffected.

In general it's harder to notice this bug with Thrash / Petal Dance than with Rage, since the lock only lasts 2-3 turns with the former.

In the video:
- Address CFD6 and register b: Rage / Thrash current accuracy (in hexadecimal).
- Register a: Random number between 0 and 255 generated for the accuracy test (in hexadecimal). If a is equal or higher than b, the move misses.
 
So Crystal_, that Hyper Beam sleep move thing:
Should the Pokemon that just used Hyper Beam still have to recharge wihile asleep (so u cannot switch out the turn after u got slept), or should it just fall asleep as usual?
Can't really duduce that from the video u made about it.

I might be incorrect there, but i think on PS you have to recharge while asleep (u burn a sleep turn but are forced to stay in) like 12ssb said in his post above, but on PO you can switch out immediately after u got slept... If that's the case either one of them is wrong^^
 
Putting the target to sleep removes its hyper beam status, so the pokemon will not have to recharge: https://github.com/iimarckus/pokered/blob/master/engine/battle/core.asm#L7246

It's also noted here under SLEEP EFFECT: http://www.smogon.com/forums/threads/past-gens-research-thread.3506992/

SLEEP EFFECT

Moves included: Hypnosis, Spore, Lovely Kiss, Sleep Powder, Sing

- Remove Hyper Beam (recharge) status from target
- Fail against a Pokemon that is already sleeping
- Fail against a Pokemon already frozen, burned, paralyzed, or poisoned, unless the target has Hyper Beam (recharge) status active (bug)
- Apply Move Hit/Miss test unless the target has Hyper Beam (recharge) status active (bug)
- Set target's Sleep counter to a random value between 1 and 7
 

Disaster Area

formerly Piexplode
it shouldn't. The last move your opponent used was Rest [not a normal- or fighting-type attack not called counter] therefore it does not work.

Worth repeating, but a summary of how counter works is:

Is the last move the opponent used a Normal-/Fighting-type attack other than Counter?
Was the last move used by either player in battle a damaging move (i.e. physical/special, not status)?

If the answer to both is yes, then the damage dealt from the last damaging move in the battle is doubled and dealt to the opponent's Pokémon.
 
Worth repeating, but a summary of how counter works is:

Is the last move the opponent used a Normal-/Fighting-type attack other than Counter that did damage?
Was the last move used by either player in battle a damaging move (i.e. physical/special, not status)?

If the answer to both is yes, then the damage dealt from the last damaging move in the battle is doubled and dealt to the opponent's Pokémon.
 

Turn 74

You have 300 seconds to make your decision.
Jolteon used Thunder Wave!
The opposing Jolteon is paralyzed! It may be unable to move!

The opposing Jolteon used Thunder Wave!
Jolteon is paralyzed! It may be unable to move!
Turn 75
You have 300 seconds to make your decision.

The opposing Jolteon used Thunderbolt!
It's not very effective... Jolteon lost 16.5% of its health!

Jolteon used Growth!
Jolteon's Special rose!
Turn 76
You have 300 seconds to make your decision.
Jolteon is paralyzed! It can't move!

The opposing Jolteon used Growth!
The opposing Jolteon's Special rose!
Turn 77
You have 300 seconds to make your decision.
The opposing Jolteon used Growth!
The opposing Jolteon's Special rose!

Jolteon used Growth!
Jolteon's Special rose!
Turn 78
You have 300 seconds to make your decision.
Jolteon used Growth!
Jolteon's Special rose!

The opposing Jolteon used Growth!
The opposing Jolteon's Special rose!
Turn 79
You have 300 seconds to make your decision.

Jolteon used Growth!
Jolteon's Special rose!

The opposing Jolteon is paralyzed! It can't move!
Turn 80
You have 300 seconds to make your decision.
Jolteon used Thunderbolt!
It's not very effective... The opposing Jolteon lost 20% of its health!

The opposing Jolteon is paralyzed! It can't move!
Turn 81
You have 300 seconds to make your decision.
The opposing Jolteon used Growth!
The opposing Jolteon's Special rose!

Jolteon used Thunderbolt!
It's not very effective... The opposing Jolteon lost 16% of its health!
Turn 82
You have 300 seconds to make your decision.
★Isa RC: hm hang on
Isa RC has 270 seconds left.
★Isa RC: 4^3
★Isa RC: 64
★Isa RC: you should not have moved before me there
Isa RC has 240 seconds left.
★Isa RC: well w/e
★Isa RC: i'll submit a bug report

The opposing Jolteon is paralyzed! It can't move!

Jolteon used Thunderbolt!
It's not very effective... The opposing Jolteon lost 15% of its health!



at turn 81, my paralyzed jolteon had boosted 4 times vs. a paralyzed opponent, my opponent had boosted 3 times. our speed should be 358/4^3 and 358/4^4, with me being faster, but at turn 81 my opponent still moved before me.

rby tradebacks meta if it matters for bugfixing
 

galbia

ARROWHEADS ARROWHEADS ARROWHEADS ARROWHEADS
is a member of the Site Staffis a Super Moderatoris a Community Contributoris a Tiering Contributoris a Contributor to Smogonis a Smogon Media Contributoris a Battle Server Moderatoris a Tutor Alumnusis a Team Rater Alumnus
PU Leader
http://replay.pokemonshowdown.com/gen1ou-283189943

Turn 24
Snorlax used Body Slam!
The opposing Snorlax lost 28.0% of its health!
The opposing Snorlax used Body Slam!
Snorlax lost 26% of its health!
Turn 25
The opposing Snorlax used Counter!
Snorlax lost 54% of its health!
Snorlax used Counter!
But it failed!

i think counter should fail if both active pokemon use the move in the same turn
 
no log because i forgot about it yesterday


but tl;dr - my fearow soaked a hyper beam on the switch, i used mirror move the following turn and got the kill, but i was forced to recharge

that probably should not have happened
 
If a Pokemon that used Hyper Beam gets hit by a sleep inducing move after hitting the beam it should not have to recharge and thus the sleeping Pokemon should be able to switch out.
However on PS this is not the case, the player with the now sleeping mon has to click rechage and stay in
 
[19:26] <@BKC> what bugs are there still
[19:26] <@BKC> in both
[19:27] <@Nails> counter is bugged
[19:27] <@Nails> unless bulbapedia is a lie
[19:28] <@Nails> using twave blocks your opponent from countering
[19:28] <@Nails> which it's not supposed to do
[19:28] <SOULWIND> wanna test that?
[19:28] <@Nails> i have
[19:28] <@Nails> on ps
[19:28] <@Nails> twave makes counter fail
[19:28] <@Nails> so do
[19:28] <@Nails> other moves
[19:28] <@Nails> If the last move used in the battle did no damage to its target, unless it is one of a few select status moves that do no reset the data for the last damage-dealing move used.
[19:28] <@Nails> These moves are: Conversion, Haze, Whirlwind, Roar, Teleport, Mist, Focus Energy, Supersonic, Confuse Ray, Recover, Softboiled, Rest, Transform, Light Screen, Reflect, PoisonPowder, Toxic, Poison Gas, Stun Spore, Thunder Wave, Glare, Substitute, Mimic, Leech Seed, Splash
[19:28] <@Nails> i havent tested all of them
[19:28] <@Nails> but i know twave and reflect do

from what I know, this is the only potential bug still remaining. could this be looked into and fixed if it is in fact a bug? thanks
 
i can attest that's how counter works in cart

bulbapedia is not a trustworthy source for old gens

crystal_'s gen 1 research is at handy our best source to check the mechanics

quoting the counter part

Additionally, special checks are applied if the move used is Counter (other than this, Counter is hardcoded as a "No Additional Effect" move). However, rather than after APPLY RANDOM FACTOR these tests are executed between CRITICAL HIT TEST and GET DAMAGE VARIABLES.
-
Counter misses if the opponent's last selected move's Base Power is 0.
- Counter misses if the opponent's last selected move's type is not Normal or Fighting, or if the move is Counter
- Counter misses if the last move used in battle that is not present in the list shown in Damage Calculation Mechanics did no damage to its target. In other words, Counter misses if the damage address contains 0.
- If these three tests were passed, damage dealt by Counter will be equal to twice the damage dealt by the last move used in battle (note that Counter might also miss later as a consequence of Move hit/miss test).
those moves doesn't meet the requirements so indeed counter should fail