1 2
5 6
Post subject: Harry Potter and The Sorcerer's Stone
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
While playing this game, I stumbled upon a glitch. So I TAS'd all the way to that point, but it froze the game. =/ Would this glitch lead to something useful? .vbm Edit: To make finding discoveries easier: Every map from the game with labels on items: https://drive.google.com/folderview?id=0B-2O13fpsnI4aWNBZzlxYUtOa1E&usp=sharing Spreadsheets for cards, combinations, locations, etc https://docs.google.com/spreadsheets/d/1JqcTqljPon_bStQe32S7LKRxshu37ZybB74w_6WKxuE/edit?usp=sharing Edit2: For testing purposes, a script that automatically unlocks all cards and combos Download Cards.lua
Language: lua

--Get all cards for i = 0x650A, 0x656E, 1 do memory.writebyte(i,9,"WRAM") end --Get all combos for i = 0x6570, 0x6575, 1 do memory.writebyte(i,0xFF,"WRAM") end memory.writebyte(0x6576,7,"WRAM")
Just run it once, and it will give all cards x 9 + combinations Display script Download Display.lua
Language: lua

memory.usememorydomain("System Bus") local Boss = {'Malfoy','Giant Rat v2','Troll','Ogre','Purple Rabbit','Chickens','Rook','Knight Piece','Knight Piece 2','Devils Snare','Quirrell','Voldermort','Giant Rat','Knight','Easy XP'} local Monster1 = {HP=0xC4B8,X=0xC46A,Y=0xC46D} local Monster2 = {HP=0xC55A,X=0xC50C,Y=0xC50F} local Monster3 = {HP=0xC5FC,X=0xC5AE,Y=0xC5B1} --[[ Monsters in battle are offset 0xA2 of each other 0xC4B8,0xC55A,0xC5FC is HP 0xC46A,0xC50C,0xC5AE is X 0xC46D,0xC50F,0xC5B1 is Y 0xC48A,0xC52C,0xC5CE is Sprite (not ID!) This is needed since they technically don't have a "fixed" location; monster 1 can appear in top middle or bottom. All little endian ]]-- local list = {Monster1,Monster2,Monster3} while true do local state = memory.readbyte(0xFFD2) if state%128 >= 25 and state%128 <= 33 then gui.drawText(0,0,'State: '..state%128,null,null,10,null,null) --Game state for debugging --Coords only make sense if x1 window size or drawText at the moment gui.drawText(memory.read_s16_le(Monster1.X),memory.read_s16_le(Monster1.Y),memory.read_s16_le(Monster1.HP),null,null,10,null,null) gui.drawText(memory.read_s16_le(Monster2.X),memory.read_s16_le(Monster2.Y),memory.read_s16_le(Monster2.HP),null,null,10,null,null) gui.drawText(memory.read_s16_le(Monster3.X),memory.read_s16_le(Monster3.Y),memory.read_s16_le(Monster3.HP),null,null,10,null,null) else gui.drawText(0, 0, 'X: '..memory.read_s16_le(0xCD30)..' Y: '..memory.read_s16_le(0xCD32),null,null,10,null,null) gui.drawText(0,60, 'Msg: '..memory.readbyte(0xCD12),null,null,10,null,null) -- The player cannot press A to continue until the countdown is finished. if Boss[memory.readbyte(0xEC05)] ~= nil then gui.drawText(0,75, 'Boss: '..Boss[memory.readbyte(0xEC05)]..'('..memory.readbyte(0xEC05)..')',null,null,10,null,null) gui.drawText(0,90,'State: '..memory.readbyte(0xFFD2)%128,null,null,10,null,null) --Game state for debugging else gui.drawText(0,75,'State: '..memory.readbyte(0xFFD2)%128,null,null,10,null,null) --Game state for debugging end end -- --[[ Game state for battles: 25 - Battle transit (includes using cards) 26 - Your turn 28 - Spells 29 - Items 30 - Item used 31 - Flee 32 - Enemy attacks 33 - Select enemies and attack 34 - Win screen 42 - Cards (same if you use not in battle) end]]-- emu.frameadvance() end
Edit: Enemy HP and stats are mirrored multiple times on WRAM and System Bus. It appears the ones in 0x541E, 0x5437, 0x5450 in WRAM are the ones that are responsible for HP (ie, editing them has an effect).
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Uh... I continued the TAS, but without the glitch, since I couldn't find a use for it. .vbm BTW, can anyone please help figure out how to consistantly manipulate critcal hits, so I can 2hko the third boss? Edit: I tried to add, or reduce several frames, but it seems that my attacks are predetermined, and there's a "set" of possible predetermined hits, that change if the rng changes, like by spawning an enemy, or something. The enemies attacks don't seem to be set in stone, however, so I can manipulate away damage, except for the first hit.
Mastania
He/Him
Joined: 5/30/2009
Posts: 135
Location: Top of the pops
Desyncs for me as soon as Harry enters the shop, which version of VBA are you using?
Waddle Waggle Wattle
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Mastania wrote:
Desyncs for me as soon as Harry enters the shop, which version of VBA are you using?
I'm using this one. Edit: I managed to improve the first boss by 8 frames due to better luck manipulation! WIP Since I've managed to do that, I bet I can suicide at the 2nd boss faster. Edit 2: It worked! Despite the whole run being 2 frames laggier, the run is now 26 frames faster. I'll post the WIP once I resync the third boss. WIP
Mastania
He/Him
Joined: 5/30/2009
Posts: 135
Location: Top of the pops
Do you have to talk to the cloaked fellow in Diagon Alley? Some quick messing around just now appeared to indicate that the RNG can be changed outside of battle. The effect of any given action Harry takes during a round appears to be set for that turn, but sometimes the return attack will differ in outcome.
Waddle Waggle Wattle
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Mastania wrote:
Do you have to talk to the cloaked fellow in Diagon Alley? Some quick messing around just now appeared to indicate that the RNG can be changed outside of battle. The effect of any given action Harry takes during a round appears to be set for that turn, but sometimes the return attack will differ in outcome.
Yes, you can't avoid the conversation with the cloaked man. Also, the RNG does seem to change if I randomly mash "B" outside of battle; it allowed me to score a critical hit on a snake while trying to obtain a pair of snake fangs. Unfortunately, the RNG woked against me, and didn't gave out those snake fangs. So I had to kill it in 2 turns.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
This is the .vbm I'm refering to. While completing Snape's task, I fail to score a critical hit due to horrid RNG. Also, I've just noticed that I have mysteriously obtained a pair of "Hardened Boots". I checked all the previous battles, and it seems that the first battle is glitched; at the results screen, it said I've obtained 2 "Pumpkin Pasties" as spoils, but I got only 1 and a pair of boots instead. Edit: I forgot to mention that I can use a glitch to trigger the battle sequence anywhere; with the results being exactly the same as the previous battle, but doubled. For example, I can kill myself, thus death warp to the 4th floor, allowing me to later use the glitch to trigger my "death" again, warping back to the 4th floor. Or, I can kill something that gives loads of EXP, glitch, and receive the added amounts of EXP again. However, I would need to go on a card hunt. =/ Edit2: I'll post a .vbm to show what I mean.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Here's my planned sequence of the next several events: Broom Flight Class Herbology Class Transfiguration Class Defense Against Dark Art History of Magic Class I'll level up (alot) between the last two classes; I'll grind until I obtain enough MP for the Mucus ad Nasuem spell. The "grind" would be...interesting to watch. Edit: The glitch is literally quite powerful. I managed to glitch my way to level 99, then learn Mucus Ad Naseum and proceed to sweep all the enemies down. That...while really cool, is slow, so now I need to find the optimal level where future bosses won't hinder me while not wasting too much time leveling. Edit2: Here's a movie displaying the glitch. I managed to "kill" Malfoy, and still be 1980 frames AHEAD of the previous WIP.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
I just managed to kill the first boss 100 frames+ faster. Time to start over >.>
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Wow. I somehow managed to freeze the game in my previous WIP during a boss battle near the end of the movie. What happened? .vbm
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Ok, as I promised, here's a WIP of the entire powerleveling scene. I grind my way to level 32, so I can use Mucus ad Nauseum + petrify spell. Criticism is welcome.
Mastania
He/Him
Joined: 5/30/2009
Posts: 135
Location: Top of the pops
How do you avoid the fight with the purple rabbit? D: I get the feeling that grinding for Mucus ad Nauseum might not be entirely necessary just yet, if at all. For example, the next boss fight is the big rat + 2 small rats in the vault; the small ones can be taken out with Wingardium Leviosa, while critical Incendios should do a number on the main one (certainly more than MaN's 20 per round). It would help with the troll fight, but the problem is that the only petrification spell available at that point is Locomotor Wibbly, which would require a somewhat lengthy detour to the library to get. If you don't get that, you won't be able to stun-lock the boss, which means you will have to manipulate misses anyway (and so might as well be spamming Verdimillious). After that, there are no boss fights until the Devil's Snare (unless you count the chickens), another multi-part fight which is easily taken out with Incendio, and which should give more than enough exp on its own to ensure that you have the MP you need. If you do glitch-grind, it might be faster to do it after the rat fight anyway, because it should offer more exp than the ogre-thingy does. You won't need to grind so far either, because I think the petrification spell you will want to use is the second one, which only costs 30 MP. IIRC they work like this: Locomotor Wibbly - 10 MP - Weak petrification, single target Locomotor Mortis - 30 MP - Strong petrification, single target Petrificus Totalus - 60 MP - Weak petrification, multi target Realistically 80 MP might be all you need, because AFAIK petrification will always wear off after a couple of turns at most, so having enough MP to cast MaN + petrify will only make a difference the first time. As a result, any strategy involving MaN will probably end up requiring Pepper Up Potions, and having to chug one on turn 2 rather than turn 3 won't make a lot of difference (and as I said earlier, you will have the extra MP by the time you need it in the final dungeon). Regarding the WIP, everything looks great so far :D I think maybe you could speed up the ogre fight a little if you healed before it and maybe equipped some armour so you can take an extra hit. That way, you could concentrate on manipulating more crits rather than forcing misses.
Waddle Waggle Wattle
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
I made a "test" using save states. The last several boss battles is planned to be done like this: 1. Cast mucus spell 2. Freeze them 3. Restore MP 4. Manipulate them to stay frozen (It's possible to stay frozen for an indefinite amount of time) 5. Cast Mucus again 6. Do nothing for the turn by trying to flee. 7. Repeat Also, the purple rabbit doesn't need to be fought. I also hate the troll fight, so I skipped it like malfoy. The reason why I'm using Petrificus Totalus is because it's not out of the way; I must visit the restricted section of the library as part of the plot. Finally, I made another "test" wip, and will be death warping several times, so I need more cards. I experimented by dying in several locations, and it seems that I would need to "die" at least 3+ times.
Mastania
He/Him
Joined: 5/30/2009
Posts: 135
Location: Top of the pops
jlun2 wrote:
The reason why I'm using Petrificus Totalus is because it's not out of the way; I must visit the restricted section of the library as part of the plot.
Isn't Locomotor Mortis in the restricted section as well? I would have thought you'd gain more purchase in some of those later battles like Devil's Snare and Quirrel with damage spells, but I suppose blocking their attack animations will save a lot of frames too.
Waddle Waggle Wattle
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Ok, I think Petrificus Totalus will be faster due to fighting 3 enemies at once near the end (Devil's Snare). Freezing everything in the first turn would save alot of time, since there's no attack animation for the next turns. I also planned where to die, and it'll most likely be like this: 1. Getting to the restircted zone - Get killed 2. Getting out of the restricted zone - Glitch 3. Getting to Hagrid to pick up Norbert - Glitch 4. Getting to the seventh floor - Glitch 5. Going back to the dorm from the entrance of the forbidden forest - Glitch 6. Going to the Devil's Snare - Glitch Which adds up to 5 cards used for warping. Edit: Here's the .vbm that manages to obtain the amount of cards needed for the rest of the run. I had to change something at the beginning and lose 50+ frames, but at least I have enough cards. =p
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Finally defeated the troll! It was hard because it doesn't exist. I also lowered my HP to 5, so I could die in one hit later. WIP
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
I managed to improve the second giant rat battle by better luck manipulation and the use of Mucus ad Nauseum. I'll post a WIP once I manage to resync everything.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
natt wrote:
Link to video
Wow, thanks! I'm stuck on a particular part in the run. I've manipulated a boss battle to be faster than my previous WIP, but encounters horrid luck later that kills the improvement. However, my slower WIP has better luck later on, and thus becomes faster (alot) latter. Any ideas what should I do?
Mastania
He/Him
Joined: 5/30/2009
Posts: 135
Location: Top of the pops
jlun2 wrote:
However, my slower WIP has better luck later on, and thus becomes faster (alot) latter.
This sounds like the better choice
Waddle Waggle Wattle
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Hi! I noticed people have incredibly short attention spans, so this time, I level up to 90 instead. Also, I beat the second third boss in one hit. WIP Yea, I leveled to 90 instead. Looks like I won't be using death warps as much...if at all. :P The 86 level ups: Link to video
Mastania
He/Him
Joined: 5/30/2009
Posts: 135
Location: Top of the pops
Oh these silly RPGs and their frame-perfect gamebreaking tricks Glad to see that you're still working on this. I'll be interested to see if status effects are needed much if Harry has that type of power.
Waddle Waggle Wattle
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Writing this down here so I won't forget or anything: Critical Hits - Very hard to manipulate Harry's criticals; it seems the RNG for it is determined after then enemy hits you Example: Rat hits 5 damage; you hit 30. Cannot be changed to anything but 0 or 30. Rat manipulated to hit 6. You score a critical. Like above, you will always get 0 or critical for that turn. Enemies can be manipulated to hit, score a critical, or miss on the same turn with input and delay. Note: Manipulate giant rat in 2nd bank visit to nearly kill you, as that's the only enemy capable of doing so at level 90 which can survive posion. Purple Rabbit Always wear gloves to avoid the battle with it. Wear gloves at the second dungeon where you need to pause to skip dialogue. Train section There's a NPC starring out of the window that when glitched does the following: -Transports you to the forbidden woods -Transports you to beginning town -Door opening sound The first option makes you stuck in woods; dying does not get you out. Edit: Yes, you can go to the school, but when you try to go where the 3rd boss is, you get stuck. The second option makes you stuck into a wall. Ironically, the third option is the most useful as for some reason, if that didn't happen, the battle with the purple frog (the one which gives you 86 levels) would be replaced by a troll. Note: Boss battles cannot be replaced. Talking to NPC's before you talk to the glitched one that messes up the screen causes weird effects: -Gives you glitched items -Give you 10k-50k sickles -Never ending dialogue box -An expiray date -Nothing Cards You must use 3 cards to level up to 91 so exp gained from the giant rat and chickens wouldn't level you up, which heals you. Also, must die somewhere in the forbidden woods to allow cards to deathwarp you later, since you overrode the previous deathwarped cards when you fought 5 chickens and won. Edit: Before chickens, manipulate 2 blue spiders to weaken you. Edit 2: There are two methods of weakening: 1. Abuse glitch to make spiders hit you 5 times in a row. 2. Abuse glitch to make spiders hit you 4 times + poison. Method 2 confirmed to be faster. MP Use MP liberally; almost every battle in the final dungeon levels you up, thus restoring MP to full.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
I messed up... It seems like using the giant rat to weaken you is slower than manipulating 2 blue spiders to kill you off by a couple hundred frames. And you know what's even better? I found out just now that since I fled from the spider battle in the wips above, I accidentally overrode the warp. Wow. Oh, and it seems that for multiple NPC's, all of the attacks follow a 1 turn "pattern". Example: Savestate created. NPC 1 deals 33 or 0 damage. NPC 2 deals 30 or 0 damage. Reload state. Then if NPC 1 deals 33/0 damage, NPC 2 will always deal 30/0 damage Edit: WIP of v11.
Editor, Experienced player (894)
Joined: 1/23/2008
Posts: 529
Location: Finland
I briefly played this game at one point, got my ass handed back to me by the giant rat. These glitches look quite promising... interested to see more of this.
1 2
5 6