| A monster's bump damage class (0–9) and Link's mail (green, blue, or red) pick the damage of a touch from a 10 × 3 table, in eighths of a heart. Class 3 takes 8, 4, or 2; class 9 takes 64, 48, or 24; class 1 takes 4 whatever the mail. | bank_06.asm L22729–22740bank_06.asm L22775–22785 | Code |
| A monster's touch does nothing while Link's blink timer is above 0. A hit sets it to 58, and Link's sprite routine counts it down once a frame, so the protection lasts 58 frames. | bank_06.asm L22715–22718bank_07.asm L146–150bank_0D.asm L4530–4537 | Code |
| A monster's touch sets Link's speed to 24 on the longer axis of the line from the monster to Link, the other axis in proportion, with a hop of vertical speed 12. It also sets a timer to 19 and Link's recoil flag. While the flag is set, his state handler runs the recoil state instead of the code that reads the buttons, and that state counts the timer down each frame, holding it at 1 until Link lands, so the recoil lasts at least 19 frames. | bank_06.asm L22720–22727bank_06.asm L23385–23399bank_06.asm L20385–20492bank_07.asm L239–323bank_07.asm L1450–1478 | Code |
Each Piece of Heart adds 1 to a count kept modulo 4; the piece that brings it back to 0 grants item $26, a heart container. | bank_05.asm L20390–20402 | Code |
A heart container adds 8 to Link's life capacity, one heart, up to $A0, 20 hearts. The one from four pieces refills his life to the new capacity; the one a boss leaves adds a single heart of life. | bank_08.asm L13496–13544bank_08.asm L13233–13297 | Code |
| A Link to the Past fires the sword beam only with the Master Sword or better and less than half a heart missing; The Legend of Zelda fired it with up to half a heart missing and any sword. | bank_07.asm L5895–5908 | Code |
Each magic item's cost comes from a table with three columns, and one byte, $7EF37B, picks the column for every item. The rods cost 16, 8, or 4; the medallions 32, 16, or 8; the powder 8, 4, or 2; the lamp 4, 2, or 2. | bank_07.asm L9964–9975bank_07.asm L9990–10007 | Code |
| A defeated monster's prize pack (1–7) gives a drop half the time, and pack 4 always. Each pack keeps its own counter that steps through 8 prizes in order; pack 1's row is heart, heart, heart, heart, green rupee, heart, heart, green rupee. | bank_06.asm L24107–24162bank_06.asm L24275–24283bank_06.asm L24305–24315 | Code |
Each dungeon keeps its own small-key count. Loading a dungeon copies its count from a per-dungeon array into the current count, SaveDungeonKeys copies it back, and the overworld sets the current count to $FF. The Sewers and Hyrule Castle share one slot. | bank_02.asm L388–398bank_02.asm L6638–6648bank_02.asm L666–667bank_00.asm L4154–4156bank_0D.asm L17099–17100 | Code |
Link's Awakening keeps A Link to the Past's four Pieces of Heart per container. The fourth piece clears the count, adds a heart to Link's maximum, and queues $40 of health, eight hearts' worth. | bank_05.asm L20390–20402 | Code |
| The Minish Cap counts Link's health in eighths of a heart, as A Link to the Past does and as the zladx annotators' comment on Link's Awakening's health byte says ("$08 = 1 heart"); a new file starts him at 24, three hearts. When Link holds up a Piece of Heart, the code refills his health to its maximum and adds 1 to the piece count. The fourth piece resets the count to 0 and then does what a Heart Container does: it adds 8 to the maximum, capped at 160 (20 hearts, A Link to the Past's cap), and refills his health again. Both earlier games also make a container from every fourth piece. | bank_05.asm L20390–20402bank_08.asm L13527–13535 | Code |
| The Minish Cap takes a touch's effects from a collision matrix: the entry at the toucher's hit type × 34 + the touched one's hurt type. For an Octorok or a Leever (hit type 25) touching Link in his normal state (hurt type 0), the US ROM's entry gives Link 30 invincibility frames, a knockback duration of 8, and 2 damage, a quarter heart. The collision loop skips a pair while either has a nonzero iframe count, unless either has bit 7 of its collision flags set, and Link's count steps one toward 0 each frame his update runs, so the protection lasts 30 frames. Link's Awakening sets its count to 80 and A Link to the Past to 58. | bank_07.asm L146–150 | Code |
When a monster dies, its death effect calls the drop routine with the monster's drop table: 6 for Octoroks, ChuChus, Leevers, and Peahats. Unless the room disables random drops, the routine adds the table's 16 weights to an active Picolyte's row, then adds 5 to the heart weight at 8 health (one heart) or less, 3 to bombs with none carried, 3 to arrows with none, and 1 to the 5-rupee weight at 10 rupees or fewer; a weight below 0 (the tables rule an entry out with −999) counts as 0. One Random() value then picks the entry: its bits 24–27 choose where to start, and the value modulo the weights' sum walks the 16 entries from there. Table 6 weighs nothing 73, a green rupee 25, a heart 5, bombs 1, and arrows 1, so with no Picolyte and no need bonus an Octorok drops nothing about 70% of the time (computed). Bombs and arrows drop only once Link has the bag or the bow. A Link to the Past instead steps each prize pack through 8 prizes in order. | bank_06.asm L24107–24162 | Code |