示例#1
0
        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);
            }
        }
示例#2
0
 public EscapeEffect(NoTargetSuccessFormula success, MoveEvent response)
 {
     _success  = success;
     _response = response;
 }