Exemplo n.º 1
0
    private static BattlerActionTarget ParseTarget(string targetStr)
    {
        BattlerActionTarget t = BattlerActionTarget.None;

        switch (targetStr)
        {
        case "None":
            break;

        case "TargetWeakestEnemy":
            t = BattlerActionTarget.TargetWeakestEnemy;
            break;

        case "RandomTarget":
            t = BattlerActionTarget.RandomTarget;
            break;

        case "RandomTarget_ButOnlyCasters":
            t = BattlerActionTarget.RandomTarget_ButOnlyCasters;
            break;

        case "TargetSelf":
            t = BattlerActionTarget.TargetSelf;
            break;

        case "TargetOwnSide":
            t = BattlerActionTarget.TargetOwnSide;
            break;

        case "TargetActingBattler":
            t = BattlerActionTarget.TargetActingBattler;
            break;

        case "TargetEndangeredAlly":
            t = BattlerActionTarget.TargetEndangeredAlly;
            break;

        case "HitAll":
            t = BattlerActionTarget.HitAll;
            break;

        default:
            throw new System.NotSupportedException("BattlerActionData entry has a bad targeting type: " + targetStr);
        }
        return(t);
    }
Exemplo n.º 2
0
 private BattlerActionData(int index, string line)
 {
     actionID = (BattlerAction)index;
     string[] terms = line.Split(',');
     name               = terms[0];
     cooldownTurns      = int.Parse(terms[1]);
     effectPower        = int.Parse(terms[2]);
     interruptType      = ParseInterruptType(terms[3]);
     anim               = ParseAnim(terms[4]);
     target             = ParseTarget(terms[5]);
     baseDamage         = int.Parse(terms[6]);
     numberOfSubtargets = int.Parse(terms[7]);
     flags              = ParseListOfFlags(terms);
     if ((flags & BattlerActionEffectFlags.Healing) == BattlerActionEffectFlags.Healing)
     {
         baseDamage = baseDamage * -1;
     }
 }