示例#1
0
    // Use this for initialization
    void Start()
    {
        playerStaminaMan = FindObjectOfType <PlayerStaminaManager>();

        thePlayer = FindObjectOfType <PlayerController>();

        sfxMan = FindObjectOfType <SFXManager>();

        shield = FindObjectOfType <ShieldBlock>();

        thePS = FindObjectOfType <PlayerStats>();

        enemy = FindObjectOfType <EnemyTestScript>();

        playerHealth = FindObjectOfType <PlayerHealthManager>();
        hurtEnemy    = FindObjectOfType <HurtEnemy>();

        enemyHealth = FindObjectOfType <EnemyHealthManager>();

        playerEngagement = FindObjectOfType <EngagedWithPlayer>();

        // enemyStaminaMan = FindObjectOfType<EnemyStaminaManager>();

        deathStrike = false;

        showBlood          = false;
        playerStaminaDrain = false;
    }
示例#2
0
 // Use this for initialization
 void Start()
 {
     enemyObject      = this.gameObject;
     enemyScript      = enemyObject.GetComponent <EnemyTestScript>();
     playerObject     = GameObject.Find("Player");
     pathfinder       = FindObjectOfType <Pathfinding>();
     enqueue          = false;
     pathfindingTimer = 0.4f;
 }
    // Use this for initialization
    void Start()
    {
        hurtPlayer = FindObjectOfType <HurtPlayerUpdated>();

        playerStaminaMan = FindObjectOfType <PlayerStaminaManager>();

        thePlayer = FindObjectOfType <PlayerController>();

        sfxMan = FindObjectOfType <SFXManager>();

        shield = FindObjectOfType <ShieldBlock>();

        thePS           = FindObjectOfType <PlayerStats>();
        enemyGameObject = this.gameObject.transform.parent.gameObject;
        enemy           = enemyGameObject.GetComponent <EnemyTestScript>();
        rangedEnemy     = enemyGameObject.GetComponent <BasicRangedEnemy>();
        enemyMaster     = enemyGameObject.GetComponent <EnemyMasterScript>();
        enemyTransform  = enemyGameObject.transform;

        rangedAttack = enemyGameObject.GetComponent <EnemyRangedAttack>();

        playerHealth         = FindObjectOfType <PlayerHealthManager>();
        hurtEnemy            = FindObjectOfType <HurtEnemy>();
        playerShield         = FindObjectOfType <ShieldBlock>();
        hitPoint             = GameObject.Find("Player").transform;
        bloodCounter         = 10;
        deathStrike          = false;
        thePlayerDeathStrike = false;

        playerStaminaDrain = false;

        faceOff = false;

        check = 0;

        beforeRecov = true;

        enemyAttackCounter  = 1f;
        enemyDamagePossible = false;

        preAttack   = false;
        recovAttack = false;

        preAttackCounter   = 0.6f;
        recovAttackCounter = 0.3f;
        enemyAttackCounter = 0.06f;
        freezeFrame        = 1f;
    }
 // Use this for initialization
 void Start()
 {
     enemyObject = this.gameObject.transform.parent.gameObject;
     if (enemyObject.tag == "Enemy")
     {
         enemyScript = enemyObject.GetComponent <EnemyTestScript>();
         enemyType   = "BasicEnemy";
     }
     else
     {
         enemyRangedScript = enemyObject.GetComponent <BasicRangedEnemy>();
         enemyType         = "BasicRangedEnemy";
     }
     enemyMaster        = enemyObject.GetComponent <EnemyMasterScript>();
     enemyCanvasObject  = this.gameObject;
     healthbar.maxValue = enemyHealth.MaxHealth;
 }
示例#5
0
    // Use this for initialization
    void Start()
    {
        // dodgeDistanceFloat = 3;
        enemyD = FindObjectOfType <EnemyDialogue>();

        dummyGameObject = GameObject.Find("Dummy Object");
        //rayCastHitDodge.size;
        rayCastDodgeArray = new int[100];

        playerObject    = GameObject.Find("Player");
        playerTransform = playerObject.transform;

        layerMaskPlayerInt = 1 << 9;
        layerMaskPlayer    = ~layerMaskPlayerInt;
        layerMaskBoundsInt = 1 << 10;
        layerMaskBounds    = ~layerMaskBoundsInt;
        layerMaskEnemyInt  = 1 << 11;
        layerMaskEnemy     = ~layerMaskEnemyInt;

        rayDodgeDistance = 4;

        playerStats = FindObjectOfType <PlayerStats>();

        playerShield = FindObjectOfType <ShieldBlock>();

        sfxMan = FindObjectOfType <SFXManager>();

        theDM = FindObjectOfType <DialogueManager>();

        staminaMan = GetComponent <PlayerStaminaManager>();

        enemy = FindObjectOfType <EnemyTestScript>();

        playerHealth = FindObjectOfType <PlayerHealthManager>();

        hurtPlayer = FindObjectOfType <HurtPlayerUpdated>();

        hurtEnemy = FindObjectOfType <HurtEnemy>();

        globalData = FindObjectOfType <GlobalDataScript>();

        playerBoundBoxObject = GameObject.Find("Bounds");

        enemyTargetObject = this.gameObject;
        dmObject          = GameObject.Find("Dialogue Manager");
        theDM             = dmObject.GetComponent <DialogueManager>();

        terrainManager = FindObjectOfType <TerrainManager>();

        damagePossible = false;
        attackPossible = true;
        dashPossible   = true;

        anim        = GetComponent <Animator>();
        myRigidbody = GetComponent <Rigidbody2D>();

        if (!playerExists)
        {
            playerExists = true;
            //DontDestroyOnLoad(transform.gameObject);
        }
        else
        {
            //Destroy(gameObject);
        }

        canMove = true;

        lastMove = new Vector2(globalData.globalPlayerLastMoveX, globalData.globalPlayerLastMoveY);

        currentEnemyExists = true;

        if (boundBox == null)
        {
            //boundBox = FindObjectOfType<BoundsScript>().GetComponent<BoxCollider2D>();
            boundBox  = playerBoundBoxObject.GetComponent <BoxCollider2D>();
            minBounds = boundBox.bounds.min;
            maxBounds = boundBox.bounds.max;
        }

        minBounds = boundBox.bounds.min;
        maxBounds = boundBox.bounds.max;

        deathStrike = false;

        playerOldHealth = playerNewHealth;

        strikeBlock = false;

        strikeBlockCounter = 1f;

        noDamageIsTaken = true;

        preAttack   = false;
        recovAttack = false;

        preAttackCounter   = 0.2f;
        recovAttackCounter = 0.3f;
        attackTimeCounter  = 10;

        attackingCounterNew = 0.06f;

        specialMove = false;

        wasMoving      = false;
        wasSprint      = false;
        sprintTimer    = 0.2f;
        sprintPossible = false;

        // if (globalData.globalPlayerLockOn == 1)
        // {
        //     lockOn = false;
        // }
        // else
        // {
        //     lockOn = false;
        // }

        lockOn          = false;
        newListBool     = true;
        switchEnemyBool = true;

        equipmentBuffManagerScript = FindObjectOfType <EquipmentBuffManager>();

        lockOnImage = GameObject.Find("lockOnImage");
        lockOnImage.SetActive(false);
    }
示例#6
0
    public void ChooseLockOnDirection(Transform enemy)
    {
        if (enemy.GetComponent <EnemyHealthManager>().CurrentHealth <= 0)
        {
            lockOnImage.SetActive(false);
            // lockOn = false;
            enemyList.Remove(enemy);
            try
            {
                AddEnemiesToLists();
                enemy = FindClosestEnemy();
            }
            catch
            {
                lockOn = false;
                lockOnImage.SetActive(false);
                Debug.Log("it caught");
                return;
            }
            // lockOnImage.SetActive(true);
            // lockOnImage.transform.position = enemy.position;
            return;
        }

        if (Vector3.Distance(enemy.transform.position, this.transform.position) > 7)
        {
            lockOn = false;
            lockOnImage.SetActive(false);
            return;
        }


        lockOnImage.SetActive(true);
        lockOnImage.transform.position = enemy.position;

        float enemyTrackX = enemy.transform.position.x;
        float enemyTrackY = enemy.transform.position.y;

        float trackingMasterX = enemyTrackX - transform.position.x;
        float trackingMasterY = enemyTrackY - transform.position.y;

        if (trackingMasterY > 0)
        {
            if (trackingMasterX > 0) //Quadrant 2
            {
                if (trackingMasterX < trackingMasterY)
                {
                    directionInt     = 0;
                    lockOnVertical   = 0.5f;
                    lockOnHorizontal = 0f;
                    // Debug.Log("test: getting here");
                }
                else
                {
                    directionInt     = 1;
                    lockOnHorizontal = 0.5f;
                    lockOnVertical   = 0f;
                }
            }
            else if (trackingMasterX < 0)
            {
                if (Math.Abs(trackingMasterX) > trackingMasterY) //Quadrant 1
                {
                    directionInt     = 3;
                    lockOnHorizontal = -0.5f;
                    lockOnVertical   = 0f;
                }
                else
                {
                    directionInt     = 0;
                    lockOnVertical   = 0.5f;
                    lockOnHorizontal = 0;
                    // Debug.Log("test: getting here");
                }
            }
        }
        else if (trackingMasterY < 0) //Quadrant 4
        {
            if (trackingMasterX < 0)
            {
                if (trackingMasterX > trackingMasterY)
                {
                    directionInt     = 2;
                    lockOnVertical   = -0.5f;
                    lockOnHorizontal = 0f;
                }
                else if (trackingMasterX < trackingMasterY)
                {
                    directionInt     = 3;
                    lockOnHorizontal = -0.5f;
                    lockOnVertical   = 0f;
                }
            }
            else if (trackingMasterX > 0) //Quadrant 3
            {
                if (Math.Abs(trackingMasterY) > trackingMasterX)
                {
                    directionInt     = 2;
                    lockOnVertical   = -0.5f;
                    lockOnHorizontal = 0f;
                }
                else
                {
                    directionInt     = 1;
                    lockOnHorizontal = 0.5f;
                    lockOnVertical   = 0f;
                }
            }
        }
        lastMove = new Vector2(lockOnHorizontal, lockOnVertical);
    }
示例#7
0
 void Start()
 {
     parentObject = gameObject.transform.parent.GetComponent <EnemyTestScript> ();
     StartCoroutine(CheckLineOfSight());
 }
    private void OnTriggerEnter2D(Collider2D other)
    {
        try
        {
            playerEngagement = other.gameObject.transform.GetChild(0).GetComponent <EngagedWithPlayer>();
        }
        catch
        {
            return;
        }
        theEnemy = other.gameObject.GetComponent <EnemyTestScript>();

        // FreezeFrame();

        if (other.gameObject.tag == "Enemy" && playerEngagement.thePlayerDeathStrike || other.gameObject.tag == "LargeEnemyBasic" && playerEngagement.thePlayerDeathStrike || other.gameObject.tag == "BasicRangedEnemy" && playerEngagement.thePlayerDeathStrike ||
            other.gameObject.tag == "Enemy1")
        {
            enemyHit = true;
            // staminaManager.playerCurrentStamina += 20;

            // Animator anim2 = other.gameObject.GetComponent<Animator>();
            // if (thePlayer.recovAttack)
            // {
            //     anim2.enabled = false;
            // }
            // else
            // {
            //     anim2.enabled = true;
            // }

            if (playerEngagement.attacking && thePlayer.damagePossible &&
                playerEngagement.faceOff)
            {
                playerEngagement.strikeBlock  = true;
                sfxMan.swordsColliding.volume = 1;
                sfxMan.swordsColliding.Play();
                Instantiate(swordClash, swordClashPoint.position, swordClashPoint.rotation);
            }
            //was else if
            if (!thePlayer.noDamageIsTaken && !playerEngagement.attacking)
            {
                if (thePlayer.wasSprint && staminaManager.playerCurrentStamina > 50 && playerStats.dexterity >= 14 && playerStats.strength >= 9)
                {
                    if (playerStats.strength == 11)
                    {
                        currentDamage = damageToGive + thePS.currentAttack + 2;
                    }
                    else
                    {
                        currentDamage = damageToGive + thePS.currentAttack + 1;
                    }
                    // currentDamage = damageToGive + thePS.currentAttack + 1;
                    // Debug.Log(currentDamage);
                }
                else
                {
                    if (playerStats.strength == 11)
                    {
                        currentDamage = damageToGive + thePS.currentAttack + 1;
                    }
                    else
                    {
                        currentDamage = damageToGive + thePS.currentAttack;
                    }
                }
                sfxMan.blood.Play();
                if (this.gameObject.tag == "Throwing Knife")
                {
                    other.gameObject.GetComponent <EnemyHealthManager>().HurtEnemy(2);
                    Instantiate(damageBurst, hitPoint.position, hitPoint.rotation);
                    var clone = (GameObject)Instantiate(damageNumber, hitPoint.position,
                                                        Quaternion.Euler(Vector3.zero));
                    clone.GetComponent <FloatingNumbers>().damageNumber = currentDamage;
                }
                else
                {
                    other.gameObject.GetComponent <EnemyHealthManager>().HurtEnemy(currentDamage);
                    Instantiate(damageBurst, hitPoint.position, hitPoint.rotation);
                    var clone = (GameObject)Instantiate(damageNumber, hitPoint.position,
                                                        Quaternion.Euler(Vector3.zero));
                    clone.GetComponent <FloatingNumbers>().damageNumber = currentDamage;
                }
            }
        }
        else if (other.gameObject.tag == "Enemy" && other.gameObject.GetComponent <EnemyTestScript>().enemyShield&& !thePlayer.deathStrike ||
                 other.gameObject.tag == "LargeEnemyBasic" && other.gameObject.GetComponent <EnemyTestScript>().enemyShield&& !thePlayer.deathStrike)//
        {
            //enemyShieldStrike = true;
            other.gameObject.GetComponent <EnemyTestScript>().enemyShieldStrike = true;
            sfxMan.swordsColliding.volume = 1;
            sfxMan.swordsColliding.Play();
            // theEnemy= new Vector2(2,2);
            theEnemy.blockCounter++;
            // other.GetComponentInParent<Rigidbody2D>().rigidbody2D -= new Vector2(2,2);
            Instantiate(swordClash, swordClashPoint.position, swordClashPoint.rotation);
        }
    }
 void Start()
 {
     parentObject = gameObject.transform.parent.GetComponent <EnemyTestScript> ();
 }