Pretty much everything you described can be done with Ethereum smart contract based on ERC20 token, however this:
-If X happen in real-life every token-X holders
will receive reward of main-coin, relatively to his share of the token.
is the most complicated part.
To understand why this will be the weakest point of your smart contract you need to understand how smart contract actually work. Basically smart contract is a code that being executed by the miners when you post transaction calling one of it's functions on the ETH blockchain. this contract can check outside resource for certain event appearance (I presume thing you call "real life" is basically anything that is not signed message on the blockchain). But if for some reason this miner won't be able to access outside resource it theoretically can use wrong data for smart contract execution, so it copies that data and posts it as an input for the smart contract function bringing it "inside" from the "outside". There is no guarantee it handled this information correctly and no way to produce proof of correctness, so this will be the weakest point. In order to avoid that there should be some central body who will "vouch" for the information posted (i.e. will interact with smart contract by usual means - calling certain method from it).
TL/DR - bringing information from outside is complicated and unreliable. Avoid it!
PS. YOu don't need to fork ETH to do this - just learn Solidity smart contract language and you done.