// Needed to import this code to allow a setup from a blank state instead of the default state. // Blank state setup is the only way to enable the plugin when switching from some other plugin // that changed the default state. private string EncounterFormatSwitch(EncounterData Data, List<CombatantData> SelectiveAllies, string VarName, string Extra) { long damage = 0; long healed = 0; int swings = 0; int hits = 0; int crits = 0; int heals = 0; int critheals = 0; int cures = 0; int misses = 0; int hitfail = 0; float tohit = 0; double dps = 0; double hps = 0; long healstaken = 0; long damagetaken = 0; long powerdrain = 0; long powerheal = 0; int kills = 0; int deaths = 0; switch (VarName) { case "maxheal": return Data.GetMaxHeal(true, false); case "MAXHEAL": return Data.GetMaxHeal(false, false); case "maxhealward": return Data.GetMaxHeal(true, true); case "MAXHEALWARD": return Data.GetMaxHeal(false, true); case "maxhit": return Data.GetMaxHit(true); case "MAXHIT": return Data.GetMaxHit(false); case "duration": return Data.DurationS; case "DURATION": return Data.Duration.TotalSeconds.ToString("0"); case "damage": foreach (CombatantData cd in SelectiveAllies) damage += cd.Damage; return damage.ToString(); case "damage-m": foreach (CombatantData cd in SelectiveAllies) damage += cd.Damage; return (damage / 1000000.0).ToString("0.00"); case "DAMAGE-k": foreach (CombatantData cd in SelectiveAllies) damage += cd.Damage; return (damage / 1000.0).ToString("0"); case "DAMAGE-m": foreach (CombatantData cd in SelectiveAllies) damage += cd.Damage; return (damage / 1000000.0).ToString("0"); case "healed": foreach (CombatantData cd in SelectiveAllies) healed += cd.Healed; return healed.ToString(); case "swings": foreach (CombatantData cd in SelectiveAllies) swings += cd.Swings; return swings.ToString(); case "hits": foreach (CombatantData cd in SelectiveAllies) hits += cd.Hits; return hits.ToString(); case "crithits": foreach (CombatantData cd in SelectiveAllies) crits += cd.CritHits; return crits.ToString(); case "crithit%": foreach (CombatantData cd in SelectiveAllies) crits += cd.CritHits; foreach (CombatantData cd in SelectiveAllies) hits += cd.Hits; float critdamperc = (float)crits / (float)hits; return critdamperc.ToString("0'%"); case "heals": foreach (CombatantData cd in SelectiveAllies) heals += cd.Heals; return heals.ToString(); case "critheals": foreach (CombatantData cd in SelectiveAllies) critheals += cd.CritHits; return critheals.ToString(); case "critheal%": foreach (CombatantData cd in SelectiveAllies) critheals += cd.CritHeals; foreach (CombatantData cd in SelectiveAllies) heals += cd.Heals; float crithealperc = (float)critheals / (float)heals; return crithealperc.ToString("0'%"); case "cures": foreach (CombatantData cd in SelectiveAllies) cures += cd.CureDispels; return cures.ToString(); case "misses": foreach (CombatantData cd in SelectiveAllies) misses += cd.Misses; return misses.ToString(); case "hitfailed": foreach (CombatantData cd in SelectiveAllies) hitfail += cd.Blocked; return hitfail.ToString(); case "TOHIT": foreach (CombatantData cd in SelectiveAllies) tohit += cd.ToHit; tohit /= SelectiveAllies.Count; return tohit.ToString("0"); case "DPS": case "ENCDPS": foreach (CombatantData cd in SelectiveAllies) damage += cd.Damage; dps = damage / Data.Duration.TotalSeconds; return dps.ToString("0"); case "DPS-k": case "ENCDPS-k": foreach (CombatantData cd in SelectiveAllies) damage += cd.Damage; dps = damage / Data.Duration.TotalSeconds; return (dps / 1000.0).ToString("0"); case "ENCHPS": foreach (CombatantData cd in SelectiveAllies) healed += cd.Healed; hps = healed / Data.Duration.TotalSeconds; return hps.ToString("0"); case "ENCHPS-k": foreach (CombatantData cd in SelectiveAllies) healed += cd.Healed; hps = healed / Data.Duration.TotalSeconds; return (hps / 1000.0).ToString("0"); case "tohit": foreach (CombatantData cd in SelectiveAllies) tohit += cd.ToHit; tohit /= SelectiveAllies.Count; return tohit.ToString("F"); case "dps": case "encdps": foreach (CombatantData cd in SelectiveAllies) damage += cd.Damage; dps = damage / Data.Duration.TotalSeconds; return dps.ToString("F"); case "dps-k": case "encdps-k": foreach (CombatantData cd in SelectiveAllies) damage += cd.Damage; dps = damage / Data.Duration.TotalSeconds; return (dps / 1000.0).ToString("F"); case "enchps": foreach (CombatantData cd in SelectiveAllies) healed += cd.Healed; hps = healed / Data.Duration.TotalSeconds; return hps.ToString("F"); case "enchps-k": foreach (CombatantData cd in SelectiveAllies) healed += cd.Healed; hps = healed / Data.Duration.TotalSeconds; return (hps / 1000.0).ToString("F"); case "healstaken": foreach (CombatantData cd in SelectiveAllies) healstaken += cd.HealsTaken; return healstaken.ToString(); case "damagetaken": foreach (CombatantData cd in SelectiveAllies) damagetaken += cd.DamageTaken; return damagetaken.ToString(); case "powerdrain": foreach (CombatantData cd in SelectiveAllies) powerdrain += cd.PowerDamage; return powerdrain.ToString(); case "powerheal": foreach (CombatantData cd in SelectiveAllies) powerheal += cd.PowerReplenish; return powerheal.ToString(); case "kills": foreach (CombatantData cd in SelectiveAllies) kills += cd.Kills; return kills.ToString(); case "deaths": foreach (CombatantData cd in SelectiveAllies) deaths += cd.Deaths; return deaths.ToString(); case "title": return Data.Title; default: return VarName; } }