args.Result = false;
if (TryComp(args.Args.TargetEntity, out TemperatureComponent? temp))
{
- if (temp.CurrentTemperature > args.Condition.Min && temp.CurrentTemperature < args.Condition.Max)
+ if (temp.CurrentTemperature >= args.Condition.Min && temp.CurrentTemperature <= args.Condition.Max)
args.Result = true;
}
}
[DataField]
public float Max = float.PositiveInfinity;
+
public override bool Condition(EntityEffectBaseArgs args)
{
if (args is EntityEffectReagentArgs reagentArgs)
{
- if (reagentArgs.Source == null)
- return false;
- if (reagentArgs.Source.Temperature < Min)
- return false;
- if (reagentArgs.Source.Temperature > Max)
- return false;
- return true;
+ return reagentArgs?.Source != null &&
+ reagentArgs.Source.Temperature >= Min &&
+ reagentArgs.Source.Temperature <= Max;
}
// TODO: Someone needs to figure out how to do this for non-reagent effects.
if (args.EntityManager.TryGetComponent(args.TargetEntity, out DamageableComponent? damage))
{
var total = damage.TotalDamage;
- if (total > Min && total < Max)
- return true;
+ return total >= Min && total <= Max;
}
return false;
if (args.EntityManager.TryGetComponent(args.TargetEntity, out HungerComponent? hunger))
{
var total = args.EntityManager.System<HungerSystem>().GetHunger(hunger);
- if (total > Min && total < Max)
- return true;
+ return total >= Min && total <= Max;
}
return false;