void TakesProjectileHit(Weapon playerWeapon, Collider2D coll, int hitFrom) { hp -= (int)(playerWeapon.damage * DIFFICULTY_DAMAGE_MODIFIER); // bounceback from projectile if (hitFrom == RIGHT && !blockedLeft) { // rigidbody2D.AddForce(new Vector3(-100, 0, 0)); MFX.RepulseToLeftRandomly(transform, .3f, .8f, .2f); } else if (hitFrom == LEFT && !blockedRight) { // rigidbody2D.AddForce(new Vector3(100, 0, 0)); MFX.RepulseToRightRandomly(transform, .3f, .8f, .2f); } else { rigidbody2D.velocity = Vector2.zero; } if (hp <= 0) { Messenger.Broadcast <int>("prize collected", worth); KillSelf(hitFrom, PROJECTILE); } }
void TakesMeleeHit(Weapon playerWeapon, Collider2D coll, int hitFrom) { if (!dead) { hp -= (int)(playerWeapon.damage); // bounceback from projectile if (hitFrom == RIGHT && !blockedLeft) { MFX.RepulseToLeftRandomly(transform, repulseMin, repulseMax, repulseTime); } else if (hitFrom == LEFT && !blockedRight) { MFX.RepulseToRightRandomly(transform, repulseMin, repulseMax, repulseTime); } else { rigidbody2D.velocity = Vector2.zero; } if (hp <= 0) { EventKit.Broadcast <int>("prize collected", worth); KillSelf(hitFrom, MELEE); } } }