public void TakesHit(Hit hit) { player.HP -= (int)(hit.weapon.damage * diffDamageModifier); //params for ShakeCamera = duration, strength, vibrato, randomness EventKit.Broadcast <float, float, int, float>("shake camera", .5f, .3f, 20, 5f); EventKit.Broadcast <int>("reduce hp", player.HP); if (hit.hitFrom == RIGHT) { BroadcastMessage("RepulseToLeft", 5.0F); } else { BroadcastMessage("RepulseToRight", 5.0F); } if (player.HP > 0) { MFX.FadeToColorAndBack(spriteRenderer, MCLR.bloodRed, 0f, .2f); } else { EventKit.Broadcast <int, Weapon.WeaponType>("player dead", hit.hitFrom, hit.weaponType); } }
public void TakesHit(string weaponType, Weapon weapon, Collider2D coll, int hitFrom) { // calculate damage player.HP -= (int)(weapon.damage * DIFFICULTY_DAMAGE_MODIFIER); // produce effects // params for ShakeCamera = duration, strength, vibrato, randomness Messenger.Broadcast <float, float, int, float>("shake camera", .5f, .3f, 20, 5f); Messenger.Broadcast <int>("reduce hp", player.HP); // float xDistance = hitFrom == LEFT ? 2f : -2f; // transform.DOJump(new Vector3(transform.position.x + xDistance, transform.position.y, transform.position.z), .2f, 1, .5f, false); if (hitFrom == RIGHT) { BroadcastMessage("RepulseToLeft", 5.0F); } else { BroadcastMessage("RepulseToRight", 5.0F); } if (player.HP > 0) { MFX.FadeToColorAndBack(spriteRenderer, MCLR.bloodRed, 0f, .2f); } else { Messenger.Broadcast <string, Collider2D, int>("player dead", "projectile", coll, hitFrom); } }
void Start() { player = GameObject.Find(_DATA).GetComponent <PlayerData>(); Assert.IsNotNull(player); (fadeWhenHit = MFX.FadeToColorAndBack(spriteRenderer.material, MCLR.bloodRed, 0f, .2f)).Pause(); Init(); }
public void TouchesEnemy(string weaponType, CreatureEntity enemy, Collider2D coll, int hitFrom) { player.HP -= (int)(enemy.touchDamage * diffDamageModifier); EventKit.Broadcast <int>("reduce hp", player.HP); if (player.HP > 0) { MFX.FadeToColorAndBack(spriteRenderer, MCLR.bloodRed, 0f, .2f); } else { EventKit.Broadcast <int, Weapon.WeaponType>("player dead", hitFrom, Weapon.WeaponType.Struckdown); } }
public void TouchesEnemy(string weaponType, CreatureEntity enemy, Collider2D coll, int hitFrom) { // calculate damage player.HP -= (int)(enemy.touchDamage * DIFFICULTY_DAMAGE_MODIFIER); // produce effects Messenger.Broadcast <int>("reduce hp", player.HP); if (player.HP > 0) { MFX.FadeToColorAndBack(spriteRenderer, MCLR.bloodRed, 0f, .2f); } else { Messenger.Broadcast <string, Collider2D, int>("player dead", "struckdown", coll, hitFrom); } }