Posts for Nitrodon


1 2 3 4 5
13 14
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
This is slower than the previous submission for this game, as well as a console run.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
Here's my version, 1-1 to 3-3: http://dehacked.2y.net/microstorage.php/info/1000307159/Puzznic%20%28U%29.fcm I don't intend to continue this. I just did it for fun and as a demonstration of what is possible in a TAS. I know of several improvements, including the obvious improvement between levels which I somehow didn't notice while making this. It turns out that there is a faster way to move the cursor in this game, which I stumbled upon while working on 3-3. If you press any directional buttons that you didn't press in the previous frame, the cursor moves in the direction you're pressing, including any directions you pressed in the previous frame. (I'm not sure how to word that in a non-confusing manner.) Thus, if you alternate up and down while holding right, you'll move to the right every frame instead of every other frame. The same applies for any direction. In some cases, you may want to start by pressing the direction alone for one frame for parity reasons. Good luck with this run. Puzzle games can be very difficult to TAS, simply because they're designed to be complicated to figure out normally.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
When moving a cursor on a grid (or in a menu), pressing the direction button every other frame is usually faster than holding it. That is the case in this game, so you should do that.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
Maybe this code will convince you.
target = 65536 + mod(20165*y, 65536)
miny = mod(2197*x+13744, 65536)
diff = target - miny
c1 = 1 + 2*floor(diff/4394)
diff = diff - (c1-1)*2197
c2 = 1 + 2*floor(diff/338)
diff = diff - (c2-1)*169
c3 = 1 + 2*floor(diff/26)
c4 = 1 + diff - (c3-1)*13
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
I'm fairly sure I answered this in IRC sometime last year. The important thing to note is that the integers modulo 65536 form a ring. As a result, the value of X after two iterations is (X*169 + C1*169 + C2*13 + 98) mod 65536, and so forth. If the only constraint on C is that it must be odd and in the specified range, then it is fairly simple to determine the range of possible X values after any number of iterations (after dividing by 13 / multiplying by 20165 to make the possible transformed X values a contiguous range). It turns out that any number with the same parity as the original X can be reached within 4 iterations, and any number with the opposite parity can never be reached if C is always odd.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
eternaljwh wrote:
Questions were more aimed at "odd things to test to see if Sky Rune won't be stolen" than "ways to be faster".
There is absolutely no way to avoid that. The code that is run when you defeat the dragon will always give the Sky Rune to another apprentice, and the text when examining the pedestal does not have any conditional branches. In short, the "Sky Rune was not stolen" scenario does not exist in the game.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
When you defeat the dragon, a randomly chosen apprentice (excluding you and your partner if any) will get the Sky Rune. There's no address for "the apprentice with the Sky Rune", but I have something nearly as good. 7E5018: first item held by Kamil 7E5038: first item held by Olvan etc. (Esuna, Wilme, Lux, Valsu, Lejes) EDIT: I suppose you'll also want apprentice locations eventually.
0737: Bonro item shop 
0738: Bonro weapon/armor shop 
0739: Bonro tavern 
073A: Zellis tavern 
073B: Zellis armor shop 
073C: Zellis inn
073D: Eygus house of healing
073E: Eygus NW house
073F: Eygus inn
0740: Pell outside tavern
0741: Pell W house
0742: Pell house of healing
0743: Guntz SE house
0744: Guntz inn
0745: Guntz outside E house
0746: Patrof inn
0747: Patrof tavern
0748: Patrof weapon/armor shop
0749: Bone item shop
074A: Bone weapon/armor shop
074B: Bone SE house
074C: Dowaine outside SW
074D: Dowaine house of healing
074E: Dowaine weapon shop
074F: Belaine inn
0750: Belaine NW weapon shop
0751: Belaine castle basement
0752: Telaine outside SE
0753: Telaine tavern
0754: Telaine armor shop
0755: Pang SE house
0756: Pang E house
0757: Pang outside SW
0758: Padal outside W
0759: Padal barracks
075A: Padal inn
075B: Polasu item/weapon/armor shop
075C: Polasu inn
075D: Polasu outside NE
075E: Tiffana inn
075F: Tiffana castle E balcony
0760: Tiffana armor shop
0761: Bilthem inn
0762: Bilthem 3F
0763: Bilthem 1F E room
0764: Pandam tavern
0765: Pandam weapon shop
0766: Pandam upstairs in building near dock
0767: Brush outside NE
0768: Brush tavern
0769: Brush item shop
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
The 5-2 improvement is probably shooting the first snakey earlier. I just checked, and you still have time to push the egg into the water. As for 9-3, BoMF improved it further by getting the shots as soon as possible and immediately killing the snakey, thus allowing you to push both blocks down at the same time. See his WIP of Eggerland: Meikyuu no Fukkatsu for a demonstration around frame 160500ish. There might also be a better 8-4 route much earlier in that run. (I haven't timed it recently.)
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
It seems I forgot that I had hacked the (E) version instead of the (U) version. The codes I posted have the wrong addresses for the (U) version, but I would assume that you can just shift them 0x31 bytes down. The battle looked good. How hard was it to manipulate both characters to that small amount of HP?
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
Dammit wrote:
I'm trying to enjoy this game but the item drops are pissing me off. I would like to make, or just have, a lua script or cheat code to help get item drops.
Nitrodon wrote:
For any attack, the RNG is used 21 times for that attack per target. (I know what all 21 do, but most are irrelevant for most actions.) Additional numbers may be used before all of these (for targeting, including attacks which always target all enemies) and after all of these (for the animation), but we'll just focus on the ones that change the effect on a certain target. After those 21, if the enemy dies, can drop an item, and no items have been dropped this turn, an additional number is generated. For Camu (for example), this number gives a 12% chance of continuing with the attempted drop (low number = drop). After that, if the first number succeeded, it generates a number 0-3, and a 1 (i.e., 0x40-0x7F) makes the item drop. In a multi-target attack, this occurs before the effects on the next enemy are determined.
It looks like if I set all the randoms at 0x7e0521-57 to 0x40-0x7F I get guaranteed drops for easy items like potions, and if I set them outside that range I never get anything. That makes sense. But how do you make it go low for the first check? Or, how can you tell which of the random numbers is going to be checked next?
The number you're looking for in your last question is 7e0559. Alternatively, set 81FB8A to 0 to bypass the first check (which will set all drop rates to 1/4), and/or set 81FB94 to 0 to bypass the second check (which will quadruple all drop rates).
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
Apprentice responses (and critical values for responding to Lux): 7E5002: Kamil (5-14 fights, 40-99 joins) 7E5022: Olvan (10-19 fights, 60-99 joins) 7E5042: Esuna (10-19 fights, 60-99 joins) 7E5062: Wilme (10-19 fights, 60-99 joins) 7E5082: Lux (included for completeness) 7E50A2: Valsu (10-19 fights, 60-99 joins) 7E50C2: Lejes (30-39 fights, 80-99 joins) 7E5120: number of battles until apprentice responses change EDIT: Fixed critical values. I had accidentally interpreted the scale in the wrong direction.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
That should work. At level 6, Lejes, Valsu, and Esuna will all die to a single critical hit from a level 5 Lux with some luck manipulation for stats and/or damage. (Note that if you fight someone, it is impossible to recruit that person later.)
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
ThMrksman wrote:
Loved it :) One thing, how did 'OGRES ALLOWED SPARINGLY' get mistaken for 'KEEP OFF THE GRASS'?
This is just a guess, but OGRES ALLOWED SPARINGLY = GRAS = GRASS = KEEP OFF THE GRASS
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
Unfortunately, bosses are immune to status ailments, so that strategy won't work. A new partner's level is determined when you recruit him/her/it. He/she/it will always be within +/- 1 level of you at this time.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
The Bonro/Zellis apprentice locations are decided when you start the game. The memory addresses corresponding to these locations are as follows: 7E0737: Bonro item shop 7E0738: Bonro weapon/armor shop 7E0739: Bonro tavern 7E073A: Zellis tavern 7E073B: Zellis armor shop 7E073C: Zellis inn The apprentice values are as follows: Kamil: 0 Olvan: 1 Esuna: 2 Wilme: 3 Lux: 4 Valsu: 5 Lejes: 6 For future reference, the Patrof apprentice is at 076B. Valsu's response to you is at 50A2. For him to offer to join Lux, this value needs to be less than 40 (preferably less than 20 due to text length). Apprentice responses change every 4-11 battles based on a counter at 5121.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
Standing completely still would bore the audience. Try to find some sort of middle ground between the two extremes.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
I should probably post some things I learned while helping with that run. While the attack value listed on the status screen is equal to (strength) + (total bonus from equipment), the actual attack strength is proportional to (strength) * (total bonus from equipment) instead. Physical damage is (some attack value) - (some defense value), whereas magical damage is (some attack value) / (some defense value). This explains why WeakMinded is useful and LoRes isn't. Your physical attacks come in pairs. If you don't want to pair your attacks, you can wait until the first attack is finished before inputting the second attack. A pair of attacks will never be interrupted (i.e., you can use a 3/3 even if the enemy will attack in 1 time unit), and the second attack in a pair will never trigger a counter. Multi-target actions will never trigger a counter, with exactly one exception (namely, the Boxer Boys). An action which targets "all enemies" is not multi-target when there is only one enemy. ☆Saints (which damages all enemies and heals all allies) is always multi-target, and thus will never trigger a counter. Against the first two forms of Vita (any), both the amount of damage and the number of counterable attacks are significant. Note that it can change forms even if your last attack is a miss. Vita Unus is generally considered the hardest of the three, but the other two use Volcano during form changes, so Unus is actually the best one to fight in a speedrun, even if you don't need Vigora.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
What's the point of HD for video that was initially 240x160? You don't gain any video information by increasing the resolution.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
I have to ask: In that Ganon battle, why didn't the torch on the right go out?
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
You can't glitch past the Don Medusa unless it's moving to the right.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
Specifically, the RNG advances several times each frame outside battle if there are enemies in the area. I can only think of three bosses which are not fought in areas with random encounters, so you will be able to manipulate the RNG easily immediately before most boss fights (and in the last random encounter area before the boss in all other cases).
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
That's because it's impossible without losing a huge amount of time. If you could cheat and teleport 1 pixel ahead (relative to your normal walking speed) somehow, it would be possible, but you can't, so it isn't.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
Floogal wrote:
This is all very excellent. Hopefully I've caught you before you do too much more: you missed a tiny shortcut in the second-last section of the Mt. Ioti caves. Rather than try and describe it in my wordy fashion, I'll just point you here (look at the last screenshot).
I actually redid from the end of the Starman Junior battle to the end of Sweet Little's factory earlier because I hadn't looked at my route the first time. Compared to that, redoing part of Mt. Itoi won't be much trouble at all.
I guess you're planning to fight a Star Miner, R7308xx, and 39 Last Starmen (within 12 fights) with EVE? Have fun manipulating them to all hit Ninten with PK Beam gamma AND getting maximum strength bonuses from level-ups.
That is correct. I will probably allow 2-round battles, both for my sanity and because the luck manipulation may cost more time than the second round would. Maximum strength bonuses will be easy, since I can manipulate that simply by waiting at the "level up" text.
And good job on remembering to detour to use Telepathy on the Magicant castle guards while going through with Ninten the first time -- I completely forgot about the PP-requirement there (combined with the PP-loss from death-warping back to Magicant). Although, it wouldn't have cost very much at all to just restore Ninten's PP where you revive Lloyd (but it would still be slightly slower).
You can't get Ninten's PP restored there, as far as I know. In order to restore PP, I would have to go to another building and scroll through some long text (or just get a PSI Stone from a LastStarman).
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
EVE. Just more running around again, plus one battle. I redid the beginning of Rosemary Manor to give Lloyd the bottle rocket, since it would have taken 400 frames to manipulate a 16-damage SMAAAASH against the stray dog. All that's left now is 14 battles, plus a bit more running around.
Experienced Forum User, Published Author, Active player (283)
Joined: 3/4/2006
Posts: 341
I got another melody. Absolutely nothing exciting happens during this part. All I do is run around, avoid random encounters, and talk to a couple people.
1 2 3 4 5
13 14