To correct myself, the problem only comes when the modifier affects something which cannot also be controlled by the entity's prototype fields. This is not the case for the extensions you list, they indeed just extend functionality.boskid wrote: Wed Jun 18, 2025 11:32 amHow is that? So far a QualityPrototype::level is uint32, which means a default_multiplier = `1 + 0.3 * level` was never able to go below value of 1: even if i would keep the limits for multipliers to be >= 1, it would still not be able to break anything because all the values are carefully set to keep backward compatibility. By allowing values to go down to 0.01 i am effectiely extending what is possible.thesixthroc wrote: Wed Jun 18, 2025 11:28 am I appreciate that most of these entries are not capped at 1, because that would break the already working property for the Inverted Quality mod.
For more details: Inverted Quality has Normal at level 5 but also wants Normal to work the same as it does in vanilla. Properties like `mining_drill_resource_drain_multiplier` cause a problem, because since it is capped at 1, it is not possible for levels to be worse than Normal while keeping Normal unchanged from vanilla (as one cannot compensate for its effect by nerfing all mining drill prototypes by 5 quality levels).