Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Things Found Under Lifted or Destroyed Objects
- (Bushes, Grass squares, Rocks, Rock Piles, Pots, Signs, and Big Square Blocks)
- Mini Algorithm Guide
- Version 1.0
- by Assassin
- 21 August 2013 (and some mysterious earlier date, if the Deja Vu is believed)
- _______________________________________________________________________________
- Upon lifting, slicing down, or bombing a bush (which can be green, purple, or
- brownish green), lifting a rock (which can be small or large, light or dark,
- normal or skull), lifting a pot (which can be brown or a skull), lifting a sign
- (which can be brown or yellow), slicing or bombing a square of grass, dashing
- into a rock pile, or lifting a large, gray, square block, the game performs the
- following steps to determine what will be found under it:
- 1) If there is a nonzero item ID assigned to the lifted/destroyed object, skip
- to Step 5.
- 2) If we're indoors, skip to Step 5.
- 3) If what we're looking under isn't grass or a normal green (not brownish
- green) or purple bush, skip to Step 5.
- 4) This step will "randomly" choose an item ID for what's under a bush or
- square of grass, as there was no specific entity assigned to it (or Item ID
- 00h - Nothing was literally assigned to it). It has several substeps:
- A. Randomly skip to Step 5 one half of the time.
- B. If there are four or more non-Link sprites/monsters onscreen (not
- counting Sprite 6Ch, whatever that is), skip to Step 5 to avoid
- overcrowding.
- C. If we're not in at least Phase 2 of the game (i.e. we haven't brought
- Princess Zelda to the Sanctuary yet), then skip to Step 5.
- D. Get our current square of the map. It'll be a 0-63 value, as the
- overworld maps are 8x8 grids. Two notes:
- - Large map sections are 2x2, with one square number taking the place of
- 4 positions. For example, the Mysterious Woods / Skeleton Forest is
- all indexed with Position 0, rather than with 0, 1, 8, and 9.
- - The square number actually comes from the bottom 6 bits of a Screen
- Number variable, which holds 0 - 63 for normal Light World map screens,
- 64 - 127 for normal Dark World map screens, and 128+ for special
- screens (e.g. the Master Sword screen, the camp under the bridge, and
- Zora's Lake). The top two bits are ignored. So the Zora area, for
- instance, is screen 129, but gets treated like it's Screen 1 (whose
- random prize/sprite data is a duplicate of Screen 0 - Mysterious
- Woods, and doesn't disable anything). This oversight allows for a
- crazy, garbled looking foe to turn up, as Zora's Waterfall lacks the
- tile set to properly display the Green Soldier.
- E. Load our 0 to 7 bush/grass prize pack counter, which indexes two prize
- packs (one for each world) of eight entries each. Increment it for our
- next use (wrapping to zero if it exceeds seven). On the GBA version,
- it apparently loads the post-incremented value instead.
- (Note that this counter is reinitialized to 0 after a system reset or
- powerdown, even if you'd saved your game. However, on the SNES version,
- it is retained after Saving, Quitting, and reloading (and you can even
- temporarily copy it between save slots by saving on one, then loading
- another).)
- F. The prize packs for each world are:
- Light World = 01h, 01h, 01h, 01h, 0Fh, 01h, 01h, 12h
- (Green Rupee, Green Rupee, Green Rupee, Green Rupee, Green Soldier
- with Sword, Green Rupee, Green Rupee, Ground Bomb / Land Mine)
- Dark World = 10h, 01h, 01h, 01h, 11h, 01h, 01h, 03h
- (Awakening Skull Rock, Green Rupee, Green Rupee, Green Rupee,
- Blue Helmeted Bull with Poker, Green Rupee, Green Rupee, Bee)
- Get the Item ID from the slot indexed by our loaded prize pack counter.
- However, instead proceed to Step 5 without loading an Item ID if both of
- these conditions are met:
- - Our intended prize pack slot is preventable in the current world (see
- list); that is, it has a nonzero prevention flag.
- - The current map square has this prevention flag present in its list of
- exclusions. (Each square has a single list used for both worlds.)
- Preventable "random" sprites:
- Light World = Slot 4, Slot 7
- (Green Soldier with Sword, Ground Bomb / Land Mine)
- Dark World = Slot 0, Slot 4
- (Stal / Awakening Skull Rock, Blue Helmeted Bull with Poker)
- 5) If we're indoors, skip to Step 7.
- 6) Randomly exit and return nothing one half of the time.
- 7) If an ID of 00h (or nothing) was originally assigned to the bush/grass/rock/
- pot/rock pile/sign/block, and Step 4 did not change it by picking a new ID,
- exit and return nothing.
- 8) If an ID of 04h (Random) was originally assigned to the lifted/destroyed
- object, randomly pick an item ID ranging from 13h through 16h. Otherwise,
- just stick with the assigned ID.
- 9) Convert the Item ID into a sprite using the table below. If the sprite is
- 00h (Nothing), then don't actually put that on the map (as it'd be a
- Crow/Raven or Kyune/Horned bird), but exit and don't return anything.
- Item ID | Sprite (ID)
- -------------+------------------------------------------------------
- 01h | Green Rupee (D9h)
- 02h | Rock Spider/Beetle/Crab/Hoarder (3Eh)
- 03h | Bee (79h)
- 04h | Random (special case - see Step 8)
- | (Note that Green Rupee is in the data here, but
- | it's just a placeholder.)
- 05h | Bomb x 1 (DCh)
- 06h | Heart (D8h)
- 07h | Blue Rupee (DAh)
- 08h | Key (E4h)
- 09h | Arrow x 5 (E1h)
- 0Ah | Bomb x 1 (DCh)
- 0Bh | Heart (D8h)
- 0Ch | Partial Magic refill (DFh)
- 0Dh | Full Magic refill (E0h)
- 0Eh | Cucco/Chicken [LW] or Cucco/Chicken skeleton [DW]
- | (both 0Bh)
- 0Fh | Green Soldier with Sword (42h)
- 10h | Stal / Awakening Skull Rock (D3h)
- 11h | Blue Soldier with Sword [LW] or Blue Helmeted Bull
- | with Poker [DW] (both 41h)
- 12h | Ground Bomb aka Land Mine (D4h)
- 13h | Green Rupee (D9h)
- 14h | Faerie/Fairy (E3h)
- 15h | Heart (D8h)
- 16h | Nothing (00h - special case, see above)
- _______________________________________________________________________________
- RECOMMENDED READING
- _______________________________________________________________________________
- This document doesn't get into which prize pack slots are disabled by which
- map squares. To see that information, you'll want to consult the "Commented
- code and data for item uncovering" on my website:
- http://home.comcast.net/~assassin17/zelda3_guides.htm OR
- http://www14.brinkster.com/assassin17/zelda3_guides.htm
- Compare the map data in the 1A/FB7B structure to the 1A/FBCB or 1A/FBD3
- structure (depending on which world), and see when common bits are set.
- _______________________________________________________________________________
- CREDITS
- _______________________________________________________________________________
- - Susan Carriere, for suggesting I create a more readable document to
- supplement the commented disassembly of the findings under bushes, grass,
- rocks, etc. Then for providing various helpful feedback on the document:
- suggesting a preamble, pointing out a step omission which would have allowed
- keys under pots being randomly missable, asking for elaboration on
- preventable random prizes, clearing up ambiguity in Step 8, and suggesting I
- account for the different-sized rocks (which eventually led to me listing
- every relevant covering object).
- - Lady_Birdo for pointing out that the glitched enemy at Zora's Waterfall was
- a soldier. I couldn't tell what I was looking at.
- - BaronDante for explaining that the glitched appearance stems from the
- soldier's tile set not being loaded in that area.
- _______________________________________________________________________________
- REVISION HISTORY
- _______________________________________________________________________________
- Version 1.0: 2009 and maybe 2010; July 10-13 and 15, 2013; August 14-16, 18-19,
- and 21, 2013:
- - Released a commented disassembly on July 12, 2009, after starting work on
- it sometime before March 27, 2009. But that wasn't necessarily readable by
- most humans.
- - Starting in August 2009 and maybe extending into early 2010, wrote a
- document that had about 90% of the step content you see here. However, I
- never uploaded it anywhere, as it wasn't quite done, and the hard drive of
- the computer housing it crashed. :O I couldn't stomach the idea of
- re-composing something I'd already done, and figured I'd retrieve it
- whenever the hard drive was restored. (It's probably just a service sector
- issue.) However, by mid 2013, still having yet to bring the disk anywhere,
- I had an epiphany that I am even cheaper than I am lazy. So I decided to
- bite the bullet and remake the document.
- - July 10-13 and 15, 2013: Wrote document, then improved it based on Susan
- Carriere's suggestions.
- - August 14-16 and 18-19: Added "Stal" as a name for the skull rock enemy, and
- "Hoarder" and "Crab" for the Rock Beetle/Spider. Added Credits and Revision
- History sections. Added GBA and reset/reload info to Step 4E.
- - August 21, 2013: Released document.
Add Comment
Please, Sign In to add comment