In wireless sensor networks (WSNs), existing work on flooding mainly focuses on single-packet problem, while work in sequential multi-packet problem is surprisingly little. This paper proposes OppCode, a new opportunistic network-coding based flooding architecture for multi-packet dissemination in WSNs, where both unreliable and correlated links commonly exist. Instead of flooding a single packet each time, each node encodes multiple native packets chosen from a specific fixed-size page to an encoded packet, and then rebroadcasts it further. The key idea consists of two parts: one is opportunistically coding decision, in which each node grasps every possible coding opportunity greedily to conduct an encode-and-forward operation in order to maximize its total (or aggregate) coding gain of all neighbors based on the probabilistic estimations of packets each neighbor already has (i.e., coverage), the other is paged collective acknowledgements (ACKs), in which one rebroadcast that arrives at a receiver acts as not only an implicit ACK of successful disseminations of all packets in the entire page for the sender, but also probabilistic ACK to update page-scale per-packet coverage estimations for its neighbors in a batch. We evaluate our design using extensive simulations and on a 20-node WSNs testbed, and show that OppCode largely increases performance of multi-packet flooding compared with state-of-the-art solutions, especially when links are highly unreliable and correlated with each other. The gains vary from a few percent to several folds depending on the network density, link conditions, coverage threshold and page size.