public HealingInfo GetHealingInfo(IUnit unit) { var retval = new HealingInfo(); foreach (var promotion in UnitPromotionLogic.GetPromotionsForUnit(unit)) { HealingParser.ParsePromotionForHealingInfo(promotion, unit, retval); } return(retval); }
public void ParsePromotionForHealingInfo(IPromotion promotion, IUnit unit, HealingInfo info) { if (!promotion.RequiresForeignTerritory || IsUnitInForeignTerritory(unit)) { info.BonusHealingToSelf += promotion.BonusHealingToSelf; info.BonusHealingToAdjacent += promotion.BonusHealingToAdjacent; info.HealsEveryTurn |= promotion.HealsEveryTurn; info.AlternateNavalBaseHealing = Math.Max( info.AlternateNavalBaseHealing, promotion.AlternativeNavalBaseHealing ); } }
public HealingModifier(ModifierInfo info, Entity casterEntity, Entity targetEntity, Environment environment, CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection) { this.info = (HealingInfo)info; duration = this.info.Hmc.ShowDurationInSeconds(); targetHealthComponent = targetEntity.GetComponent <HealthComponent>(); if (this.info.Hmc.isTotal) { int tickCount = (int)(duration / this.info.Hmc.interval) + 1; healPercentPerTickWithoutPowerScale = this.info.Hmc.percent / tickCount; } else { healPercentPerTickWithoutPowerScale = this.info.Hmc.percent; } }
public static string GetOwnersHealingTakenTooltip(this HealingInfo healingTakenInfo, string title, int displayIndex, double?percentOfTotal, double?percentOfMax) { bool isOwnerTheSource = healingTakenInfo.Source.IsOwner; return ($@"{displayIndex}. {title} {(isOwnerTheSource ? "≥ " : "")}{healingTakenInfo.PotentialHealingPlusPets.Format()} potential healing {percentOfTotal.FormatPercent()} of {healingTakenInfo.Target.UncoloredName}'s total healing {percentOfMax.FormatPercent()} of {healingTakenInfo.Target.UncoloredName}'s max healing {healingTakenInfo.RealizedHealingPlusPets.Format()} realized healing {(isOwnerTheSource ? "≥ " : "")}{healingTakenInfo.OverhealingPlusPets.Format()} overhealing {(isOwnerTheSource ? "≥ " : "")}{healingTakenInfo.NanoHealingPlusPets.Format()} nano healing {(isOwnerTheSource ? "≥ " : "")}{healingTakenInfo.PercentOfOverhealingPlusPets.FormatPercent()} overhealing"); }
public OwnersHealingTakenMainRow(FightViewModel fightViewModel, HealingInfo healingTakenInfo) : base(fightViewModel, healingTakenInfo.Source) => HealingTakenInfo = healingTakenInfo;
public OwnersHealingDoneViewingModeDetailRow(FightViewModel fightViewModel, HealingInfo healingDoneInfo) : base(fightViewModel, healingDoneInfo.Target, showIcon: true) => HealingDoneInfo = healingDoneInfo;
public OwnersHealingTakenViewingModeDetailRow(FightViewModel fightViewModel, HealingInfo healingTakenInfo) : base(fightViewModel, healingTakenInfo.Source, showIcon: true) => HealingTakenInfo = healingTakenInfo;
public OwnersHealingDoneMainRow(FightViewModel fightViewModel, HealingInfo healingDoneInfo) : base(fightViewModel, healingDoneInfo.Target) => HealingDoneInfo = healingDoneInfo;