private void OnCubeTakeDamage(CubeDamageEvent e) { #region Checks if (e?.Damage == null) { return; } if (e.Damage.Damager == null) { return; } if (e.Damage.DamageSource == null) { return; } if (!e.Damage.DamageSource.IsPlayer) { return; } if (!Data.ContainsKey(e.Damage.DamageSource.Owner.Id)) { return; } #endregion var player = e.Damage.DamageSource.Owner; var data = Data[player.Id]; if (e.Damage.Amount >= 0) { if (!HasPermission(player, "hulk.damage")) { return; } if (e.Cancelled) { e.Uncancel(); } e.Damage.Amount = data.GetDamage(); player.SendMessage($"{Prefix}Hulk dealing {e.Damage.Amount} damage.[-]"); } else { if (!HasPermission(player, "hulk.heal")) { return; } if (e.Cancelled) { e.Uncancel(); } e.Damage.Amount = data.GetHeal(); player.SendMessage($"{Prefix}Hulk healing {e.Damage.Amount} damage.[-]"); } }