Ejemplo n.º 1
0
        public void TestMethod1()
        {
            Combat Attack = new Combat();

            int Damage = Attack.Attack(3, 10, 5);

            Console.WriteLine(Damage);
            Console.WriteLine(Attack.Attack(3, 30, 5));
            Console.WriteLine(Attack.Attack(3, 10, 5));
            Console.WriteLine(Attack.Attack(3, 10, 5));
            Console.WriteLine(Attack.Attack(3, 10, 5));
        }
Ejemplo n.º 2
0
    private void Attack()
    {
        Vector3 posL = new Vector3(transform.position.x - 1, transform.position.y);
        Vector3 posR = new Vector3(transform.position.x + 1, transform.position.y);

        if (facingDirection == FacingDirection.left)
        {
            cmb.Attack(posL);
        }
        else
        {
            cmb.Attack(posR);
        }
    }
 public void AttackDoesDamageToEnemy()
 {
     Combat.Attack(mockPlayer, ref smallEnemy);
     Assert.AreNotEqual(100, ((Enemy)smallEnemy).SP, $"{((Enemy)smallEnemy).Name} did not take damage.");
     Combat.Attack(mockPlayer, ref mediumEnemy);
     Assert.AreNotEqual(200, ((Enemy)mediumEnemy).SP, $"{((Enemy)mediumEnemy).Name} did not take damage.");
 }
Ejemplo n.º 4
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Alpha1) && !combat.specialAttack)
     {
         if (Combat.energy >= lossOfEnergy)
         {
             key = KeyCode.Alpha1;
             StunedAttack();
         }
     }
     if (GameInformation.PlayerClass.CharacterClassName == "Mage")
     {
         if (Input.GetKeyDown(KeyCode.Q) && !combat.specialAttack)
         {
             if (Combat.mana >= lossOfMana)
             {
                 key = KeyCode.Q;
                 MagickAttackFire();
             }
         }
     }
     if (inAction)
     {
         if (combat.Attack(stunedTime, damageProcentage, key, particleEffect, projectiles, opponentBased, lossOfEnergy, lossOfMana))
         {
         }
         else
         {
             inAction = false;
             Combat.disturbedDamage = false;
         }
     }
 }
Ejemplo n.º 5
0
    private void Attack()
    {
        Combat combat = GetComponent <Combat>();

        if (combat != null)
        {
            combat.Attack();
        }
    }
Ejemplo n.º 6
0
    public void InstantiateAttack(int index)
    {
        Vector3 posL = new Vector3(transform.position.x - 1, transform.position.y);
        Vector3 posR = new Vector3(transform.position.x + 1, transform.position.y);

        if (index == 2)
        {
            cmb.Attack(transform.position, index);
        }
        else if (facingDirection == FacingDirection.left)
        {
            cmb.Attack(posL, index);
        }
        else
        {
            cmb.Attack(posR, index);
        }
    }
Ejemplo n.º 7
0
 void Combat()
 {
     if (combat.isAbleToAttack)
     {
         animator.SetTrigger("Attack");
         combat.isAbleToAttack = false;
         combat.Attack();
         animator.SetBool("isWalking", false);
     }
 }
Ejemplo n.º 8
0
 public void onAttackClick()
 {
     if (playerCombat.isAbleToAttack)
     {
         attackSpeedBarObject.SetActive(true);
         playerAnimator.SetTrigger("Attack");
         FindObjectOfType <AudioManager>().Play("Attack1");
         playerCombat.Attack();
     }
 }
Ejemplo n.º 9
0
    private IEnumerator doFight()
    {
        charAnimator.SetTrigger("Attack");
        yield return(new WaitForSeconds(0.5f));

        combat.Attack();
        charAnimator.ResetTrigger("Attack");
        dialogue.text = "Your dragon slashes at the enemy!";
        yield return(new WaitForSeconds(1f));
    }
Ejemplo n.º 10
0
    IEnumerator IESpawnAttack(float delay)
    {
        Vector2 targetLoc = target.position;

        yield return(new WaitForSeconds(delay));

        Combat cmb = GetComponent <Combat>();

        cmb.Attack(targetLoc);
    }
Ejemplo n.º 11
0
    internal void Attack()
    {
        if (mTarget == null)
        {
            print("Attack target null!");
            return;
        }

        mCombat.Attack(mMyStats, mTarget);
    }
Ejemplo n.º 12
0
    public override void Movetointeract()
    {
        base.Movetointeract();
        Combat playercombat = playerManager.player.GetComponent <Combat>();

        if (playercombat != null)
        {
            playercombat.Attack(stats);
        }
    }
Ejemplo n.º 13
0
    public override void Interact()
    {
        base.Interact();

        Combat playerCombat = currentPlayer.currentPlayer.GetComponent <Combat>();

        if (playerCombat != null)
        {
            playerCombat.Attack(enemyStats);
        }
    }
Ejemplo n.º 14
0
    public override void Interaction()
    {
        base.Interaction();

        Combat playerCombat = playerManager.player.GetComponent <Combat>();

        if (playerCombat != null)
        {
            playerCombat.Attack(selfStats);
        }
    }
Ejemplo n.º 15
0
 private void OnTriggerEnter(Collider weapon)
 {
     if (weapon.CompareTag("Weapon"))
     {
         attacker = weapon.GetComponentInParent <Combat>();
         //Debug.Log(attacker);
         if (attacker != null && attacker.name != gameObject.name)
         {
             attacker.Attack(myStats);
         }
     }
 }
 public void PlayerWinsEasyBattle()
 {
     while (!mockPlayer.WasDestroyed() && !smallEnemy.WasDestroyed())
     {
         Combat.Attack(mockPlayer, ref smallEnemy);
         if (!smallEnemy.WasDestroyed())
         {
             Combat.Attack(smallEnemy, ref mockPlayer);
         }
     }
     Assert.True(smallEnemy.WasDestroyed());
     Assert.False(mockPlayer.WasDestroyed(), "Player lost an easy battle. This shouldn't happen.");
 }
Ejemplo n.º 17
0
    public override bool Interact(GameObject user)
    {
        Combat combat = user.GetComponent <Combat>();

        if (combat != null)
        {
            if (combat.Attack(_stats))
            {
                DamageWithCombat(user);
            }
            return(true);
        }
        return(base.Interact(user));
    }
Ejemplo n.º 18
0
 // Setting Attacks so that they can work from a button call
 public void MeleeAttack()
 {
     //Basic Melee Atk
     animator.SetTrigger("playerAttack");
     attackFresh = refreshA + attackLength - (speed);
     moveFresh   = attackFresh;
     chargeFresh = refreshC + (chargeLag * GameController.FrameRate) - (charge * GameController.FrameRate);
     _combat.Attack(Combat.eAttackType.melee, gameObject.tag);
 }
Ejemplo n.º 19
0
 void Update()
 {
     if (health.currentHealth == health.maxHealth)
     {
         counterAttack = false;
     }
     if (health.currentHealth <= 50)
     {
         if (counterAttack == false)
         {
             combat.isAttacking = true;
             combat.Attack();
             counterAttack = true;
         }
     }
 }
Ejemplo n.º 20
0
    // Update is called once per frame
    void Update()
    {
        float distance = Vector3.Distance(target.position, transform.position);

        if (distance <= lookradius)
        {
            agent.SetDestination(target.position);

            if (distance <= agent.stoppingDistance)
            {
                CharacterStats targetst = target.GetComponent <CharacterStats>();
                if (targetst != null)
                {
                    charactercombat.Attack(targetst);
                }
                Face();
            }
        }
    }
Ejemplo n.º 21
0
    public void Attack(Intertactable target)
    {
        float distance = Vector3.Distance(target.interactableTranform.position, transform.position);

        //set khoang cach dung nhan vat ung voi attack range
        motor.agent.stoppingDistance = playerStats.attackRange.GetFinalValue();
        CharacterStats targetStats = target.GetComponent <EnermyStats>();

        if (distance < playerStats.attackRange.GetFinalValue())
        {
            if (targetStats != null)
            {
                combat.Attack(targetStats);
                motor.agent.stoppingDistance = playerStats.attackRange.GetFinalValue();
                //RemoveFocus();
                Debug.Log("Player tan cong");
            }
        }
    }
Ejemplo n.º 22
0
    private void Update()
    {
        float distance = Vector3.Distance(transform.position, target.position);

        if (distance <= lookRadius)
        {
            agent.SetDestination(target.position);

            if (distance <= agent.stoppingDistance)
            {
                FaceTheTarget();
                CharStats targetStats = target.GetComponent <CharStats>();
                if (targetStats != null)
                {
                    combat.Attack(targetStats);
                }
            }
        }
    }
Ejemplo n.º 23
0
    public void DoAttack()
    {
        Debug.Log("Creature " + this.self.tag + " attacking " + this.target.tag);

        self.attackTarget   = target;
        target.lastAttacker = self;

        attackHasTriggered = true;

        // For now, just play the attack animations
        Creature attacker = (Creature)this.self;

        // Check for a cutscene attack
        if (attacker.forcedAttack != null)
        {
            // The next attack is forced
            attacker.PlayAnimation(attacker.forcedAttack.anim);
            if (attacker.forcedAttack.result > 0)
            {
                ((Creature)target).TakeDamage(attacker.forcedAttack.dmg);
            }
            attacker.forcedAttack = null;
            return;
        }

        // If we reach this point, the attack was not forced, so we must
        // calculate it using the rules for calculating damage; this is
        // all done by the Combat class
        Combat.AttackResult result = Combat.Attack(attacker, target);
        if (!result.hit)
        {
            // Missed
            attacker.PlayAnimation("b7a1");
        }
        else
        {
            // Hit
            attacker.PlayAnimation("b7a1");
            ((Creature)target).TakeDamage(result.damage);
        }
    }
Ejemplo n.º 24
0
 // Update is called once per frame
 void Update()
 {
     if (combat.target != null)
     {
         Vector3 direction = combat.target.position - transform.position;
         direction.Normalize();
         moveTo = direction;
         combat.Attack(); //call for attack each Update
         ShareTarget();
         //draw a line to show which target is attacked
         line.enabled = true;
         line.SetPosition(0, this.transform.position);
         line.SetPosition(1, combat.target.position);
     }
     else
     {
         //search for target
         SearchTarget();
         line.enabled = false;
     }
 }
Ejemplo n.º 25
0
    // Update is called once per frame
    void Update()
    {
        if (player != null)
        {
            float dist = Vector3.Distance(player.position, transform.position);

            if (dist <= detectRadius)
            {
                enemyMove.followPlayer(player);

                if (dist <= 2f) // If enemy reached stopping distance
                {
                    Stats playerStats = player.GetComponent <Stats>();

                    if (playerStats != null)
                    {
                        combat.Attack(playerStats);
                    }
                }
            }
        }
    }
Ejemplo n.º 26
0
    // Update is called once per frame
    void Update()
    {
        float distance = Vector3.Distance(target.position, transform.position);

        if (distance < lookRadius)
        {
            agent.SetDestination(target.position);
            FaceTarget();
            CharacterStats targetStats = target.GetComponent <PlayerStats>();
            if (distance < enemy.radius)
            {
                if (targetStats != null)
                {
                    combat.Attack(targetStats); //tan cong nguoi choi
                }
            }
        }
        else
        {
            agent.SetDestination(startPosition);
        }
    }
Ejemplo n.º 27
0
    void Update()
    {
        float x = CrossPlatformInputManager.GetAxis("Vertical");
        float y = CrossPlatformInputManager.GetAxis("Horizontal");

        transform.Rotate(new Vector3(x, y, 0));
        transform.position += transform.forward * Time.deltaTime * speed;
        // Debug.Log("Move to " + transform.position.ToString() + " time " + Time.deltaTime + " forward " + transform.forward.ToString() + " speed " + speed.ToString());


        /*
         * if (!x.Equals(0) && !y.Equals(0))
         * {
         *  transform.eulerAngles = new Vector3(transform.eulerAngles.x,
         *  Mathf.Atan2(x,y) * Mathf.Rad2Deg ,transform.eulerAngles.z);
         * }
         *
         * if (!x.Equals(0) || !y.Equals(0))
         * {
         *  Vector3 movement = new Vector3(x, 0, y);
         *  transform.position += transform.forward * Time.deltaTime * speed;
         * }
         * else
         * {
         *
         * }
         */

        if (true) // Todo: change to get key from input for player shooting
        {
            Combat combat = GetComponent <Combat>();
            if (combat != null)
            {
                combat.Attack();
            }
        }
    }
Ejemplo n.º 28
0
 public void AttackAnimation()
 {
     anim.SetTrigger("Attack");
     combat.Attack();
 }
Ejemplo n.º 29
0
    void Update()
    {
        if (mState == GolemState.Dead)
        {
            return;
        }

        if (mState == GolemState.Idle)
        {
            mScanInterval -= Time.deltaTime;
            if (mScanInterval < 0)
            {
                mTarget = mCombat.Scan(mStats, AggroRange);
                if (mTarget == null)
                {
                    mScanInterval = Random.Range(1f, 3f);
                }
                else
                {
                    mState = GolemState.PissedOff;
                }
            }
            else
            {
                Vector3 mastPos = mMaster.transform.position;

                float dist = Vector3.Distance(transform.position, mastPos);

                if (dist > FollowRange)
                {
                    mState = GolemState.Following;
                }
            }
        }
        else if (mState == GolemState.Following)
        {
            Vector3 mastPos = mMaster.transform.position;

            float dist = Vector3.Distance(transform.position, mastPos);

            if (dist > FollowRange)
            {
                Vector3 move = mastPos - transform.position;

                move.Normalize();

                transform.rotation.SetLookRotation(move);

                move *= MoveSpeed * Time.deltaTime;

                transform.position += move;
            }
            else
            {
                mState = GolemState.Idle;
            }
        }
        else if (mState == GolemState.PissedOff)
        {
            if (mTarget == null)
            {
                mState = GolemState.Idle;
                return;
            }

            Vector3 targPos = mTarget.gameObject.transform.position;
            float   dist    = Vector3.Distance(transform.position, targPos);

            if (dist > AttackRange)
            {
                Vector3 move = targPos - transform.position;

                move.Normalize();

                transform.rotation.SetLookRotation(move);

                move *= MoveSpeed * Time.deltaTime;

                transform.position += move;
            }
            else
            {
                if (mStats.mCurGCD < 0)
                {
                    mCombat.Attack(mStats, mTarget);

                    mStats.mCurGCD = mStats.mGCD;

                    if (mTarget.mHealth <= 0)
                    {
                        mTarget = mCombat.Scan(mStats, AggroRange);
                    }
                }
            }
        }
    }
Ejemplo n.º 30
0
 public void Attack()
 {
     Combat.Attack();
 }