public override string ToString() { StringBuilder rotation = new StringBuilder(); if (BackstabCount > 0) { rotation.Append("BS "); } if (HemoCount > 0) { rotation.Append("He "); } if (SStrikeCount > 0) { rotation.Append("SS "); } if (MutiCount > 0) { rotation.Append("Mu "); } if (RuptCount > 0) { rotation.Append("Ru "); } if (EvisCount > 0) { rotation.AppendFormat("Ev{0} ", FinisherCP); } if (EnvenomCount > 0) { rotation.AppendFormat("En{0} ", FinisherCP); } rotation.Append("SnD" + SnDCP.ToString()); if (EnvenomCount > 0 && CutToTheChase == 1) { rotation.AppendFormat("*Use {0}cp Slice and Dice, kept up with Envenom.\r\n", SnDCP); } else if (EnvenomCount > 0 && CutToTheChase > 0) { rotation.AppendFormat("*Use {0}cp Slice and Dice, partially kept up with Envenom.\r\n", SnDCP); } else { rotation.AppendFormat("*Keep {0}cp Slice and Dice up.\r\n", SnDCP); } if (RuptCount > 0) { rotation.Append("Keep 5cp Rupture up.\r\n"); } if (EvisCount > 0) { rotation.AppendFormat("Use {0}cp Eviscerates to spend extra combo points.\r\n", FinisherCP); } if (EnvenomCount > 0) { rotation.AppendFormat("Use {0}cp Envenoms to spend extra combo points.\r\n", FinisherCP); } if (BackstabCount > 0) { rotation.Append("Use Backstab for combo points.\r\n"); } else if (HemoCount > 0) { rotation.Append("Use Hemorrhage for combo points.\r\n"); } else if (SStrikeCount > 0) { rotation.Append("Use Sinister Strike for combo points.\r\n"); } else if (MutiCount > 0) { rotation.Append("Use Mutilate for combo points.\r\n"); } else { rotation.Append("Error: no CPG used, please create an issue on rawr.codeplex.com including your char file.\r\n"); } if (MHPoison == 1) { rotation.Append("Use Instant Poison on Mainhand.\r\n"); } else if (MHPoison == 2) { rotation.Append("Use Deadly Poison on Mainhand.\r\n"); } else if (MHPoison == 3) { rotation.Append("Use Wound Poison on Mainhand.\r\n"); } if (OHPoison == 1) { rotation.Append("Use Instant Poison on Offhand.\r\n"); } else if (OHPoison == 2) { rotation.Append("Use Deadly Poison on Offhand.\r\n"); } else if (OHPoison == 3) { rotation.Append("Use Wound Poison on Offhand.\r\n"); } if (UseTotT) { rotation.Append("Use Tricks of the Trade every cooldown."); } return(rotation.ToString()); }
public override string ToString() { if (RotationString != null) { return(RotationString); } StringBuilder rotation = new StringBuilder(); if (BackstabCount > 0) { rotation.Append("BS "); } if (HemoCount > 0) { rotation.Append("He "); } if (SStrikeCount > 0) { rotation.Append("SS "); } if (MutiCount > 0) { rotation.Append("Mu "); } if (RStrikeCount > 0) { rotation.Append("RS "); } if (RuptCount > 0) { rotation.AppendFormat("Ru{0} ", RuptCP); } if (EvisCount > 0) { rotation.AppendFormat("Ev{0} ", FinisherCP); } if (EnvenomCount > 0) { rotation.AppendFormat("En{0} ", FinisherCP); } rotation.Append("SnD" + SnDCP.ToString()); if (!MultipleSegments) { rotation.Append("*"); } else { rotation.Append("\r\n"); } if (RecupCount > 0) { rotation.Append("Keep 5cp Recuperate up.\r\n"); } if (EACount > 0 && RStrikeCount == 0) { rotation.Append("Keep 5cp Expose Armor up.\r\n"); } else if (EACount > 0 && RStrikeCount > 0) { rotation.Append("Keep 5cp Expose Armor up, lengthened with Revealing Strike.\r\n"); } if (EnvenomCount > 0 && CutToTheChase == 1) { rotation.AppendFormat("Use {0}cp Slice and Dice, kept up with Envenom.\r\n", SnDCP); } else if (EnvenomCount > 0 && CutToTheChase > 0) { rotation.AppendFormat("Use {0}cp Slice and Dice, partially kept up with Envenom.\r\n", SnDCP); } else if (EvisCount > 0 && CutToTheChase == 1) { rotation.AppendFormat("Use {0}cp Slice and Dice, kept up with Eviscerate.\r\n", SnDCP); } else if (EvisCount > 0 && CutToTheChase > 0) { rotation.AppendFormat("Use {0}cp Slice and Dice, partially kept up with Eviscerate.\r\n", SnDCP); } else { rotation.AppendFormat("Keep {0}cp Slice and Dice up.\r\n", SnDCP); } if (EvisCount > 0 && SerratedBlades == 1) { rotation.AppendFormat("Use {0}cp Rupture, kept up with Eviscerate.\r\n", RuptCP); } else if (EvisCount > 0 && SerratedBlades > 0) { rotation.AppendFormat("Use {0}cp Rupture, partially kept up with Eviscerate.\r\n", RuptCP); } else if (RuptCount > 0 && RStrikeCount == 0) { rotation.AppendFormat("Keep {0}cp Rupture up.\r\n", RuptCP); } else if (RuptCount > 0 && RStrikeCount > 0) { rotation.AppendFormat("Keep {0}cp Rupture up, empowered with Revealing Strike.\r\n", RuptCP); } if (EvisCount > 0 && RStrikeCount == 0) { rotation.AppendFormat("Use {0}cp Eviscerates to spend extra combo points.\r\n", FinisherCP); } else if (EvisCount > 0 && RStrikeCount > 0) { rotation.AppendFormat("Use {0}cp Eviscerates to spend extra combo points, empowered with Revealing Strike.\r\n", FinisherCP); } if (EnvenomCount > 0 && RStrikeCount == 0) { rotation.AppendFormat("Use {0}cp Envenoms to spend extra combo points.\r\n", FinisherCP); } else if (EnvenomCount > 0 && RStrikeCount > 0) { rotation.AppendFormat("Use {0}cp Envenoms to spend extra combo points, empowered with Revealing Strike.\r\n", FinisherCP); } if (BackstabCount > 0 && HemoCount > 0) { rotation.Append("Keep the Hemorrhage debuff up.\r\nUse Backstab for combo points.\r\n"); } else if (BackstabCount > 0) { rotation.Append("Use Backstab for combo points.\r\n"); } else if (HemoCount > 0) { rotation.Append("Use Hemorrhage for combo points.\r\n"); } else if (SStrikeCount > 0) { rotation.Append("Use Sinister Strike for combo points.\r\n"); } else if (MutiCount > 0) { rotation.Append("Use Mutilate for combo points.\r\n"); } else { rotation.Append("Error: no CPG used, please create an issue on rawr.codeplex.com including your char file.\r\n"); } if (MHPoison == 1) { rotation.Append("Use Instant Poison on Mainhand.\r\n"); } else if (MHPoison == 2) { rotation.Append("Use Deadly Poison on Mainhand.\r\n"); } else if (MHPoison == 3) { rotation.Append("Use Wound Poison on Mainhand.\r\n"); } if (OHPoison == 1) { rotation.Append("Use Instant Poison on Offhand."); } else if (OHPoison == 2) { rotation.Append("Use Deadly Poison on Offhand."); } else if (OHPoison == 3) { rotation.Append("Use Wound Poison on Offhand."); } if (UseTotT) { rotation.Append("\r\nUse Tricks of the Trade every cooldown."); } return(rotation.ToString()); }