Inheritance: MonoBehaviour
 protected override void Start()
 {
     base.Start();
     base.SetBaseValues(60, 16000, 150, "Purity", SkillLevel.Level1);
     player = GetComponent<Player>();
     crowdControllable = GetComponent<CrowdControllable>();
     health = GetComponent<Health>();
 }
 // Use this for initialization
 void Start()
 {
     moveController = GetComponent<MoveController>();
     animator = GetComponent<Animator>();
     attackController = GetComponent<AttackController>();
     crowdControllable = GetComponent<CrowdControllable>();
     health = GetComponent<Health>();
     player = GetComponent<Player>();
 }
 void OnTriggerEnter(Collider col)
 {
     if(col.gameObject.tag == "Player")
     {
         crowdControllable = col.GetComponent<CrowdControllable>();
         crowdControllable.addStun(2);
         Destroy(gameObject);
     }
 }
    void Start()
    {
        flinchCount = 0;
        isStunned = false;
        player = GetComponent<Player>();
        coll = GetComponent<BoxCollider>();
        crowdControllable = GetComponent<CrowdControllable>();
        animator = GetComponent<Animator>();

        CalculateRaySpacing();
        currentKnockbacktime = knockbackTime;
        currentFlinchTime = flinchTime;
        height = 2.0f * Camera.main.orthographicSize;
        screenWidthInPoints = height * Camera.main.aspect;
        source = new AudioSource();
        source = GetComponent<AudioSource>();
        isMovementDisabled = false;
    }
    /*
    void Awake()
    {
        if (player == null)
        {
            player = gameObject;
        }else if(player != gameObject)
        {
            Destroy(gameObject);
        }
    }*/
    void Start()
    {
        state = new StandingState();
        attackState = new IdleAttackState();
        animator = GetComponent<Animator>();
        skillManager = gameObject.AddComponent<SkillManager>();
        AttackCollider.SetActive(false);
        health = GetComponent<Health>();
        controller = GetComponent<MoveController>();
        crowdControllable = GetComponent<CrowdControllable>();
        mana = GetComponent<Mana>();
        attack = GetComponentInChildren<DealDamage>();
        defense = GetComponent<Defense>();
        attackController = GetComponent<AttackController>();
        gravity = -(2 * jumpHeight) / Mathf.Pow(timeToJumpApex, 2);
        jumpVelocity = Mathf.Abs(gravity) * timeToJumpApex;
        audiosource = GetComponent<AudioSource>();

        initialRegenTime = 6;
        regenTick = 2;

        DontDestroyOnLoad(gameObject);

        skill[0] = null;
        skill[1] = null;
        skill[2] = null;
        skill[3] = null;
        threatLevel = damageDealt = 0;

        GetComponent<ID>().setTime(false);
        CCI = GameObject.Find("Main Process").GetComponentInChildren<Character_Class_Info>();
        si = GameObject.Find("Main Process").GetComponentInChildren<Skill_info>();
        Fully_Update();
    }
 // Use this for initialization
 void Start()
 {
     isInvincible = false;
     hitSound = Resources.Load("hurt2") as AudioClip;
     player = GetComponent<Player>();
     moveController = GetComponent<MoveController>();
     crowdControllable = GetComponent<CrowdControllable>();
     currentHealth = maxhp;
     damageTextOffset = new Vector3(0, 2, 0);
 }