Ejemplo n.º 1
0
        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;
            }
        }