xfr Posted June 12, 2012 Posted June 12, 2012 (edited) Pokécheck VS. Player: http://vsplayer.pokecheck.org As some may know, the state of knowledge of the Battle Video system makes it possible to have a web based parser for battle videos. Battle videos only contain bpkm data and the players' choice of moves. The parser needs to integrally and faithfully emulate the Pokémon battle system to produce logs, with special attention required to stick the current BRNG value. Any frame off makes all subsequent result invalid. Because in its current state, the VS. Player only implements a fragment of the full battle system, this thread exists to report the most important missing features and bugs. Because each bug requires debugging of the affected videos, reports should follow the following rules: You are only allowed to report one bug or feature request at a time. Until it is actually fixed or implemented, any subsequent request you make will be ignored. You should report major issues on frequently used features before anything else. Reports are handled on a priority basis. You MUST include the battle video ID where the problem occurs, and the first turn for which the VS. Player is giving wrong results. Note that you must be a registered Pokécheck user to access the VS. Player. This is because this program has to make requests to the Nintendo servers. This is highly dangerous since it exposes the Pokécheck website to blacklisting by Nintendo. As such, strict global and per-user limits are set to limit the number of queries. Each requested video is cached on the server and only requested once. Q&A: Q: Is it possible to emulate the battle video server like the GTS? A: Yes. The protocol is encrypted but it doesn't check the signature of the server certificate, except for the Pokémon validation service (pkvldt) which is required to get a signature on any video uploaded to the official battle server Q: Is it possible to create battle videos from scratch? A: Yes, it has been possible for some months, see for instance Q: Is it possible to convert a battle log from a simulator like PO/PS to a battle video that I could send on Youtube or on the Nintendo video server? A: Yes, but it requires the simulator to faithfully emulate the battle system. Only the VS. Player can do that at the moment, even though some steps have been taken to make it possible (see for instance www.smogon.com/bw/articles/bw_complete_damage_formula) Edited January 18, 2013 by Bond697
Localhorst Posted June 12, 2012 Posted June 12, 2012 There is an error in this Logfile I just read: http://vsplayer.pokecheck.org/?bid=937056110440 from turn 3/4 on. In round 3, Politoed fainted, but Roger did not send out a replacement. Instead the logfile always says that Politoed "was trying" to do a move. In round 6, Roger replaces "Politoed" with Electrivire. Judging from the logfile (I didn't watch the original video), I guess he sent out Vaporeon for the fainted Politoed. The log misses that, so every further action gets messed up and "Politoad was trying" to... until Vaporeon gets switched out.
Kaphotics Posted June 12, 2012 Posted June 12, 2012 There is an error in this Logfile I just read: http://vsplayer.pokecheck.org/?bid=937056110440 from turn 3/4 on.In round 3, Politoed fainted, but Roger did not send out a replacement. Instead the logfile always says that Politoed "was trying" to do a move. In round 6, Roger replaces "Politoed" with Electrivire. Judging from the logfile (I didn't watch the original video), I guess he sent out Vaporeon for the fainted Politoed. The log misses that, so every further action gets messed up and "Politoad was trying" to... until Vaporeon gets switched out. from the .dbv file, the battle instructions: 92 TURN 1 02 11 1C 00 00 E1 38 00 00 22 E1 2C 00 00 A1 76 00 00 12 SWITCH ON TURN 1 01 00 00 00 00 21 83 01 00 00 92 TURN 2 02 31 1C 00 00 E1 39 00 00 22 01 DB 00 00 13 01 00 00 12 SWITCH ON TURN 2 01 00 00 00 00 21 13 01 00 00 92 TURN 3 02 31 1C 00 00 11 65 00 00 22 01 DB 00 00 01 DE 00 00 12 SWITCH ON TURN 3 01 00 00 00 00 21 03 04 00 00 92 TURN 4 02 11 1C 00 00 E1 38 00 00 22 81 24 00 00 00 00 00 00 92 TURN 5 02 11 1D 00 00 91 86 00 00 22 E1 5F 00 00 00 00 00 00 92 TURN 6 02 11 1D 00 00 11 65 00 00 22 21 B4 00 00 00 00 00 00 12 SWITCH ON TURN 6 01 [u]03 01 00 00[/u] - Player0 switches Politoed out. 21 03 04 00 00 As you can see there's no switch on turn 3 for player0, so Politoed must not have been KO'd on turn 3. My guess is a misplaced RNG call, probably with the Stone Edge crit not happening.
evo2587 Posted June 12, 2012 Posted June 12, 2012 the link Localhorst posted is mine a pokecheck private battle organized via pm between me and genetics im just watching the video now on my ds so il check to see what happened and il keep you posted as it could be an error edit: Genetics Landorus's Critical hit Stone Edge attack left my Politoed with 14 hp left then i ko'd it by using a rain boosted STAB hydro pump (politoed was still in battle till it got ko'd in turn 7) the video is still on the the Battle Video section where RM and GTS is to watch if needed
Hozu Posted June 12, 2012 Posted June 12, 2012 Posting this on behalf of Coolbiz of Smogon. Crits from a multi-hit move on the last turn of this battle aren't being taken into account in the visible log - http://vsplayer.pokecheck.org/?bid=859978881187 What the video looks like - Edit: There may be other issues with this replay as well. I think. Compare the Vs. Player output with the video.
xfr Posted June 12, 2012 Author Posted June 12, 2012 There is an error in this Logfile I just read: http://vsplayer.pokecheck.org/?bid=937056110440 from turn 3/4 on.In round 3, Politoed fainted, but Roger did not send out a replacement. Instead the logfile always says that Politoed "was trying" to do a move. In round 6, Roger replaces "Politoed" with Electrivire. Judging from the logfile (I didn't watch the original video), I guess he sent out Vaporeon for the fainted Politoed. The log misses that, so every further action gets messed up and "Politoad was trying" to... until Vaporeon gets switched out. Fixed (weather bug)
xfr Posted June 12, 2012 Author Posted June 12, 2012 Posting this on behalf of Coolbiz of Smogon.Crits from a multi-hit move on the last turn of this battle aren't being taken into account in the visible log - http://vsplayer.pokecheck.org/?bid=859978881187 What the video looks like - Edit: There may be other issues with this replay as well. I think. Compare the Vs. Player output with the video. Fixed by implementing Effect Spore. Relevant ASM: EffectSpore: seg006:021D9DD0 PUSH {R3-R6,LR} seg006:021D9DD2 SUB SP, SP, #0xC seg006:021D9DD4 MOVS R0, #4 seg006:021D9DD6 MOVS R5, R1 seg006:021D9DD8 MOVS R6, R2 seg006:021D9DDA BL ReadVolatileVariable seg006:021D9DDE CMP R6, R0 seg006:021D9DE0 BNE loc_21D9E18 seg006:021D9DE2 MOVS R0, #0x46 @ 'F' seg006:021D9DE4 BL ReadVolatileVariable seg006:021D9DE8 CMP R0, #0 seg006:021D9DEA BNE loc_21D9E18 seg006:021D9DEC MOVS R0, #0x1E seg006:021D9DEE BL BRand seg006:021D9DF2 CMP R0, #0x14 seg006:021D9DF4 BLS loc_21D9DFA seg006:021D9DF6 MOVS R4, #5 ; Poison seg006:021D9DF8 B loc_21D9E02 seg006:021D9DFA @ --------------------------------------------------------------------------- seg006:021D9DFA seg006:021D9DFA loc_21D9DFA: @ CODE XREF: EffectSpore+24j seg006:021D9DFA MOVS R4, #1 ; Para seg006:021D9DFC CMP R0, #0xA seg006:021D9DFE BHI loc_21D9E02 seg006:021D9E00 MOVS R4, #2 ; Sleep seg006:021D9E02 seg006:021D9E02 loc_21D9E02: @ CODE XREF: EffectSpore+28j seg006:021D9E02 @ EffectSpore+2Ej seg006:021D9E02 MOVS R0, R4 seg006:021D9E04 BL sub_21D7D38 ; If sleep precompute duration (rand(3)+2) seg006:021D9E08 MOVS R3, R0 seg006:021D9E0A MOVS R0, #0x1E seg006:021D9E0C STR R0, [sP] seg006:021D9E0E MOVS R0, R5 seg006:021D9E10 MOVS R1, R6 seg006:021D9E12 MOVS R2, R4 seg006:021D9E14 BL effectSporeRand seg006:021D9E18 seg006:021D9E18 loc_21D9E18: @ CODE XREF: EffectSpore+10j seg006:021D9E18 @ EffectSpore+1Aj seg006:021D9E18 ADD SP, SP, #0xC seg006:021D9E1A POP {R3-R6,PC} seg006:021D9E1A @ End of function EffectSpore seg006:021D9E1A seg006:021D9E1C seg006:021D9E1C @ =============== S U B R O U T I N E ======================================= seg006:021D9E1C seg006:021D9E1C seg006:021D9E1C sub_21D9E1C: seg006:021D9E1C MOVS R1, #1 seg006:021D9E1E STR R1, [R0] seg006:021D9E20 LDR R0, =0x21F0850 seg006:021D9E22 BX LR seg006:021D9E22 @ End of function sub_21D9E1C seg006:021D9E22 seg006:021D9E22 @ --------------------------------------------------------------------------- seg006:021D9E24 dword_21D9E24:.long 0x21F0850 @ DATA XREF: sub_21D9E1C+4r seg006:021D9E28 seg006:021D9E28 @ =============== S U B R O U T I N E ======================================= seg006:021D9E28 seg006:021D9E28 seg006:021D9E28 effectSporeRand: @ CODE XREF: sub_21D9CAC+1Ap seg006:021D9E28 @ sub_21D9CDC+1Ap ... seg006:021D9E28 seg006:021D9E28 varg_r0= -0x10 seg006:021D9E28 varg_r1= -0xC seg006:021D9E28 varg_r2= -8 seg006:021D9E28 varg_r3= -4 seg006:021D9E28 seg006:021D9E28 PUSH {R0-R3} seg006:021D9E2A PUSH {R3-R7,LR} seg006:021D9E2C MOVS R4, R0 seg006:021D9E2E MOVS R0, #4 seg006:021D9E30 MOVS R5, R1 seg006:021D9E32 MOVS R6, R2 seg006:021D9E34 MOVS R7, #4 seg006:021D9E36 BL ReadVolatileVariable seg006:021D9E3A CMP R5, R0 seg006:021D9E3C BNE loc_21D9E98 seg006:021D9E3E MOVS R0, #0x46 @ 'F' seg006:021D9E40 BL ReadVolatileVariable seg006:021D9E44 CMP R0, #0 seg006:021D9E46 BNE loc_21D9E98 seg006:021D9E48 MOVS R0, #0x12 seg006:021D9E4A BL ReadVolatileVariable seg006:021D9E4E LSLS R0, R0, #0x10 seg006:021D9E50 LSRS R0, R0, #0x10 seg006:021D9E52 MOVS R1, #0 seg006:021D9E54 BL GetMoveFlag ; contact flag seg006:021D9E58 CMP R0, #0 seg006:021D9E5A BEQ loc_21D9E98 seg006:021D9E5C ADD R1, SP, #0x28 seg006:021D9E5E LDRB R1, [R1] seg006:021D9E60 MOVS R0, R4 seg006:021D9E62 BL RandomEffect ; rand(100)<30 seg006:021D9E66 CMP R0, #0 seg006:021D9E68 BEQ loc_21D9E98 seg006:021D9E6A MOVS R0, R4 seg006:021D9E6C MOVS R1, #0xC seg006:021D9E6E MOVS R2, R5 seg006:021D9E70 BL sub_21C88C4 seg006:021D9E74 MOVS R5, R0 seg006:021D9E76 LDR R1, [R5] seg006:021D9E78 LSLS R0, R7, #0x15 seg006:021D9E7A ORRS R0, R1 seg006:021D9E7C STR R0, [R5] seg006:021D9E7E LDR R0, [sP,#0x24] seg006:021D9E80 STR R6, [R5,#4] seg006:021D9E82 STR R0, [R5,#8] seg006:021D9E84 MOVS R0, #0 seg006:021D9E86 STRB R0, [R5,#0xC] seg006:021D9E88 MOVS R0, #3 seg006:021D9E8A BL ReadVolatileVariable seg006:021D9E8E STRB R0, [R5,#0xF] seg006:021D9E90 MOVS R0, R4 seg006:021D9E92 MOVS R1, R5 seg006:021D9E94 BL sub_21C88E8 seg006:021D9E98 seg006:021D9E98 loc_21D9E98: @ CODE XREF: effectSporeRand+14j seg006:021D9E98 @ effectSporeRand+1Ej ... seg006:021D9E98 POP {R3-R7} seg006:021D9E9A POP {R3} seg006:021D9E9C ADD SP, SP, #0x10 seg006:021D9E9E BX R3 seg006:021D9E9E @ End of function effectSporeRand Note that effect spore has a slight biais towards sleep and against poison.
evo2587 Posted June 12, 2012 Posted June 12, 2012 Asral from pokecheck has said Quoted from Astral as he has no account here: Astral and for the winner of the battle, winner next to the trainer who won would be great, i just look at stats, and movesets, and placing the BRNG seed is strange for me Jun 12, 08:40pm Sorry if this is not allowed
Mandrew Posted June 12, 2012 Posted June 12, 2012 Reporting a bug with Leech Seed: http://vsplayer.pokecheck.org/?bid=72-95417-60253 Trick Room is active. Ferrothorn used Leech Seed on Zapdos, but Zapdos's Heat Wave KOed my Ferrothorn. Even so, Vs. Player still reports my Ferrothorn going from 0 HP to 21 HP (and Zapdos losing that HP). Later in the battle, Scrafty is reported as gaining two Moxie Attack boosts from KOing only one Pokémon.
Localhorst Posted June 13, 2012 Posted June 13, 2012 Here is something that seems to be similar to the bug we had earlier with that Politoed, but I guess it is different. http://vsplayer.pokecheck.org/?bid=259278393390 From round 8 on, you'll see what I mean. Seems like Zapdos survived the rock slide and gets replaced with Scizor in round 10 (under the condition the moves aren't screwed up), but I can be wrong.
xfr Posted June 13, 2012 Author Posted June 13, 2012 Here is something that seems to be similar to the bug we had earlier with that Politoed, but I guess it is different. http://vsplayer.pokecheck.org/?bid=259278393390From round 8 on, you'll see what I mean. Seems like Zapdos survived the rock slide and gets replaced with Scizor in round 10 (under the condition the moves aren't screwed up), but I can be wrong. Fixed by implementing Roost landing. Do not try to guess what is wrong based on the log, this is futile because of error propagation.
GBZero Posted June 13, 2012 Posted June 13, 2012 http://vsplayer.pokecheck.org/?bid=156121389038 Not sure quite what happened so here is kinda a play by play of things that didn't happen correctly until it was too desynced to matter I think. Hopes this helps. Turn 1, burn damage error, Conkledurr consistently at 26 less hp until turn 11 where he dies in both Log and in game. Turn 7, Helping hand gets blocked by substitute, which didn't happen, Sawsbuck dies in both. Turn 10 Thunderus Discharge incorrectly misses Volcarona in log Turn 11 Conkledurr survives the Air slash from Sigilyph in game, and Sig survives the drain punch. Log mistakenly says he takes life orb damage. The Rock Slide misses Volcarona in game. Turn 12 Torment incorrectly triggers is on Volcarona, in the log. Heat Wave does break Thunderus Substitute. Sigilyph dies this round. Log incorrectly states that Volcarona gets paralyzed this round. Clams Life Orb damage again this round on Sigilyph, which didn't occur. Turn 13 Conkledurr does in game to a mach punch inducing a burn. Morning Sun Does go off this round ingame. Foe Conkledurr finally dies this round to discharge. Discharge does not crit Volcarona in game From turn 14 onward its very desynced and not likely worth mentioning.
Hozu Posted June 13, 2012 Posted June 13, 2012 There's a problem with one of my videos here - http://vsplayer.pokecheck.org/?bid=764624368039 What actually happened -
Magicsgame Posted June 14, 2012 Posted June 14, 2012 I have a similar problem to GBZero in this battle between Cybertron and BlueCookies: http://vsplayer.pokecheck.org/?bid=259278330190 It states that Togekiss took burn damage on Turn 1 when it didn't, causing it to faint on Turn 3 in the log instead of Turn 5 like in the video. However, the log still states that Togekiss tried to use the moves that it actually took in the battle. This also means that Garchomp wasn't put to sleep by Sleep Talk Psycho Shift in the log, causing further desyncs until it stated that Cybertron won 1-0 with Volcarona (when BC really won 2-0 with Cresselia and Garchomp).
Kaphotics Posted June 14, 2012 Posted June 14, 2012 I have a similar problem to GBZero in this battle between Cybertron and BlueCookies:http://vsplayer.pokecheck.org/?bid=259278330190 It states that Togekiss took burn damage on Turn 1 when it didn't, causing it to faint on Turn 3 in the log instead of Turn 5 like in the video. However, the log still states that Togekiss tried to use the moves that it actually took in the battle. This also means that Garchomp wasn't put to sleep by Sleep Talk Psycho Shift in the log, causing further desyncs until it stated that Cybertron won 1-0 with Volcarona (when BC really won 2-0 with Cresselia and Garchomp). flame orb inflicts a burn after the burn 10% damage check happens, that's why that error is also present in GBZero's video -- other errors in his video are flame body trying to burn an already statused Conkeldurr and heat wave trying to status a mon whose substitute faded from the attack
Magicsgame Posted June 15, 2012 Posted June 15, 2012 http://vsplayer.pokecheck.org/?bid=259278330190, 25-92783-30190 While the Flame Orb issue is fixed, Togekiss no longer uses Sleep Talk on turn 4, causing the battle to desync.
xfr Posted June 15, 2012 Author Posted June 15, 2012 http://vsplayer.pokecheck.org/?bid=259278330190, 25-92783-30190While the Flame Orb issue is fixed, Togekiss no longer uses Sleep Talk on turn 4, causing the battle to desync. Fixed by implementing sleep talk (rand(3) to pick one of the other moves) Sand Veil actually lowers the accuracy threshold (user accuracy/target evasion) by 20%. Hence it should be considered as a 25% boost to evasion, not 20% as stated in game.
xfr Posted June 16, 2012 Author Posted June 16, 2012 I have found an error corresponding to recoil damage in one of my battle videos. the video number is 87-57355-93779 and the problem occurs on turn 2 when my blaziken faints from recoil damage. it should have only taken minor damage and should have barely survived through the 6th turn and finally faint in the 7th (final) turn from recoil damage. my gastrodon should also have survived with about 41 HP remaining Fixed by implementing King's Rock and freeze mechanics
DaGizoid Posted June 16, 2012 Posted June 16, 2012 http://vsplayer.pokecheck.org/?bid=938627362852 , 93-86273-62852 in this video, the move sucker punch used in the first turn should have failed due to the opponent's chandelure using will-o-wisp, a non-damaging move.
xfr Posted June 16, 2012 Author Posted June 16, 2012 There's a problem with one of my videos here - http://vsplayer.pokecheck.org/?bid=764624368039What actually happened - Fixed due to the following mechanism: using protect on a Pokémon that does not get targeted by any move during the turn will not increase the protect counter for that Pokémon. As far as I know no one documented this behavior before nad it's not clear whether it is intended or not.
squirtli Posted June 17, 2012 Posted June 17, 2012 http://vsplayer.pokecheck.org/?bid=542402146189 Turn 3, Toxicroak takes damage from Surf instead of Dry Skin activating. This causes him to faint later in the turn and the battle gets weird.
Kaphotics Posted June 17, 2012 Posted June 17, 2012 above ^ dry skin not yet implemented (don't know if other typebased absorbs are either) http://vsplayer.pokecheck.org/?bid=797522964094 On Turn 4, the foe's Swanna uses Hurricaine on my Vespiquen and missed, but the log says it hit and I failed to make a Sub Random event(1) at the end of turn 2 when Volcarona faints looks to be the error -- life orb recoil faint? the first sign of the desync is when Haxorus is put 38 HP instead of 32 (vsplayer predict) useful memlocs for tracking HP 022D10D0 Left Ally 022D11D0 Right Ally 022D1150 Right Opponent 022D12D0 Left Opponent
Kaphotics Posted June 19, 2012 Posted June 19, 2012 para que sirven estos Download raw DBV file It serves no purpose for the general user. It's the decrypted data that the game reads to re-create the battle. You don't have to worry about it.
Kaphotics Posted June 20, 2012 Posted June 20, 2012 03:35 Kaphotics heh battle video #2 is broken 03:35 Kaphotics http://vsplayer.pokecheck.org/?bid=2 03:36 Kaphotics Looks like it's because endeavor took one to many calls on turn 5 03:36 Kaphotics it shouldnt have a Random event(16) for a crit/damage since it's fixed
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now