Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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);
 }