169 {
170 if ( specialty_weight == 0 )
171 {
172 return base_value;
173 }
174
176
177 float adjusted_value;
178
180
181 if ( limit_efficiency != 0 )
182 {
183 if ( specialty_weight < 0 )
184 {
185 adjusted_value = base_value + ( ( base_value *
m_PreciseLevel ) / limit_efficiency );
186 }
187 else
188 {
189 adjusted_value = base_value + ( ( base_value *
m_RoughLevel ) / limit_efficiency );
190 }
191 }
192 else
193 {
194 if ( specialty_weight < 0 )
195 {
196 adjusted_value = base_value + ( ( base_value *
m_PreciseLevel ) );
197 }
198 else
199 {
200 adjusted_value = base_value + ( ( base_value *
m_RoughLevel ) );
201 }
202 }
203
205
206 return adjusted_value;
207 }
void SetBonusAfter(bool is_cacomponent, float adjusted_value)
void GetPreciseRoughLevels()
void SetBonusBefore(bool is_cacomponent, float base_value)