private void HandleHdInfos(ref StatBlockInfo.HDBlockInfo tempHDInfo, ref int Count, ref bool Found, List <string> FoundClasses, List <ClassWrapper> tempCharacterClasses) { for (int a = 0; a < _hitDiceBlockInfo.Count; a++) { tempHDInfo = _hitDiceBlockInfo[a]; foreach (ClassWrapper wrapper in _sbCheckerBaseInput.CharacterClasses.Classes) { if (tempHDInfo.HDType == _sbCheckerBaseInput.CharacterClasses.GetClassHDType(wrapper.Name)) { if (wrapper.Name == "Eidolon") { tempHDInfo.Multiplier -= StatBlockInfo.ComputeEidolonHD(wrapper.Level); } else { tempHDInfo.Multiplier -= wrapper.Level; } Found = true; FoundClasses.Add(wrapper.Name); tempCharacterClasses.Remove(wrapper); } } if (Found) { Found = false; _hitDiceBlockInfo[Count] = tempHDInfo; } Count++; } }