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); }
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); }