383 {
386
388 {
389 string config_to_search = "CfgVehicles";
390
392 config_to_search = "CfgWeapons";
393
394 string muzzle_owner_config = config_to_search +
" " +
GetType() +
" ";
395 string config_OnOverheating_class = muzzle_owner_config + "Particles " + "OnOverheating ";
396
397 if (
g_Game.ConfigIsExisting(config_OnOverheating_class))
398 {
399
401
403 {
405 string error =
"Error reading config " +
GetType() +
">Particles>OnOverheating - Parameter shotsToStartOverheating is configured wrong or is missing! Its value must be 1 or higher!";
407 return;
408 }
409
412
413
414
415 int config_OnOverheating_subclass_count =
g_Game.ConfigGetChildrenCount(config_OnOverheating_class);
417
418 for (int i = 0; i < config_OnOverheating_subclass_count; i++)
419 {
420 string particle_class = "";
421 g_Game.ConfigGetChildName(config_OnOverheating_class, i, particle_class);
422 string config_OnOverheating_entry = config_OnOverheating_class + particle_class;
423 int entry_type =
g_Game.ConfigGetType(config_OnOverheating_entry);
424
425 if (entry_type == CT_CLASS)
426 {
427 WeaponParticlesOnOverheating WPOF = new WeaponParticlesOnOverheating(this, config_OnOverheating_entry);
428 WPOOH_array.Insert(WPOF);
429 }
430 }
431
432
434 }
435 }
436 }
eBleedingSourceType GetType()
int m_ShotsToStartOverheating
int m_MaxOverheatingValue
float m_OverheatingDecayInterval
ref map< int, ref array< ref WeaponParticlesOnOverheating > > m_OnOverheatingEffect
script counterpart to engine's class Weapon
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
void Error(string err)
Messagebox with error message.