Since Google Docs isn't a good dialogue platform, let's take the noise/hearing discussion here.
You yourself said that every feature should be broken down into the smallest possible components. It would be hard for creatures to react to noise that
isn't there, wouldn't it?
In any case, here's how I propose it should be done: Every action has a loudness rating (0 for silent actions, gets progressively higher for louder actions) and a type - shot, branch crunch, zombie moan, human moan, fighting, etc. At the time of an action, a sound with the initial loudness is generated at the tile where the action happened, which then propagates into every direction, losing 1 loudness per tile, until it reaches, let's say, -4. Obstacles such as walls give a penalty to the sound that passes through them. If the sound of different loudness reaches the same tile by two different ways (for example, after going around the wall), the higher value is taken. Creatures have a hearing modifier that is expressed in integers between, for example, -5 and 5. This modifier is added to the sound perceived by this creature. If it is above 0, the creature heard the sound. If it is below 5, the creature isn't certain about the origin and slowly goes to investigate. If it is above 5, the creature searches for the origin of the sound at a run. Additionally there's a set of exceptions: for example, a certain type of zombies may be repelled by a wailing siren, which attracts some other kind more strongly. Player receives different messages depending on perceived loudness and type of the sound, optionally he is unable to recognize the type if the sound is below a certain threshold. Just for kicks, we may add a random queit ambient sounds that a good listener may mistake for zombie footsteps.