summaryrefslogtreecommitdiff
path: root/Assembly_CSharp/Tower/Obelisk.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assembly_CSharp/Tower/Obelisk.cs')
-rw-r--r--Assembly_CSharp/Tower/Obelisk.cs99
1 files changed, 0 insertions, 99 deletions
diff --git a/Assembly_CSharp/Tower/Obelisk.cs b/Assembly_CSharp/Tower/Obelisk.cs
deleted file mode 100644
index 549f3b4..0000000
--- a/Assembly_CSharp/Tower/Obelisk.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-using UnityEngine;
-
-public class Obelisk : Tower
-{
- [SerializeField]
- private GameObject beam;
-
- [SerializeField]
- private AudioSource audioS;
-
- private bool soundPlaying;
-
- private IDamageable lastThingIHit;
-
- private float timeOnTarget;
-
- protected override void Update()
- {
- if (currentTarget != null)
- {
- if (turret != null)
- {
- AimTurret();
- }
- GainXP();
- }
- else
- {
- beam.SetActive(value: false);
- PlaySound(onOff: false);
- }
- timeSinceLastShot += Time.deltaTime;
- if (currentTarget != null && timeSinceLastShot > rps)
- {
- Fire();
- timeSinceLastShot = 0f;
- }
- }
-
- protected override void Fire()
- {
- if (consumesMana)
- {
- int manaCost = (int)((float)base.damage * manaConsumptionRate);
- if (!ResourceManager.instance.CheckMana(manaCost))
- {
- beam.SetActive(value: false);
- PlaySound(onOff: false);
- return;
- }
- ResourceManager.instance.SpendMana(manaCost);
- }
- DealDamage();
- }
-
- protected override void AimTurret()
- {
- Vector3 forward = currentTarget.transform.position - turret.transform.position + Vector3.up * 0.5f;
- Quaternion rotation = Quaternion.LookRotation(forward, Vector3.up);
- turret.transform.rotation = rotation;
- beam.transform.localScale = new Vector3(1f, 1f, forward.magnitude);
- }
-
- private void DealDamage()
- {
- IDamageable component = currentTarget.GetComponent<IDamageable>();
- if (component != null)
- {
- if (component == lastThingIHit)
- {
- timeOnTarget += rps;
- }
- else
- {
- timeOnTarget = 0f;
- lastThingIHit = component;
- }
- int num = Mathf.Clamp(Mathf.FloorToInt(timeOnTarget * TowerManager.instance.obeliskTimeOnTargetMultiplier), 0, base.damage);
- component.TakeDamage(towerType, base.damage + num, base.healthDamage, base.armorDamage, base.shieldDamage, base.slowPercent, base.bleedPercent, base.burnPercent, base.poisonPercent, base.critChance, base.stunChance);
- beam.SetActive(value: true);
- PlaySound(onOff: true);
- }
- }
-
- private void PlaySound(bool onOff)
- {
- if (onOff && !soundPlaying)
- {
- audioS.volume = OptionsMenu.instance.masterVolume * OptionsMenu.instance.sfxVolume;
- audioS.Play();
- soundPlaying = true;
- }
- else if (!onOff && soundPlaying)
- {
- audioS.Stop();
- soundPlaying = false;
- }
- }
-}