| 87 | } |
| 88 | |
| 89 | void AttachEffectTypeClass::LoadFromINI(CCINIClass* pINI) |
| 90 | { |
| 91 | const char* pSection = this->Name; |
| 92 | |
| 93 | if (INIClass::IsBlank(pSection) || !pINI->GetSection(pSection)) |
| 94 | return; |
| 95 | |
| 96 | INI_EX exINI(pINI); |
| 97 | |
| 98 | this->Duration.Read(exINI, pSection, "Duration"); |
| 99 | this->Cumulative.Read(exINI, pSection, "Cumulative"); |
| 100 | this->Cumulative_MaxCount.Read(exINI, pSection, "Cumulative.MaxCount"); |
| 101 | this->Powered.Read(exINI, pSection, "Powered"); |
| 102 | this->DiscardOn.Read(exINI, pSection, "DiscardOn"); |
| 103 | this->DiscardOn_RangeOverride.Read(exINI, pSection, "DiscardOn.RangeOverride"); |
| 104 | this->PenetratesIronCurtain.Read(exINI, pSection, "PenetratesIronCurtain"); |
| 105 | this->PenetratesForceShield.Read(exINI, pSection, "PenetratesForceShield"); |
| 106 | |
| 107 | this->Animation.Read(exINI, pSection, "Animation"); |
| 108 | this->CumulativeAnimations.Read(exINI, pSection, "CumulativeAnimations"); |
| 109 | this->CumulativeAnimations_RestartOnChange.Read(exINI, pSection, "CumulativeAnimations.RestartOnChange"); |
| 110 | this->Animation_ResetOnReapply.Read(exINI, pSection, "Animation.ResetOnReapply"); |
| 111 | this->Animation_OfflineAction.Read(exINI, pSection, "Animation.OfflineAction"); |
| 112 | this->Animation_TemporalAction.Read(exINI, pSection, "Animation.TemporalAction"); |
| 113 | this->Animation_UseInvokerAsOwner.Read(exINI, pSection, "Animation.UseInvokerAsOwner"); |
| 114 | this->Animation_HideIfAttachedWith.Read(exINI, pSection, "Animation.HideIfAttachedWith"); |
| 115 | |
| 116 | this->ExpireWeapon.Read<true>(exINI, pSection, "ExpireWeapon"); |
| 117 | this->ExpireWeapon_TriggerOn.Read(exINI, pSection, "ExpireWeapon.TriggerOn"); |
| 118 | this->ExpireWeapon_CumulativeOnlyOnce.Read(exINI, pSection, "ExpireWeapon.CumulativeOnlyOnce"); |
| 119 | |
| 120 | this->Tint_Color.Read(exINI, pSection, "Tint.Color"); |
| 121 | this->Tint_Intensity.Read(exINI, pSection, "Tint.Intensity"); |
| 122 | this->Tint_VisibleToHouses.Read(exINI, pSection, "Tint.VisibleToHouses"); |
| 123 | |
| 124 | this->FirepowerMultiplier.Read(exINI, pSection, "FirepowerMultiplier"); |
| 125 | this->ArmorMultiplier.Read(exINI, pSection, "ArmorMultiplier"); |
| 126 | this->ArmorMultiplier_AllowWarheads.Read(exINI, pSection, "ArmorMultiplier.AllowWarheads"); |
| 127 | this->ArmorMultiplier_DisallowWarheads.Read(exINI, pSection, "ArmorMultiplier.DisallowWarheads"); |
| 128 | this->SpeedMultiplier.Read(exINI, pSection, "SpeedMultiplier"); |
| 129 | this->ROFMultiplier.Read(exINI, pSection, "ROFMultiplier"); |
| 130 | this->ROFMultiplier_ApplyOnCurrentTimer.Read(exINI, pSection, "ROFMultiplier.ApplyOnCurrentTimer"); |
| 131 | |
| 132 | this->Cloakable.Read(exINI, pSection, "Cloakable"); |
| 133 | this->ForceDecloak.Read(exINI, pSection, "ForceDecloak"); |
| 134 | |
| 135 | this->WeaponRange_Multiplier.Read(exINI, pSection, "WeaponRange.Multiplier"); |
| 136 | this->WeaponRange_ExtraRange.Read(exINI, pSection, "WeaponRange.ExtraRange"); |
| 137 | this->WeaponRange_AllowWeapons.Read(exINI, pSection, "WeaponRange.AllowWeapons"); |
| 138 | this->WeaponRange_DisallowWeapons.Read(exINI, pSection, "WeaponRange.DisallowWeapons"); |
| 139 | |
| 140 | this->Crit_Multiplier.Read(exINI, pSection, "Crit.Multiplier"); |
| 141 | this->Crit_ExtraChance.Read(exINI, pSection, "Crit.ExtraChance"); |
| 142 | this->Crit_AllowWarheads.Read(exINI, pSection, "Crit.AllowWarheads"); |
| 143 | this->Crit_DisallowWarheads.Read(exINI, pSection, "Crit.DisallowWarheads"); |
| 144 | |
| 145 | this->RevengeWeapon.Read<true>(exINI, pSection, "RevengeWeapon"); |
| 146 | this->RevengeWeapon_AffectsHouses.Read(exINI, pSection, "RevengeWeapon.AffectsHouses"); |
nothing calls this directly
no test coverage detected