public static int MezPicker(int startIndex)
        {
            Enums.eMez     eMez           = Enums.eMez.None;
            frmEnhMiniPick frmEnhMiniPick = new frmEnhMiniPick();

            string[] names = Enum.GetNames(eMez.GetType());
            int      num1  = names.Length - 1;

            for (int index = 1; index <= num1; ++index)
            {
                frmEnhMiniPick.lbList.Items.Add(names[index]);
            }
            if (startIndex > -1 & startIndex < frmEnhMiniPick.lbList.Items.Count)
            {
                frmEnhMiniPick.lbList.SelectedIndex = startIndex - 1;
            }
            else
            {
                frmEnhMiniPick.lbList.SelectedIndex = 0;
            }
            frmEnhMiniPick.ShowDialog();
            return(frmEnhMiniPick.lbList.SelectedIndex + 1);
        }
    public string GetEnhancementStringLong()
    {
        string str1;

        if (this.Enh < 0)
        {
            str1 = string.Empty;
        }
        else
        {
            StringBuilder stringBuilder = new StringBuilder();
            bool          flag1         = false;
            bool          flag2         = false;
            bool          flag3         = false;
            bool          flag4         = false;
            bool          flag5         = false;
            IEnhancement  enhancement   = DatabaseAPI.Database.Enhancements[this.Enh];
            if (enhancement.Effect.Length == 0)
            {
                str1 = enhancement.Desc;
            }
            else
            {
                foreach (Enums.sEffect sEffect in enhancement.Effect)
                {
                    if (sEffect.Mode == Enums.eEffMode.FX)
                    {
                        flag1 = true;
                    }
                    if (sEffect.Mode == Enums.eEffMode.Enhancement && sEffect.Schedule != Enums.eSchedule.None)
                    {
                        float scheduleMult = this.GetScheduleMult(enhancement.TypeID, sEffect.Schedule);
                        if ((double)sEffect.Multiplier > 0.0)
                        {
                            scheduleMult *= sEffect.Multiplier;
                        }
                        Enums.eEnhance id = (Enums.eEnhance)sEffect.Enhance.ID;
                        string         str2;
                        if (id == Enums.eEnhance.Mez)
                        {
                            Enums.eMez subId = (Enums.eMez)sEffect.Enhance.SubID;
                            str2 = Enum.GetName(subId.GetType(), subId);
                        }
                        else
                        {
                            str2 = Enum.GetName(id.GetType(), id);
                        }
                        if (sEffect.Enhance.ID == 7 || sEffect.Enhance.ID == 8 || sEffect.Enhance.ID == 17)
                        {
                            str2  = !flag2 ? "Heal" : string.Empty;
                            flag2 = true;
                        }
                        else if (sEffect.Enhance.ID == 10 || sEffect.Enhance.ID == 11 && !flag5)
                        {
                            str2  = !flag3 ? "Jump" : string.Empty;
                            flag3 = true;
                        }
                        else if (sEffect.Enhance.ID == 5 || sEffect.Enhance.ID == 16)
                        {
                            str2  = !flag4 ? "EndMod" : string.Empty;
                            flag4 = true;
                        }
                        else if (((enhancement.Name.IndexOf("Slow", StringComparison.Ordinal) > -1 ? 1 : 0) & (sEffect.BuffMode != Enums.eBuffDebuff.DeBuffOnly ? 0 : (sEffect.Enhance.ID == 6 || sEffect.Enhance.ID == 11 ? 1 : (sEffect.Enhance.ID == 19 ? 1 : 0)))) != 0 || sEffect.Enhance.ID == 21)
                        {
                            str2  = !flag5 ? "Slow Movement" : string.Empty;
                            flag5 = true;
                        }
                        if (!string.IsNullOrEmpty(str2))
                        {
                            if (stringBuilder.Length > 0)
                            {
                                stringBuilder.Append("\n");
                            }
                            stringBuilder.AppendFormat("{0}  enhancement (Sched. {1}: {2}%)", str2, Enum.GetName(sEffect.Schedule.GetType(), sEffect.Schedule), (scheduleMult * 100f).ToString((IFormatProvider)NumberFormatInfo.CurrentInfo));
                        }
                    }
                }
                if (!flag1)
                {
                    str1 = stringBuilder.ToString();
                }
                else
                {
                    IPower power = new Power(enhancement.GetPower());
                    power.ApplyGrantPowerEffects();
                    int[] returnMask = new int[0];
                    for (int index1 = 0; index1 <= power.Effects.Length - 1; ++index1)
                    {
                        if (power.Effects[index1].EffectType == Enums.eEffectType.GrantPower)
                        {
                            if (stringBuilder.Length > 0)
                            {
                                stringBuilder.Append("\n");
                            }
                            stringBuilder.Append(power.Effects[index1].BuildEffectString(true, "", false, false, false));
                            string empty = string.Empty;
                            for (int idEffect = 0; idEffect <= power.Effects.Length - 1; ++idEffect)
                            {
                                power.Effects[idEffect].Stacking = Enums.eStacking.Yes;
                                power.Effects[idEffect].Buffable = true;
                                if (power.Effects[idEffect].Absorbed_EffectID == index1)
                                {
                                    power.GetEffectStringGrouped(idEffect, ref empty, ref returnMask, false, false, false);
                                }
                                if (returnMask.Length > 0)
                                {
                                    if (stringBuilder.Length > 0)
                                    {
                                        stringBuilder.Append("\n");
                                    }
                                    stringBuilder.AppendFormat("  {0}", empty);
                                    break;
                                }
                            }
                            for (int index2 = 0; index2 <= power.Effects.Length - 1; ++index2)
                            {
                                bool flag6 = false;
                                for (int index3 = 0; index3 <= returnMask.Length - 1; ++index3)
                                {
                                    if (returnMask[index3] == index2)
                                    {
                                        flag6 = true;
                                        break;
                                    }
                                }
                                if (power.Effects[index2].Absorbed_EffectID == index1 && !flag6)
                                {
                                    if (stringBuilder.Length > 0)
                                    {
                                        stringBuilder.Append("\n");
                                    }
                                    power.Effects[index2].Stacking = Enums.eStacking.Yes;
                                    power.Effects[index2].Buffable = true;
                                    stringBuilder.AppendFormat("  {0}", power.Effects[index2].BuildEffectString(false, "", false, false, false));
                                }
                            }
                        }
                        else if (!power.Effects[index1].Absorbed_Effect && power.Effects[index1].EffectType != Enums.eEffectType.Enhancement)
                        {
                            if (stringBuilder.Length > 0)
                            {
                                stringBuilder.Append("\n");
                            }
                            stringBuilder.Append(power.Effects[index1].BuildEffectString(true, "", false, false, false));
                        }
                    }
                    str1 = stringBuilder.ToString().Replace("Slf", "Self").Replace("Tgt", "Target");
                }
            }
        }
        return(str1);
    }
Exemple #3
0
 public static bool MezDurationEnhancable(Enums.eMez mezEnum)
 {
     return(mezEnum == Enums.eMez.Confused || mezEnum == Enums.eMez.Held || (mezEnum == Enums.eMez.Immobilized || mezEnum == Enums.eMez.Placate) || (mezEnum == Enums.eMez.Sleep || mezEnum == Enums.eMez.Stunned || (mezEnum == Enums.eMez.Taunt || mezEnum == Enums.eMez.Terrorized)) || mezEnum == Enums.eMez.Untouchable);
 }