private bool IsMultiplierActive(IntervalDef multInterval) { if (GameFlowData != null && multInterval != null) { return(IsActiveInCurrentActionPhase(GameFlowData.CurrentTurn, multInterval.m_onDuration, multInterval.m_restDuration, multInterval.m_startOffset, multInterval.m_delayTillStartOfMovement, ActionPhaseCheckMode.Default)); } return(true); }
public override void DeserializeAsset(AssetFile assetFile, StreamReader stream) { m_energyGainMultiplier = stream.ReadSingle(); m_energyGainMultInterval = new IntervalDef(assetFile, stream); m_damageMultiplier = stream.ReadSingle(); m_damageMultInterval = new IntervalDef(assetFile, stream); m_healingMultiplier = stream.ReadSingle(); m_healingMultInterval = new IntervalDef(assetFile, stream); m_absorbMultiplier = stream.ReadSingle(); m_absorbMultInterval = new IntervalDef(assetFile, stream); m_cooldownSpeedAdjustment = stream.ReadInt32(); m_cooldownTimeAdjustment = stream.ReadInt32(); m_cooldownMultiplier = stream.ReadSingle(); m_powerupRefreshSpeedAdjustment = stream.ReadInt32(); m_powerupDurationAdjustment = stream.ReadInt32(); m_alwaysOnStatuses = new SerializedArray <StatusInterval>(assetFile, stream); m_statusSuppression = new SerializedArray <StatusInterval>(assetFile, stream); m_passiveEnergyRegenMultiplier = stream.ReadSingle(); m_passiveHpRegenMultiplier = stream.ReadSingle(); m_useEnergizedOverride = stream.ReadBoolean(); stream.AlignTo(); m_energizedEnergyGainMod = new AbilityModPropertyInt(assetFile, stream); m_useSlowEnergyGainOverride = stream.ReadBoolean(); stream.AlignTo(); m_slowEnergyGainEnergyGainMod = new AbilityModPropertyInt(assetFile, stream); m_useHasteOverride = stream.ReadBoolean(); stream.AlignTo(); m_hasteHalfMovementAdjustAmount = stream.ReadInt32(); m_hasteFullMovementAdjustAmount = stream.ReadInt32(); m_hasteMovementMultiplier = stream.ReadSingle(); m_useSlowOverride = stream.ReadBoolean(); stream.AlignTo(); m_slowHalfMovementAdjustAmount = stream.ReadInt32(); m_slowFullMovementAdjustAmount = stream.ReadInt32(); m_slowMovementMultiplier = stream.ReadSingle(); m_useEmpoweredOverride = stream.ReadBoolean(); stream.AlignTo(); m_empoweredOutgoingDamageMod = new AbilityModPropertyInt(assetFile, stream); m_empoweredOutgoingHealingMod = new AbilityModPropertyInt(assetFile, stream); m_empoweredOutgoingAbsorbMod = new AbilityModPropertyInt(assetFile, stream); m_useWeakenedOverride = stream.ReadBoolean(); stream.AlignTo(); m_weakenedOutgoingDamageMod = new AbilityModPropertyInt(assetFile, stream); m_weakenedOutgoingHealingMod = new AbilityModPropertyInt(assetFile, stream); m_weakenedOutgoingAbsorbMod = new AbilityModPropertyInt(assetFile, stream); m_useArmoredOverride = stream.ReadBoolean(); stream.AlignTo(); m_armoredIncomingDamageMod = new AbilityModPropertyInt(assetFile, stream); m_useVulnerableOverride = stream.ReadBoolean(); stream.AlignTo(); m_vulnerableDamageMultiplier = stream.ReadSingle(); m_vulnerableDamageFlatAdd = stream.ReadInt32(); }