Exemple #1
0
 public DamageEffect(TargetType tt, SingleTargetFormula damageFormula, SingleTargetSuccessFormula hitFormula, MoveEvent response)
 {
     _response      = response;
     _tt            = tt;
     _hitFormula    = hitFormula;
     _damageformula = damageFormula;
     _response      = response;
 }
        private MoveEffect buildEffect(XmlNode root)
        {
            TargetType tt = (TargetType)System.Enum.Parse(typeof(TargetType), root["tt"].InnerText);
            MoveEvent  ev = root["event"] == null ? null : eventBuilder.BuildMoveEventFromXml(root["event"]);
            int        successformula, damageformula;

            switch (root["type"].InnerText)
            {
            case "DAMAGE":
                damageformula = int.Parse(root["formula"].InnerText);
                SingleTargetFormula fmla = Formulas.SingleTargetFormulas[damageformula];
                successformula = int.Parse(root["success"].InnerText);
                SingleTargetSuccessFormula successfmla = SuccessFormulas[successformula];
                return(new DamageEffect(tt, fmla, successfmla, ev));

            case "ESCAPE":
                successformula = int.Parse(root["success"].InnerText);
                NoTargetSuccessFormula escapefmla = NoTargetSuccessFormulas[successformula];
                return(new EscapeEffect(escapefmla, ev));

            default:
                return(null);
            }
        }