public override void TakeEffect(AbilityInfo[] info)
    {
        base.TakeEffect(info);

        //Get Info
        SourceInfo sourceInfo = GetAbilityInfo <SourceInfo>();
        TargetInfo targetInfo = GetAbilityInfo <TargetInfo>();

        CreateEventData(sourceInfo, targetInfo);

        TrigggerBeforeActionEvent(sourceInfo.m_Source);

        //get source power;
        int pow = sourceInfo.GetPower();

        foreach (Unit unit in targetInfo.m_Targets)
        {
            m_TargetDelta = 0;

            m_EventData.m_CurrentTarget = unit;
            TriggerBeforeReceiveEffectEvent(unit);

            int value = GetValue(unit, pow);
            if (value > 0)
            {
                ChangeStats(unit, value);
            }
            else
            {
                ChangeStats(unit, 0);
            }

            //TriggerAfterReceiveEffectEvent(unit);
        }
    }