/* 
	When Gears is installed, it takes priority over this file.
	Use the console command "hostilearchitecture reload" ingame to reload this file without having to restart the game or the server.
	It can be called only by server admins, or in single player.
*/

{
	"loggingEnabled": false,
	// Log messages for fine-tunning and debugging.

	"levelOfRealism": "Custom",
	/*
		If you use one of the presets (Newtonian, Hollywood or Anime), the rest of this configuration file will be ignored.

		Newtonian
		→ Enemies take full damage when attacking blocks of strong materials unarmed.
		→ Enemies cannot damage blocks of very strong materials at all when unarmed, like steel.
		
		Hollywood
		→ Enemies take reduced damage when attacking blocks unarmed.
		→ Damage to blocks when unarmed scales with block damage, so stronger enemies are able to damage stronger blocks.
		
		Anime
		→ Enemies take no damage at all when attacking blocks unarmed.
		→ Enemies always deal at least a little bit of damage to blocks, regardless of block hardness.

		Custom
		→ Use all of the values defined below instead.
	*/

	"ReturnDamage": true,
	// When enabled, enemies take damage from attacking hard blocks. The amount of damage returned is proportional to how much force the block absorbs.
	// Disable this for a more forgiving experience where enemies never hurt themselves. 
	// Default: true

	"BlockDamageFactor": true,
	// Material hardness is inversely proportional to the attacker's block damage, so stronger attacks are able to damage harder materials. 
	// Default: true

	"MinDamageDealt": 0.0,
	// Enemies never deal less than this percentage of damage to blocks.
	// Min: 0 (0%), Max: 1.0 (100%), Default: 0

	"MaxReturnedDamage": 0.1,
	// Enemies never take more than this percentage of damage when attacking blocks.
	// Min: 0 (0%), Max: 1.0 (100%), Default: 0.1 (10%)

	/* 
		The following settings define the threshold used for calculations of damage absorbed and returned by blocks during attacks.
		The curve has two linear steps: from start to middle, and from middle to end.
	*/

	"HardnessThresholdCurveStart": 150,
	// This represents the strongest material an unarmed attack is able to damage without returning any damage to the attacker. Material HP is used internally to derive hardness.
	// The default (250) allows enemies to deal full damage to most wooden blocks without taking any damage themselves.
	// Min: 0, Max: 2147483647 (set it any higher and it will throw an error), Default: 250

	"HardnessThresholdCurveMid": 5000,
	// This represents materials that are strong enough to absorb half the damage and return the other half to attackers. Material HP is used internally to derive hardness.
	// By default (500), attackers take about as much damage from attacking stone as they deal to it.
	// Min: 0, Max: 2147483647 (set it any higher and it will throw an error), Default: 500

	"HardnessThresholdCurveEnd": 10000,
	// This represents the weakest material an unarmed attack would not be able to damage at all. Material HP is used internally to derive hardness.
	// By default (5001), attackers are sometimes barely able to damage concrete, but suffering heavy damage themselves in the process.
	// Min: 0, Max: 2147483647 (set it any higher and it will throw an error), Default: 5001

	/*
		The following settings make it so more powerful attackers have increased thresholds, allowing them to deal more damage to blocks while taking less damage themselves, and also making it possible for them to damage the strongest materials.
	*/

	"BlockDamageCurveStartMult": 2,
	// This is internally multiplied by the attacker’s Block Damage. If the result is larger than Curve Start (above), it is used as the Curve Start for that attack instead.
	// Min: 0, Max: 2147483647 (set it any higher and it will throw an error), Default: 2

	"BlockDamageCurveMidMult": 15,
	// This is internally multiplied by the attacker’s Block Damage. If the result is larger than Curve Midpoint (above), it is used as the Curve Midpoint for that attack instead.
	// Min: 0, Max: 2147483647 (set it any higher and it will throw an error), Default: 50

	"BlockDamageCurveEndMult": 30
	// This is internally multiplied by the attacker’s Block Damage. If the result is larger than Curve End (above), it is used as the Curve End for that attack instead.
	// Min: 0, Max: 2147483647 (set it any higher and it will throw an error), Default: 100
}