// Use this for initialization protected virtual void Awake() { switch (slimeType) { case PlayerSlime.SlimeType.BLUE: player = GameObject.Find("BlueSlime(Clone)"); break; case PlayerSlime.SlimeType.RED: player = GameObject.Find("RedSlime(Clone)"); break; case PlayerSlime.SlimeType.GREEN: player = GameObject.Find("GreenSlime(Clone)"); break; case PlayerSlime.SlimeType.YELLOW: player = GameObject.Find("YellowSlime(Clone)"); break; } sp = GetComponentInChildren <SpriteRenderer>(); slimePlayerScript = player.GetComponent <PlayerSlime>(); //Get the player's script slimeShotTarget = slimePlayerScript.Reticle.transform.position; //The target of the slime shot rBody = GetComponent <Rigidbody2D>(); //Get the slime shot's rigidbody damage = slimePlayerScript.SlimeShotDamage; }
protected override void SlimeAttack2() { if (input.special != 0 && health > SlimeBurstCost && slimeAttack2Available) { //sound effect SoundManager.instance.RandomizeSFx(redSpec, redSpec2); StartCoroutine(DisplayHealBurst()); Collider2D[] cols = Physics2D.OverlapCircleAll(transform.position, SlimeBurstRange); //Debug.DrawLine(gameObject.transform.position, new Vector3(transform.position.x + SlimeBurstRange, transform.position.y, transform.position.z), Color.black, 4); foreach (Collider2D thing in cols) { if (thing.tag == "Player")// the slime burst has hit a player { PlayerSlime slimePlayer = thing.GetComponent <PlayerSlime>(); if (slimePlayer.SlimerType != PlayerSlime.SlimeType.RED) { slimePlayer.Health += 100; //kill enemy } } } ModHealth(-SlimeBurstCost); //decrease players health by the cost of the attack StartCoroutine(SlimeAttack2Cooldown()); } }
// Use this for initialization void Start() { slime = GetComponent <PlayerSlime>(); maxScale = indicator.GetChild(0).localScale.x; minScale = indicator.GetChild(1).localScale.x; }