public static void HitCheck(WeaponInfoObject usedWeapon, int aim) { hitChance = aim; //hitChance= (coverIntervenience + weaponBaseAccuracy + WeaponProficiency + heightAdvantage + Bonuses - Penalties - (distance * weapontypeRange)) hitRoll = RandomRange.RollDice(1, 100); if (hitRoll <= hitChance) { //Run damage script DamageDealt(usedWeapon.baseDamage, usedWeapon.numberOfDiceDamage, usedWeapon.numberOfSidesDamage, true); } else { //Run damage script DamageDealt(0, 0, 0, false); } //int tempCase = usedWeapon.weaponRange; //switch (tempCase) //{ // case 0: // Debug.Log("case 1"); // break; // case 2: // Debug.Log("case 2"); // break; // default: // Debug.Log("default"); // break; //} }
public void Healing(int healAmount, WeaponInfoObject weapon) { GameObject heal = Instantiate(floatingDmg, damagePosition.position, Quaternion.Euler(transform.GetChild(0).localEulerAngles)); Text[] healText = heal.GetComponentsInChildren <Text>(); healText[1].text = CalculationManager.damage.ToString(); currentUnitHealth += CalculationManager.damage; UpdateUnitHealth(); }
public void TakeDamage(WeaponInfoObject weapon) { GameObject dmg = Instantiate(floatingDmg, damagePosition.position, Quaternion.Euler(transform.GetChild(0).localEulerAngles)); Text[] dmgText = dmg.GetComponentsInChildren <Text>(); //Check if miss CalculationManager.HitCheck(weapon, UnitConfig.accuracy); if (CalculationManager.hit == false) { dmgText[0].text = "Missed!"; dmgText[1].text = "-"; //Temporary lazy code preventing zombies from missing CalculationManager.hit = true; } else { dmgText[1].text = CalculationManager.damage.ToString(); currentUnitHealth -= CalculationManager.damage; Instantiate(unitConfig.unitClassStats.hitParticleSystem, transform.GetChild(0).position, transform.rotation); if (currentUnitHealth <= 0) { //unitConfig.isDead = true; if (!unitConfig.isFriendly) { mapConfig.turnSystem.enemyUnits.Remove(unitConfig); } else { mapConfig.turnSystem.playerUnits.Remove(unitConfig); } unitConfig.SetUnitState(UnitConfig.UnitState.Dead); mapConfig.turnSystem.AddKillCount(unitConfig.unitClassStats); } UpdateUnitHealth(); } if (!unitConfig.isFriendly)// FOR TUTORIAL { TurnSystem.hasShot = true; } TurnSystem.selectedTarget = null; }