Esempio n. 1
0
 public void SetVariables(Dictionary <String, Boolean> variableValues)
 {
     foreach (String var in variableValues.Keys)
     {
         jep.AddVariable(var, variableValues[var]);
     }
 }
Esempio n. 2
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);
        }