コード例 #1
0
            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());
            }
コード例 #2
0
ファイル: RogueRotationCalculator.cs プロジェクト: rakot/rawr
            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());
            }