Why the "Half Health" is absolutely atrocious

Here's the thing, I get why this is in the game. To prevent players from cheating. Now, might I ask? Why isn't it in the story quests?
Also, it's a bit cheap don't you think?
Why would I think that?
Well, I wasted about 1K units because the app wanted to crash on my IPhone.
Shouldn't there be some detection just in case the app crashes.
Like, how about:
"If UnhandledException occurred
Disable HealthHalf.
Else
Enable HealthHalf"
Just my personal gripes.
Also, it's a bit cheap don't you think?
Why would I think that?
Well, I wasted about 1K units because the app wanted to crash on my IPhone.
Shouldn't there be some detection just in case the app crashes.
Like, how about:
"If UnhandledException occurred
Disable HealthHalf.
Else
Enable HealthHalf"
Just my personal gripes.
2
Comments
You can always simply reset the entire quest and spend no potions if a malfunction happens. You can't do that with alliance content. And if you decide to use potions they cost far less than in alliance quests and wars. The benefits of resetting story quests is far lower than it is in alliance content. Plus, resetting in story and other PvE content in a sense cheats Kabam, which doing it in alliance content cheats another set of players. All of this makes reset-style exploits far more serious in alliance content than non-alliance content.
It is possible to tell the difference under iOS and I presume Android, but it is a little more complicated than that. It isn't your game client reducing your health, it is the game servers. The game servers can't tell the difference between a force close and a crash (and several other possible error conditions). So for this kind of mechanism to work the game client would have to log what happened and use that log to send the appropriate information to the game servers instructing the game servers to apply or not apply the penalty when the client was restarted. And that becomes an exploitable channel for players to tamper with the game client to instruct the game servers to do what they want the servers to do. And it would be extremely difficult to detect this kind of tampering because it would happen while the game client wasn't even running.
It’s hard to say whether a crash occurred because there was a legitimate bug in their app (and not your fault), or whether some malicious tampering was done. Im not really sure how you can code that