- Home /
Question by
Bendistocratic · Jun 26, 2016 at 05:59 AM ·
chainbounces
Medusa Snake (Dota 2) script
Hi, can anyone help me with this skill script? I've been trying it out but the code doesn't seem to work.
The script (which is attached to the projectile) is to enable the projectile to bounce to the next target. However, it only hits the 1st target and not the next targets.
Here is a snippet of code that doesn't work:
void Update() {
if (snakeRange != null) { //instantiated when an enemy is hit to find next target
if (snakeRange.GetComponent<SnakeRange>().nextTarget != null) {
target = snakeRange.GetComponent<SnakeRange>().nextTarget;
Debug.Log(target);
} else {
this.gameObject.tag = "SnakeBack";
Debug.Log(gameObject.tag);
target = theCounter; //goes back to tower to launch another projectile
}
}
}
And this is the Snake Range code:
private float timer;
public GameObject nextTarget;
void Start() {
timer = 0.1f;
}
void Update() {
if (timer <= 0)
Destroy(this.gameObject);
else
timer -= Time.deltaTime;
}
void OnTriggerEnter2D(Collider2D col) {
if (col.gameObject.tag == "Enemy") {
nextTarget = col.gameObject;
}
}
For the projectile movement:
void FixedUpdate () {
if (target == null) {
Destroy (this.gameObject);
}
currPos = transform.position;
enemyPos = target.transform.position;
direction = enemyPos - currPos;
direction.Normalize ();
float rotate = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0f, 0f, rotate - 90);
rb2d.MovePosition (currPos + direction * speed * Time.deltaTime);
}
Thank you!
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612083633im_/https://answers.unity.com/themes/thub/images/avi.jpg)