213 {
214 if ( specialty_weight == 0 )
215 {
216 return base_value;
217 }
218
220
221 float adjusted_value;
222
224
225 if ( limit_efficiency != 0 )
226 {
227 if ( specialty_weight < 0 )
228 {
229 adjusted_value = base_value - ( ( base_value *
m_PreciseLevel ) / limit_efficiency );
230 }
231 else
232 {
233 adjusted_value = base_value - ( ( base_value *
m_RoughLevel ) / limit_efficiency );
234 }
235 }
236 else
237 {
238 if ( specialty_weight < 0 )
239 {
240 adjusted_value = base_value - ( ( base_value *
m_PreciseLevel ) );
241 }
242 else
243 {
244 adjusted_value = base_value - ( ( base_value *
m_RoughLevel ) );
245 }
246 }
247
249
250 return adjusted_value;
251 }
void SetBonusAfter(bool is_cacomponent, float adjusted_value)
void GetPreciseRoughLevels()
void SetBonusBefore(bool is_cacomponent, float base_value)