Files
zzz_REBIRTH__Utils/Score/Other/DialogRequirementHasBuffSDX.cs
2025-06-04 16:44:53 +09:30

51 lines
1.3 KiB
C#

/*
* Match at least one of these buffs, by default.
* <requirement type="HasBuffSDX, SCore" requirementtype="Hide" value="buffCursed,buffGodMode,buffImagination" />
* Do not have these buffs
* <requirement type="HasBuffSDX, SCore" requirementtype="Hide" value="!buffCursed" " />
*/
using System.Linq;
public class DialogRequirementHasBuffSDX : BaseDialogRequirement
{
public override bool CheckRequirement(EntityPlayer player, EntityNPC talkingTo)
{
var matches = -1;
// If there's more than one buff listed, loop around, recording how many we match.
string[] array = Value.Split(new char[]
{
','
});
if (Value.Contains(","))
{
matches = array.Count(t => player.Buffs.HasBuff(t));
if (matches > 0)
return true;
return false;
}
else
{
// Reverse condition on the buff.
if (Value.StartsWith("!"))
{
var tempBuff = Value.Replace("!", "");
if (!player.Buffs.HasBuff(tempBuff))
return true;
}
// If no operator, just check if we have it
if (player.Buffs.HasBuff(Value))
return true;
}
return false;
}
}