IEnumerator <float> AttackFiber() { var oldPlayerPos = E.player.pos; yield return(attackDmgAppDelay); if (E.player.pos == oldPlayerPos) { //Apply dmg float dmg = attackDamage; Interfacing.PerformInterfaceDamage(E.player.graphicsHandle, dmg); //TODO: refresh bar including new dot speed? (same with dotheal) } yield return(attackDur - attackDmgAppDelay); isAttacking = false; }
public void Damage(float dmg) { currentHP = Math.Max(0, currentHP - dmg); Interfacing.PerformInterfaceDamage(entity.graphicsHandle, dmg); entity.UpdateInterface(); }