Baubles - yeelp/Distinct-Damage-Descriptions GitHub Wiki
DDD can add special properties to Baubles. There are five properties that DDD can add to a Bauble, and DDD can add multiple properties of the same type and/or multiple properties of different types to the same Bauble, each property will be defined in the config file.
Each property specifies a list of types with a weight, similar to a distribution in the config. The function of the weight in the config entry depends on the property.
Damage Mod
The damage mod allows damage of a specific type or types to be increased when the bauble is worn. The damage will only be increased if damage of that type is inflicted. For example, a ring that increases Force damage by 10% will not actually cause attacks that don't inflict Force damage to now inflict Force damage, it just increases any Force damage that is dealt by 10%.
Multiple types can be specified at a time in the config, and they each boost damage individually. For example, if a Bauble specifies a 20% boost to Piercing and 10% boost the Force and an attack only inflicts Piercing, the Piercing damage will still be boosted; both types don't have to present to receive their respective bonuses.
The bonus damage can actually be specified to be negative and it will reduce damage, but it will not reduce damage below 0.
This property is denoted in the config by operation 0.
Resistance Mod
The resistance mod allows the wearer to receive bonus resistances. Wearing the Bauble effectively increases the wearer's resistance to whatever type(s) the Bauble specifies by the specified amount(s). The bonus to resistances is only applied when taking damage, any other mechanic that looks at an entity's resistances will not see the bonus resistance unless it is doing so when the wearer is taking damage; it's temporary resistance only.
The bonus resistance can actually be specified to be negative, and it will reduce resistance, and if reduced below 0, it will effectively function as a temporary weakness when taking damage.
This is applied on the defender before Brute Force is applied on the attacker, so it is possible to have some or all of the bonus resistance bypassed by a bauble on the attacker with Brute Force.
This property is denoted in the config by operation 1.
Brute Force
The Brute Force modifier allows attacks made by the wearer to bypass a certain amount of resistance to a specific type(s). It functions identically to the enchantment of the same name. Having a Brute Force modifier of 50% for Slashing, for example, will effectively reduce all mobs' Slashing resistance by 50% when attacking, but will not reduce it below 0% resistance.
Unlike the enchantment, this is not mutually exclusive with the Sly Strike modifier.
This property is denoted in the config by operation 2.
Sly Strike
The Sly Strike modifier allows attacks made by the wearer to have a chance to bypass immunities to a specific type(s). It functions identically to the enchantment of the same name, however unlike the enchantment, this modifier can be configured to only have a percent chance of actually working on every hit. The percent chance is rolled for each type listed independentaly during damage calculation.
Unlike the enchantment, this is not mutually exclusive with the Brute Force modifier.
This property is denoted in the config by operation 3.
Immunity
The immunity modifier grants the wearer a percent chance of being immune to all damage of a specific type during damage calculation. The immunity is only granted temporarily when taking damage. Any other mechanic that looks at an entity's immunities will not see the immunity unless it is being granted when taking damage.
This is applied on the defender before Sly Strike is applied on the attacker, so it is possible to gain immunity with this bauble and then have it bypassed by a bauble on the attacker with Sly Strike.
This property is denoted in the config by operation 4.