- Home /
Collision Damage, Hit points and Instantiate
HI everyone,
I am having a bit of a hard time trying to understand what I am doing here :) I want to apply damage to a gameObject with the weapon. This part is done. I also want this game object to receive damage if it falls. Say, I shoot it, I take 10% of its health, it falls, and the fall takes another percent of its health. Based on the fps tutorial; I have to say that my game object has a healthy prefab, a damaged prefab 1 (damage state) and a damaged prefab 2(completely destroyed); Everything works great up until I have a few more objects up close and this results in instantiating madness (so many instances that the engine hangs) Here's my script:
var hitPoints = 100.0; var detonationDelay = 0.0; var deadReplacement : GameObject; var damage = 10;
 
               function OnCollisionEnter(collision : Collision) { if (collision.relativeVelocity.magnitude > 5)
 hitPoints -= damage; if (hitPoints <= 10) { Invoke("DelayedDetonate", detonationDelay); } }
  function ApplyDamage (damage : float) {
  if (hitPoints <= 0.0) return;
 hitPoints -= damage; if (hitPoints <= 0.0) {
  var emitter : ParticleEmitter = GetComponentInChildren(ParticleEmitter);
 if (emitter)
     emitter.emit = true;
 Invoke("DelayedDetonate", detonationDelay);
 } }
  function DelayedDetonate () { BroadcastMessage ("Detonate"); 
}
 function Detonate () {
 
               Destroy(gameObject); if (deadReplacement) { var dead : GameObject = Instantiate(deadReplacement, transform.position, transform.rotation);
  }
 } 
I am doing something wrong and I have no clue where to look, any help is greatly appreciated.
Answer by DaveA · Jan 13, 2011 at 11:02 PM
Perhaps when an object is destroyed, it collides with other such damageable objects, causing a chain-reaction of destruction? You could put a check for this at the top of OnCollisionEnter to check the collider (name, type, tag, whatever) to see if it's the same type, and not react to itself-sorta.
Your answer
 
 
             Follow this Question
Related Questions
BoxCollider2D failling verification when Instantiate (Fixed, Cause: big derp) 1 Answer
Help with my On_Bullet please 1 Answer
[SOLVED] Destroy instantiated object prefab on collision 1 Answer
Instantiating random prefabs when the player passes through a trigger 1 Answer
Collision Not Responding 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                