//create the path according to the current behaviour
    private void generatePath()
    {
        switch (behaviour)
        {
        case Behaviour.FOLLOW:
            path = PathfindingScript.getPath(getPacmanPosition(), currentWaypoint);
            if (type.Equals(Type.AGGRESSIVE))
            {
                path.RemoveAt(0);
            }
            break;

        case Behaviour.RANDOM:
            path = PathfindingScript.getRandomPath(currentWaypoint);
            break;

        case Behaviour.FLEE:
            path = PathfindingScript.getEscapePath(getPacmanPosition(), currentWaypoint);
            path.RemoveAt(0);
            break;
        }
    }
    //ADD: Magic
    void Awake()
    {
        //initialize all component variables
        Stats = GetComponent<AttributesScript>();
        KnownAbilities = GetComponent<CharacterKnownAbilities>();
        Status = GetComponent<CharacterStatus>();
        Equipment = GetComponent<CharacterEquipment>();

        Move = GameObject.FindGameObjectWithTag("Controller").GetComponent<MovementScript>();
        pathFind = GameObject.FindGameObjectWithTag("Controller").GetComponent<PathfindingScript>();
        findValid = GameObject.FindGameObjectWithTag("Controller").GetComponent<FindValidPoints>();
        Draw = GameObject.FindGameObjectWithTag("Controller").GetComponent<DrawSquaresScript>();
        Controller = GameObject.FindGameObjectWithTag("Controller").GetComponent<TurnController>();
        Magic = GameObject.FindGameObjectWithTag("Controller").GetComponent<MagicList>();
        Skills = GameObject.FindGameObjectWithTag("Controller").GetComponent<SkillList>();

        Items = GameObject.FindGameObjectWithTag("ItemManager").GetComponent<AllItemsList>();
        if(GetComponent<MouseControlScript>()){
            Mouse = GetComponent<MouseControlScript>();
            isPlayer = true;
        }

        skillSelected = "";
    }