- Home /
continuous damage
Hi All,
I've been trying to get an idea to work.
I've been trying to get an AOE style of damage radiating out from its center point and effect any objects that come near it. The damage will fall off the further away objects are. And cause more damage the closer objects get.
I've tried using the tutorials in the resource section (FPS tutorial) but the damage only hits once and then seems to stop and i want it to be a continuous output.
the concept is a ship flying towards a sun, the closer it gets, the more damage it takes till it eventually dies. But it can fly further away while only taking slight damage.
Thank you in advance for any help and i do apologies if my question has already been solved, but the searches i've done have not helped me.
(unless i'm a muppet and been searching the wrong tags)
Answer by burnumd · May 27, 2010 at 08:37 PM
Check out OnTriggerStay instead of OnTriggerEnter/OnCollisionEnter. The principle from the tutorial remains the same (I don't recall the exact code offhand).
Your sun-type object should have something like the following:
function OnTriggerStay (other : Collider)
{
if (other.gameObject.CompareTag ("Player"))
{
var playerDistance : float = Mathf.Abs (Vector3.Distance (other.transform.position, transform.position));
var damageToDo;
// Do calculations for damage falloff based on player distance and assign it to damageToDo
other.SendMessage ("Damage", damageToDo);
}
}
Where "Damage" is the player damage method from the tutorial.
thats awesome, thank you so much! The ontriggerStay has pretty much nailed it. Thanks again!
If that helped, would you consider marking the question answered? :)