public static Boolean validConditions(Player perso, String req) { if ((req == null) || (req.Equals(""))) { return(true); } if (req.Contains("BI")) { return(false); } JepInstance jep = new JepInstance(); if (req.Contains("PO")) { req = havePO(req, perso); } req = req.Replace("&", "&&").Replace("=", "==").Replace("|", "||").Replace("!", "!="); try { jep.AddVariable("CI", perso.myStats.GetEffect(EffectEnum.AddIntelligence).Total); jep.AddVariable("CV", perso.myStats.GetEffect(EffectEnum.AddVitalite).Total); jep.AddVariable("CA", perso.myStats.GetEffect(EffectEnum.AddAgilite).Total); jep.AddVariable("CW", perso.myStats.GetEffect(EffectEnum.AddSagesse).Total); jep.AddVariable("CC", perso.myStats.GetEffect(EffectEnum.AddChance).Total); jep.AddVariable("CS", perso.myStats.GetEffect(EffectEnum.AddForce).Total); jep.AddVariable("Ci", perso.myStats.GetEffect(126).Base); jep.AddVariable("Cs", perso.myStats.GetEffect(118).Base); jep.AddVariable("Cv", perso.myStats.GetEffect(125).Base); jep.AddVariable("Ca", perso.myStats.GetEffect(119).Base); jep.AddVariable("Cw", perso.myStats.GetEffect(124).Base); jep.AddVariable("Cc", perso.myStats.GetEffect(123).Base); jep.AddVariable("Ps", perso.Alignement); jep.AddVariable("Pa", perso.AlignementLevel); jep.AddVariable("PP", perso.getGrade()); jep.AddVariable("PL", perso.Level); jep.AddVariable("PK", perso.Kamas); jep.AddVariable("PG", perso.Classe); jep.AddVariable("PS", perso.Sexe); jep.AddVariable("PZ", true); jep.AddVariable("MiS", perso.ID); jep.Parse(req); Object result = jep.Evaluate(); Boolean ok = false; if (result != null) { ok = Boolean.Parse(result.ToString()); } return(ok); } catch (JepException e) { Logger.Error("An error occurred: " + e.ToString()); } return(true); }
public bool Evaluate() { try { if (n1 == null) { n1 = jep.Parse(expression); } Object evaluate = jep.Evaluate(n1); if (evaluate is bool) { return((Boolean)evaluate); } else { return(!((Double)evaluate == 0.0D)); } } catch (Exception e) { Console.WriteLine("An error occured: " + e.Message); } return(false); }