public class DialogRequirementHasProgressLevelRebirth : BaseDialogRequirement { public override bool CheckRequirement(EntityPlayer player, EntityNPC talkingTo) { // If value is not specified, accepted it. //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement START"); if (string.IsNullOrEmpty(Value)) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 1"); return false; } float numProgressionLevel = player.Progression.GetProgressionValue(ID).Level; string tempValue = Value; //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement: Value: " + Value); //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement: tempValue: " + tempValue); if (tempValue.Contains(">=")) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 2a"); tempValue = tempValue.Replace(">=", ""); float.TryParse(tempValue, out var flValue); if (numProgressionLevel >= flValue) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 2b"); return true; } } else if (tempValue.Contains("LTE")) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 3a"); tempValue = tempValue.Replace("LTE", ""); float.TryParse(tempValue, out var flValue); if (numProgressionLevel <= flValue) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 3b"); return true; } } else if (tempValue.Contains(">")) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 4a"); tempValue = tempValue.Replace(">", ""); float.TryParse(tempValue, out var flValue); if (numProgressionLevel > flValue) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 4b"); return true; } } else if (tempValue.Contains("LT")) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 5a"); tempValue = tempValue.Replace("LT", ""); float.TryParse(tempValue, out var flValue); if (numProgressionLevel < flValue) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 5b"); return true; } } else if (tempValue.Contains("!=")) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 6a"); tempValue = tempValue.Replace("!=", ""); float.TryParse(tempValue, out var flValue); if (numProgressionLevel != flValue) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 6b"); return true; } } else { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 7a"); float.TryParse(tempValue, out var flValue); if (numProgressionLevel == flValue) { //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement 7b"); return true; } } //Log.Out("DialogRequirementHasProgressLevelRebirth-CheckRequirement END"); return false; } }