private void AutoBlankEvent(HealthHaver source, HealthHaver.ModifyDamageEventArgs args) { // stop if there is no damage event, or damage is 0, or player is invulnerable if ((args == EventArgs.Empty) || (args.ModifiedDamage <= 0f) || (!source.IsVulnerable)) { return; } int elderBlankID = 499; PlayerItem elderBlank = player.activeItems.Find((PlayerItem a) => a.PickupObjectId == elderBlankID); if (elderBlank != null && !elderBlank.IsOnCooldown) { // use Elder Blank if player has it source.TriggerInvulnerabilityPeriod(-1f); player.ForceBlank(25f, 0.5f, false, true, null, true, -1f); elderBlank.ForceApplyCooldown(player); args.ModifiedDamage = 0f; } else if (player.Blanks > 0 && !player.IsFalling) { // use a blank automatically source.TriggerInvulnerabilityPeriod(-1f); player.ForceConsumableBlank(); args.ModifiedDamage = 0f; } }