Right now, fires work on a true random basis, so every HE shell hitting a shippart not on fire has a X% chance to start a fire. This leads to a bunch of problems: Everyone knows those cruiser games where you hit 200 HE shells and only get one fire, and also those BB-games where every cruiser salvo seems to set a double fire on you instantly. It can be, without question, punishing for both players involved on a purely random basis. This is the nature of true randomness: Sometimes a certain event occurs very often, sometimes never.   The sequence of shells not setting a fire (O) and setting one (X) could look like this in true random: OOOXOOOOOOXXOOOXXXOXOOOXXXXXOOOOOOOOOOOOOXOOOOOOOOOOOOOOOOOOOOOOOOOOXXOXOOXOOOOOOXOOXXXXOOOOOOOOOO As one can see, this is truely completly random, and there are parts of frustration for both the cruiser and its target in there. (The fire chance shown here is clearly that of a conqueror though, as the 'O's can last for an entire battle for normal ships.)   Instead, a fake random fire chance should be used. The first HE shell hitting the target (shippart not on fire) has (for example) a 3% firechance, 8% for the next if no fire is caused, 13% for the third (again, if no fire is caused), 18% after that, and so on, always increasing your odds, until you actually get a fire and it resets to 3% again. Hitting a shippart not on fire does not increase the chance. The starting value and the increase in fire chance should be chosen in such a way that in the end, you get the same fire chance on average as before.   Now, the fake random sequence will look more like this: OOOOXOOOOOXOOOXOOOOXXOOXOOOOOXOOOOOXOOOXOOOOXOXOOOOXOOOOOXOOOOOOOXOOOXOOOOOXOOOXOOOOOOOXOOOOXOXXXO Fires are now more evenly spaced between the shell hits. The sequence is way more understandable for both players involved, is more fair and doesn't put such an emphasis on RNG while still simulating randomness. As long as you keep hitting HE you will get a few fires sooner or later, and if you get hit by too much HE, you will be set on fire.   I don't see any downside to handling it this way (other than loading more calculations on our poor engine), since the random nature of fires is still kept.