Ejemplo n.º 1
0
 void Start()
 {
     speed = 15;
     GetComponent <Rigidbody2D>().velocity = new Vector2(bulletDir * speed, 0);
     bulletDir    = 1;
     bulletDamage = DamageCalc.fixedDamage("Bullet");
 }
Ejemplo n.º 2
0
    public int DamageShield(int Attack)
    {
        int extraDamage = 0;

        if (_recharging)
        {
            _recharging = false;
            StopCoroutine("RechargeShield");
        }

        int damage = DamageCalc.CalcShield(Attack, _playerControl.playerStats.Armor + _playerControl.playerStats.Defense, DamageType.Kinetic);

        _playerControl.playerStats.Shield -= damage;
        if (_playerControl.playerStats.Shield < 0)
        {
            extraDamage = -_playerControl.playerStats.Shield;
            _playerControl.playerStats.Shield = 0;
        }

        // Update what the health bar looks like.
        UpdateShieldBar();

        // Play a random clip of the player getting hurt.
        //int i = Random.Range(0, shieldClips.Length);
        //AudioSource.PlayClipAtPoint(shieldClips[i], transform.position);

        return(extraDamage);
    }
Ejemplo n.º 3
0
        public static void Do()
        {
            var UseQ = Program.LastHitMenu["QL"].Cast <CheckBox>().CurrentValue;

            var minion =
                EntityManager.MinionsAndMonsters.GetLaneMinions(
                    EntityManager.UnitTeam.Enemy,
                    ObjectManager.Player.Position,
                    600,
                    true);

            if (minion != null)
            {
                if (UseQ)
                {
                    var selectQ =
                        minion.Where(
                            t =>
                            DamageCalc.GetQDamage(t) >= t.Health && Program.myHero.Distance(t) < Program.getQ.Range)
                        .FirstOrDefault();
                    if (selectQ != null)
                    {
                        Program.getQ.Cast(selectQ);
                    }
                }
            }
        }
Ejemplo n.º 4
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.tag != GameTags.Loot)
     {
         this.SpaceShip.OnCollisiion(DamageCalc.PowerFunc(DamageCalc.GetDamageForce(collision)));
     }
 }
Ejemplo n.º 5
0
 public void OnCollisionEnter2D(Collision2D collision)
 {
     // missle hits does not count
     if (collision.gameObject.GetComponent <MissleBehaviour>() == null)
     {
         this.Damage(DamageCalc.PowerFunc(DamageCalc.GetDamageForce(collision), this.scaleDamageSensivity));
     }
 }
Ejemplo n.º 6
0
    public void DamageHealth(int Attack)
    {
        int damage = DamageCalc.CalcDamage(Attack, _enemy.Defense, DamageType.Energy);

        _health -= damage;
        if (_health < 0)
        {
            _health = 0;
        }

        UpdateHealthBar();
    }
Ejemplo n.º 7
0
    public int DamageShield(int Attack)
    {
        int extraDamage = 0;
        int damage      = DamageCalc.CalcShield(Attack, _enemy.Defense, DamageType.Kinetic);

        _shield -= damage;
        if (_shield < 0)
        {
            extraDamage = -_shield;
            _shield     = 0;
        }

        UpdateShieldBar();

        return(extraDamage);
    }
    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("Enemy"))
        {
            health -= DamageCalc.CalcDamage(base_damage, type, other.GetComponent <UnitController>().type);
        }

        if (other.gameObject.CompareTag("Player"))
        {
            health -= DamageCalc.CalcDamage(base_damage, type, other.GetComponent <UnitController>().type);
        }

        if (health < 0)
        {
            health = 0;
        }

        if (health <= 0)
        {
            this.gameObject.SetActive(false);
        }
    }
Ejemplo n.º 9
0
        public Recount(DamageCalc calc)
        {
            calc.OnCombatLogEvent += OnCombatLogEvent;

            var sim = calc.Sim;

            sim.EnteringCombat += EnteringCombat;
            sim.LeavingCombat += LeavingCombat;

            sim.MainHand.OnSwing += OnMainHandSwing;

            foreach (var abil in sim.Abilities)
                abil.OnCast += OnCast;

            foreach (var buff in sim.Buffs)
            {
                buff.OnActivate += OnActivate;
                buff.OnRefresh += OnRefresh;
                buff.OnExpire += OnExpire;
                buff.OnCancel += OnCancel;
                buff.OnTick += OnTick;
            }
        }
Ejemplo n.º 10
0
    public void TakeDamage(int Attack)
    {
        // Create a vector that's from the enemy to the player with an upwards boost.
        //Vector3 hurtVector = transform.position - enemy.position + Vector3.up * 5f;

        // Add a force to the player in the direction of the vector and multiply by the hurtForce.
        //GetComponent<Rigidbody2D>().AddForce(hurtVector * hurtForce);

        int damage = DamageCalc.CalcDamage(Attack, _playerControl.playerStats.Armor + _playerControl.playerStats.Defense, DamageType.Energy);

        _playerControl.playerStats.Health -= damage;

        if (_playerControl.playerStats.Health < 0)
        {
            _playerControl.playerStats.Health = 0;
        }

        // Update what the health bar looks like.
        UpdateHealthBar();

        // Play a random clip of the player getting hurt.
        int i = Random.Range(0, ouchClips.Length);
        //AudioSource.PlayClipAtPoint(ouchClips[i], transform.position);
    }
Ejemplo n.º 11
0
 void Start()
 {
     fixedDamage = DamageCalc.fixedDamage("Melee");
     StartCoroutine("WaitForDirection");
 }
Ejemplo n.º 12
0
 public float EmpowerInWeapon(float weaponDamage, float elementalDamage, DamageCalc calc)
 {
     return(calc(weaponDamage, elementalDamage));
 }
Ejemplo n.º 13
0
    void Start()
    {
        //ダメージ計算
        GameObject gen = GameObject.Find ("EDamageTextGen");
        damageCalc = gen.GetComponent<DamageCalc> ();

        player = GameObject.FindWithTag ("Player"); //SendMessageにも使用
        pstats = player.GetComponent<PlayerControl>(); //ステータスを参照

        //敵プレハブの子のキャンバスを取得
        childCanvas = me.gameObject.transform.FindChild ("Canvas").gameObject;
        //キャンバスの子のテキストオブジェクトを取得
        childText = childCanvas.gameObject.transform.FindChild ("Text").gameObject;
        //さらにテキストオブジェクトからテキストコンポーネントを取得
        myName = childText.GetComponent<Text> ();

        enemyStats = this.gameObject.GetComponent<EnemyStats> ();
        //自分のテキストに名前を表示
        myName.text = enemyStats.eName;

        //HPゲージの最大値を敵のHPの最大値で初期化
        childSlider = childCanvas.gameObject.transform.FindChild ("Slider").gameObject;
        eHpGauge = childSlider.GetComponent<Slider> ();
        eHpGauge.maxValue = enemyStats.eHp;

        meTrans = me.GetComponent<Transform> ();
    }
Ejemplo n.º 14
0
    void Start()
    {
        Debug.Log ("start");
        moveSpeed = 0.1f;
        pos = transform.localPosition;
        stageControl = mainCamera.GetComponent<StageControl> ();

        //ステージクリアまで代入
        pHp   = PlayerStats.hitpoint * 5;
        pAtk  = PlayerStats.attack;
        pDef  = PlayerStats.deffence;
        pAgl  = PlayerStats.agility;
        pHeal = PlayerStats.heal;

        pHpSlider = GameObject.Find ("PlayerHPGauge").GetComponent<Slider> ();

        pHpSlider.maxValue = pHp;

        //ダメージ
        var obj = GameObject.Find ("EDamageTextGen");
        gen = obj.GetComponent<EDamageTextGen>();

        damageCalc = obj.GetComponent<DamageCalc>();

        //自然回復
        StartCoroutine ("PlayerHeal", pHeal);
    }
Ejemplo n.º 15
0
    public float DamageCalc(ref AnimalName animal)
    {
        float damage      = 0;
        float fireDamage  = firePassive.GetDamage(stat.weaponDamage);
        float waterDamage = waterPassive.GetDamage(stat.weaponDamage);
        float grassDamage = grassPassive.GetDamage(stat.weaponDamage);


        switch (animal)
        {
        case AnimalName.FOX:
            if (player.stat.curWeaponProperty == ElementalProperty.Water)
            {
                dele   = new DamageCalc(waterPassive.DamagePercent);
                damage = waterPassive.EmpowerInWeapon(waterDamage, 50f, dele);
            }
            else if (player.stat.curWeaponProperty == ElementalProperty.Fire)
            {
                damage = fireDamage;
            }
            else
            {
                damage = grassDamage;
            }
            break;

        case AnimalName.FROG:
            if (player.stat.curWeaponProperty == ElementalProperty.Grass)
            {
                dele   = new DamageCalc(grassPassive.DamagePercent);
                damage = grassPassive.EmpowerInWeapon(grassDamage, 50f, dele);
            }
            else if (player.stat.curWeaponProperty == ElementalProperty.Fire)
            {
                damage = fireDamage;
            }
            else
            {
                damage = waterDamage;
            }
            break;

        case AnimalName.RACCOON:
            if (player.stat.curWeaponProperty == ElementalProperty.Fire)
            {
                dele   = new DamageCalc(firePassive.DamagePercent);
                damage = firePassive.EmpowerInWeapon(fireDamage, 50f, dele);
            }
            else if (player.stat.curWeaponProperty == ElementalProperty.Water)
            {
                damage = waterDamage;
            }
            else
            {
                damage = grassDamage;
            }
            break;
        }

        return(damage);
    }