示例#1
0
    private void CopyDisplaceProperty(DisplacementProperty prop)
    {
        eDisplacementType type = new eDisplacementType();

        type = prop.displacementType;

        int[] values = new int[5];

        for (int i = 0; i < 5; i++)
        {
            int val = prop.distancePerLevel [i];
            values [i] = val;
        }

        bool targetCaster = prop.targetCasterOverride;
        bool affectCaster = prop.affectsCaster;
        bool allies       = prop.affectsAllyPlayers;
        bool allySummon   = prop.affectsAllySummons;
        bool enemies      = prop.affectsEnemyPlayers;
        bool enemySummon  = prop.affectsAllySummons;

        DisplacementProperty newProp = new DisplacementProperty();

        newProp.displacementType     = type;
        newProp.distancePerLevel     = values;
        newProp.targetCasterOverride = targetCaster;
        newProp.affectsCaster        = affectCaster;
        newProp.affectsAllyPlayers   = allies;
        newProp.affectsAllySummons   = allySummon;
        newProp.affectsEnemyPlayers  = enemies;
        newProp.affectsEnemySummons  = enemySummon;

        ability.critDisplacementEffects.Add(newProp);
    }
 public AbilityHitInfo(eEffectType et, GridCell target, eDisplacementType type)
 {
     location   = target;
     dType      = type;
     val        = 0;
     element    = eElement.NEUTRAL;
     effectType = et;
 }
 public AbilityHitInfo(eEffectType et, int v, eElement e)
 {
     val        = v;
     element    = e;
     effectType = et;
     location   = null;
     dType      = eDisplacementType.BLINK;
 }
 public void ForcedDisplace(GridCell target, eDisplacementType dType)
 {
     hitInfo.Add(new AbilityHitInfo(eEffectType.DISPLACEMENT, target, dType));
 }