Files
zzz_REBIRTH__Utils/Scripts/Dialog/DialogRequirementHasProgressLevelRebirth.cs
2025-06-04 16:44:53 +09:30

89 lines
3.5 KiB
C#

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