private static int CompareTargetSelect(CharacterStateControl x, CharacterStateControl y, AIActionClip aiActionClip) { if (x == y) { return(0); } int num = 0; if (aiActionClip != null) { switch (aiActionClip.targetSelectRerefence) { case TargetSelectReference.Hp: num = CharacterStateControlSorter.CompareHpRangeBase(x, y, aiActionClip.minValue, aiActionClip.maxValue); break; case TargetSelectReference.Hate: num = CharacterStateControlSorter.CompareHateBase(x, y); break; case TargetSelectReference.Attack: num = CharacterStateControlSorter.CompareAttackBase(x, y); break; case TargetSelectReference.Defence: num = CharacterStateControlSorter.CompareDefenceBase(x, y); break; case TargetSelectReference.SpecialAttack: num = CharacterStateControlSorter.CompareSpecialAttackBase(x, y); break; case TargetSelectReference.SpecialDefence: num = CharacterStateControlSorter.CompareSpecialDefenceBase(x, y); break; case TargetSelectReference.Speed: num = CharacterStateControlSorter.CompareSpeedBase(x, y, false, false); break; case TargetSelectReference.Luck: num = CharacterStateControlSorter.CompareLuckBase(x, y); break; case TargetSelectReference.ToleranceNone: num = CharacterStateControlSorter.CompareToleranceAttributeBase(x, y, global::Attribute.None); break; case TargetSelectReference.ToleranceRed: num = CharacterStateControlSorter.CompareToleranceAttributeBase(x, y, global::Attribute.Red); break; case TargetSelectReference.ToleranceBlue: num = CharacterStateControlSorter.CompareToleranceAttributeBase(x, y, global::Attribute.Blue); break; case TargetSelectReference.ToleranceYellow: num = CharacterStateControlSorter.CompareToleranceAttributeBase(x, y, global::Attribute.Yellow); break; case TargetSelectReference.ToleranceGreen: num = CharacterStateControlSorter.CompareToleranceAttributeBase(x, y, global::Attribute.Green); break; case TargetSelectReference.ToleranceWhite: num = CharacterStateControlSorter.CompareToleranceAttributeBase(x, y, global::Attribute.White); break; case TargetSelectReference.ToleranceBlack: num = CharacterStateControlSorter.CompareToleranceAttributeBase(x, y, global::Attribute.Black); break; case TargetSelectReference.TolerancePoison: num = CharacterStateControlSorter.CompareToleranceAffectEffectBase(x, y, AffectEffect.Poison); break; case TargetSelectReference.ToleranceConfusion: num = CharacterStateControlSorter.CompareToleranceAffectEffectBase(x, y, AffectEffect.Confusion); break; case TargetSelectReference.ToleranceParalysis: num = CharacterStateControlSorter.CompareToleranceAffectEffectBase(x, y, AffectEffect.Paralysis); break; case TargetSelectReference.ToleranceSleep: num = CharacterStateControlSorter.CompareToleranceAffectEffectBase(x, y, AffectEffect.Sleep); break; case TargetSelectReference.ToleranceStun: num = CharacterStateControlSorter.CompareToleranceAffectEffectBase(x, y, AffectEffect.Stun); break; case TargetSelectReference.ToleranceSkillLock: num = CharacterStateControlSorter.CompareToleranceAffectEffectBase(x, y, AffectEffect.SkillLock); break; case TargetSelectReference.ToleranceInstantDeath: num = CharacterStateControlSorter.CompareToleranceAffectEffectBase(x, y, AffectEffect.InstantDeath); break; case TargetSelectReference.AttributeNone: num = CharacterStateControlSorter.CompareAttributeBase(x, y, global::Attribute.None); break; case TargetSelectReference.AttributeRed: num = CharacterStateControlSorter.CompareAttributeBase(x, y, global::Attribute.Red); break; case TargetSelectReference.AttributeBlue: num = CharacterStateControlSorter.CompareAttributeBase(x, y, global::Attribute.Blue); break; case TargetSelectReference.AttributeYellow: num = CharacterStateControlSorter.CompareAttributeBase(x, y, global::Attribute.Yellow); break; case TargetSelectReference.AttributeGreen: num = CharacterStateControlSorter.CompareAttributeBase(x, y, global::Attribute.Green); break; case TargetSelectReference.AttributeWhite: num = CharacterStateControlSorter.CompareAttributeBase(x, y, global::Attribute.White); break; case TargetSelectReference.AttributeBlack: num = CharacterStateControlSorter.CompareAttributeBase(x, y, global::Attribute.Black); break; case TargetSelectReference.Ap: num = CharacterStateControlSorter.CompareApRangeBase(x, y, aiActionClip.minValue, aiActionClip.maxValue); break; case TargetSelectReference.AffectEffect: num = CharacterStateControlSorter.CompareAffectEffectRangeBase(x, y, (int)aiActionClip.minValue, (int)aiActionClip.maxValue); break; case TargetSelectReference.SufferType: num = CharacterStateControlSorter.CompareSufferTypeRangeBase(x, y, (int)aiActionClip.minValue, (int)aiActionClip.maxValue); break; } if (aiActionClip.selectingOrder == SelectingOrder.LowAndHavent) { num *= -1; } } return(num); }