Exultant/Citadel — pull request #102 by pruby (2013-05-01 00:29:19+00:00)
Title: Non-persistent durability for natural reinforcement

This is the first in a series of changes to make breaking naturally reinforced resources less "grindy" and make this mechanic more acceptable to a wider group of players. It also makes natural reinforcements not being saved less of an issue.

This changes the natural reinforcement mechanics so that rather than taking a fixed number of hits, it has a random chance to break on each hit. This fits in better with the reinforcements not being saved - instead of the count resetting to maximum if the cache is unloaded you have a continuous probability of the block breaking on each hit.

The probability is 1.0 / durability. If you set the durability to 50, there's a 1/50 chance of it breaking on each hit. It could take 1, it could take forever, but on average will take 50 breaks. Failed breaks don't weaken or reduce its reinforcement, making the non-saving of natural reinforcements not a problem.

I have plans to add support for "chips" - random drops from naturally reinforced blocks. For example, a diamond ore could have a high durability, small chance of dropping extra diamonds on each failed break. It would produce several diamonds before finally breaking (balanced with rarity and durability). This requires (a) this change to avoid resetting durability for unlimited d and (b) ability to disable drops and/or silk touch on materials dropping chips.