public void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { if (destructible) { float locDamage = argInArgs.dmg; if (locDamage > 0) { if (hitPoints > locDamage) { hitPoints -= locDamage; locDamage = 0; } else { hitPoints = 0; Invoke("Destruct", 0.02f); DamageProvider dp = argInArgs.source.GetComponent <DamageProvider>(); if (dp != null) { dp.ReportKill(this); } } } } Push(argInArgs.knockback); }
protected override void Die(DamageAcceptorRegistry.DamageArgs argInArgs) { Spawn(); Spawn(); Spawn(); Spawn(); }
public void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { if (argInArgs.type == "demolition") { Destroy(this.gameObject); } }
public void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { if (argInArgs.dmg > 0) { Explode(); } }
public override void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { //Debug.Log("MeleeAcceptDmg" + argInArgs.dmg); if (argInArgs.type == "melee") { argInArgs.dmg *= 3; } SpitBloodParticle((transform.position - argInArgs.source.transform.position).normalized, transform.position); base.acceptDamage(argInArgs); }
public virtual void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { //Debug.Log("AIAcceptDmg" + argInArgs.dmg); if (this.gameObject == null) { return; } if (stats.isDead) { return; } float locDamage = argInArgs.dmg; if (stats.currentArmorPoints > 0) { if (stats.currentArmorPoints > locDamage) { stats.currentArmorPoints -= locDamage; locDamage = 0; } else { stats.currentArmorPoints = 0; locDamage -= stats.currentArmorPoints; } } if (locDamage > 0) { if (stats.currentHitPoints > locDamage) { stats.currentHitPoints -= locDamage; locDamage = 0; Knockback(argInArgs.knockback); } else { stats.currentHitPoints = 0; stats.isDead = true; DamageProvider dp = argInArgs.source.GetComponent <DamageProvider>(); if (dp != null) { dp.ReportKill(this); } Die(argInArgs); } } Transform healthbar = transform.Find("HealthBar"); if (healthbar != null) { healthbar.transform.Find("Level").GetComponent <Image>().fillAmount = stats.currentHitPoints / stats.totalHitPoints; } }
public void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { Vector3 direction = (transform.position - argInArgs.source.transform.position).normalized; GameObject effect = Instantiate(Resources.Load("BloodParticle", typeof(GameObject)), transform.position, Quaternion.FromToRotation(Vector3.right, direction), transform.parent) as GameObject; Push(argInArgs.knockback); }
public override void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { Debug.Log("BubaExpl_acceptDamage"); if (cooldown == 0f) { cooldown = 1f; GameObject proj = Instantiate(Resources.Load("Grenade", typeof(GameObject)), this.transform.position + Vector3.up, transform.rotation) as GameObject; proj.GetComponent <Grenade>().speed = moveSpeed; proj.GetComponent <Grenade>().damage = 30f; Die(argInArgs); } }
public override void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { float locDamage = argInArgs.dmg; if (locDamage > 0) { head.SetActive(false); hitCooldown = 3f; SpitBloodParticle((transform.position - argInArgs.source.transform.position).normalized, transform.position + Vector3.up / 2); if (Time.time - lastBloodifyTime > 3f) { lastBloodifyTime = Time.time; Bloodify(this.transform.position + Vector3.up); } } }
protected override void Die(DamageAcceptorRegistry.DamageArgs argInArgs) { Weapon weap = GetComponentInChildren <Weapon>(); if (weap != null) { weap.transform.parent = gpParent.transform; weap.Drop(); //Destroy(weap.gameObject, 4f); } Vector3 stickBodyPosition = transform.Find("StickBody").position; GameObject ragdoll = Instantiate(Resources.Load("Ragdoll", typeof(GameObject)), stickBodyPosition, Quaternion.identity, gpParent.transform) as GameObject; ragdoll.GetComponent <Ragdoll>().Push(argInArgs.knockback); Bloodify(this.transform.position + Vector3.up); base.Die(argInArgs); }
protected override void Die(DamageAcceptorRegistry.DamageArgs argInArgs) { Vector3 stickBodyPosition = transform.Find("StickBody").position; GameObject ragdoll = Instantiate(Resources.Load("Ragdoll", typeof(GameObject)), stickBodyPosition, Quaternion.identity, gpParent.transform) as GameObject; ragdoll.GetComponent <Ragdoll>().Push(argInArgs.knockback); Registry.instance.damageAcceptors.doAreaDamage(this.gameObject, (Vector2)transform.position, 5, damage, "normal", knockback); GameObject explosion = Instantiate(Resources.Load("Explosion", typeof(GameObject)), this.transform.position, Quaternion.identity) as GameObject; explosion.transform.parent = this.transform.parent; explosion.transform.localScale *= 5; PlayerEventsControl.instance.TriggerEvent_OnExplosion(); this.gameObject.SetActive(false); Destroy(this.gameObject); Destroy(explosion, 2f); Bloodify(this.transform.position + Vector3.up); }
protected virtual void Die(DamageAcceptorRegistry.DamageArgs argInArgs) { this.gameObject.SetActive(false); Destroy(this.gameObject, 0.1f); }
public override void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { return; }
protected override void Die(DamageAcceptorRegistry.DamageArgs argInArgs) { Bloodify(this.transform.position + Vector3.up); base.Die(argInArgs); }
public override void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { SpitBloodParticle((transform.position - argInArgs.source.transform.position).normalized, transform.position + Vector3.up); base.acceptDamage(argInArgs); }
public override void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { //DropGrenade(); //Die(argInArgs); }
protected override void Die(DamageAcceptorRegistry.DamageArgs argInArgs) { Invoke("Explode", 0.1f); this.gameObject.SetActive(false); }
public void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { }
public void acceptDamage(DamageAcceptorRegistry.DamageArgs argInArgs) { if (damageSourcesInCooldown.Find(x => x.source == argInArgs.source) == null) { if (stats.isDead) { return; } float locDamage = argInArgs.dmg; damageSourcesInCooldown.Add(new SourcesAndCooldowns(argInArgs.source)); if (stats.currentArmorPoints > 0) { if (stats.currentArmorPoints > locDamage) { stats.currentArmorPoints -= locDamage; locDamage = 0; } else { stats.currentArmorPoints = 0; locDamage -= stats.currentArmorPoints; } } if (locDamage > 0) { //dmg popup GameObject popup = Instantiate(Resources.Load("DmgPopup", typeof(GameObject)), this.transform.position, Quaternion.identity, gpParent.transform) as GameObject; popup.GetComponent <Popup>().text = "-" + locDamage.ToString(); //blood particle GameObject bloodParticle = Instantiate(Resources.Load("BloodParticle", typeof(GameObject)), transform.position + Vector3.up, Quaternion.FromToRotation(Vector3.right, (transform.position - argInArgs.source.transform.position).normalized), gpParent.transform) as GameObject; Animator healthBgAnim = ui.transform.Find("HealthBackground").GetComponent <Animator>(); if (healthBgAnim) { healthBgAnim.SetTrigger("decrease"); } if (stats.currentHitPoints > locDamage) { stats.currentHitPoints -= locDamage; locDamage = 0; if (argInArgs.knockback != new Vector2(0, 0)) { //add vertical knockback effect Vector2 knb = (argInArgs.knockback.normalized + Vector2.up) * argInArgs.knockback.magnitude; movement.KnockBack(knb); } } else { stats.currentHitPoints = 0; stats.isDead = true; this.enabled = false; gear.enabled = false; if (anim) { anim.enabled = false; } //vsa ragdoll stuff here... GameObject stickBody = transform.Find("StickBody").gameObject; stickBody.SetActive(false); Vector3 stickBodyPosition = stickBody.transform.position; GameObject ragdoll = Instantiate(Resources.Load("Ragdoll", typeof(GameObject)), stickBodyPosition, Quaternion.identity, gpParent.transform) as GameObject; ragdoll.GetComponent <Ragdoll>().Push(argInArgs.knockback); GetComponent <CapsuleCollider2D>().enabled = false; GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Static; registry.damageAcceptors.RemoveDamageAcceptor(this); deadStickyNote.SetActive(true); GameObject bloodEffect = Instantiate(Resources.Load("RandomBloodEffect", typeof(GameObject)), this.transform.position + Vector3.up, Quaternion.identity) as GameObject; Time.timeScale = 0.5f; SceneControl sceneControl = GameObject.FindObjectOfType <SceneControl>(); if (sceneControl != null) { sceneControl.Invoke("Die", 2f); } } } } health.text = ((int)(stats.currentHitPoints)).ToString(); }