## Does a natural 20 on the attack roll still automatically hit if the target is wearing adamantine armor?

My Fighter (Battlemaster) Warlock (Hexblade) build character has just acquired a suit of +1 adamantine plate armour.

From the description of adamantine armor (DMG, p. 150):

This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you’re wearing it, any critical hit against you becomes a normal hit.

Is a roll of a natural 20 (which is normally a critical hit) still automatically a hit, despite the critical becoming a “normal hit” because of the armour? Or would the attacker need to exceed my AC in order to score the “normal hit” if (for instance) I cast shield or use the Evasive Footwork maneuver to boost AC?

My AC is 20, so with shield cast it becomes 25; for example, would a goblin with a +4 attack modifier score a hit on a roll of 20 against me? A total of 24 would not be sufficient to “hit” under normal rules, but does the “20 is always a hit” mechanism override this despite the critical being cancelled by the adamantine armour?

## Perfect Probabilistic Encryption still requires key length about as long as message

Let $$(E,D)$$ be a probabilistic encryption scheme with $$n$$-length keys (given a key $$k$$, we denote the corresponding encryption function by $$E_k$$) and $$n+10$$-length messages. Then, show that there exist two messages $$x_0, x_1 \in \{0,1\}^{n+10}$$ and a function $$A$$ such that

$$Pr_{b \in \{0,1\}, k \in \{0,1\}^n}[A(E_k(x_b)) = b ] \geq 9/10$$

(This is problem 9.4 from Arora/Barak Computational Complexity)

My gut intuition says that the same idea from the proof in the deterministic case should carry over. WLOG let $$x_0 = 0^{n+10}$$, and denote by $$S$$ the support of $$E_{U_n}(0^{n+10})$$. We will take $$A$$ to output $$0$$ if the input is in $$S$$. Then, assuming the condition stated in the problem fails to hold for all $$x \in \{0,1\}^{n+10}$$, we conclude that $$Pr[E_{U_n}(x) \in S] \geq 2/10$$ for all $$x$$. This implies that there exists some key so that $$E_k$$ maps at least $$2/10$$ of the $$x$$ into $$S$$ (the analogue of this statement in the deterministic case suffices to derive a contradiction), but now I don’t really see how to continue. Is my choice of $$A$$ here correct, or should I be using a different approach?

## Would getting a natural 20 with a penalty still count as a critical hit?

Since rolling a number up to 20 with modifiers (an example 17 + 3) is not counted as a critical hit, what happens in the following case?

If I roll a natural 20 and because of penalties end up with a total of less than 20 (an example 20 – 3) does it still count as a critical hit? Or in this case would it resemble the natural 1 with positive modifiers taking you out of critical error?

## Does using the Lucky Feat to tranform disadvantage into super-advantage still work with a net?

In this question, it can be seen that using a luck point when doing something at a disadvantage essentially transforms it into super-advantage.

Does this specific strategy still works when throwing a net (which, by default, are always at a disadvantage due to their 5ft short range) ?

## If a player run behind a wall, use Hide, then comes out, they will still be “hidden”? [duplicate]

This question already has an answer here:

• Can the rogue repeatedly hide in combat to sneak attack the same enemy? 9 answers

If a player run behind a wall, use Hide (as an action), then comes out, they will still be “hidden”?

I’m the DM at this table (Lost Mine of Phandelver, 5e), and our Halfling Rogue, is doing that to gain the advantage attack from Unseen Attackers.

His actions goes like following:

1. Run behind a wall (in the corner or behind the stairs for example).
2. Use Rogue’s Cunning Action to Hide as a bonus action.
3. On his next turn, move 5 feet (just to get out of the wall) and attack (with a bow) the enemy with advantage from Unseen Attackers.
4. repeat.

When he uses the hide action, I ask him for a Stealth check, then I compare with the enemies Passive Perception.

Because he is a Rogue with +7 stealth, is very hard to actually detect him.

Are we using Hide correctly? Should I keep letting he have the Unseen Attackers advantage?

## 8 Secrets About Peak X Keto They Are Still Keeping From You

Peak X Keto Also if you want to maintain your weight then you must use weight loss supplement. Folks have realized that diet system is failing that it cannot give any best results anymore. This scientific era suggests us to use scientific things that are more effective and safe as well.

## Why CORS is still securing an open api where all requests have a wildcard (*)?

In case of an open API, the only possible value for Access-Control-Allow-Origin is a wildcard (*), since you can’t have a list of allowed domains.

Still, this seems not to bug developpers and appears to keep the system secure. How is that possible? Isn’t allowing all domains to make every request the same as not having SOP or CORS Policy?

It might be that I don’t really get the security provided by CORS, but as I understood it, it avoid an unwanted domain to use session cookies of a user without his consent. Still, I don’t get why it protect the user to see his account used for unwanted purposes once a data modifying route is opened to this domain.

## How to keep class/file name short but still descriptive?

I’ve been working on a C# class library with the mindset that we will have new developers to work on it later. While I tried to keep the class/file name as descriptive as possible, the length is starting to get out of hand.

Here’s a snapshot of what the project structure looks like:

MyCompanyName.ClassLibrary   FlightPatternAnalysis     IFlightPatternAnalysis.cs     IFlightPatternAnalysisBuilder.cs     DefaultFlightPatternAnalysis.cs     DefaultFlightPatternAnalysisBuilderUsingJson.cs     DefaultFlightPatternAnalysisBuilderUsingCsv.cs     TriangulatedFlightPatternAnalysis.cs     TriangulatedFlightPatternAnalysisBuilderUsingHourlyRecords.cs     ... 

And also extracted snapshots of some classes:

using System; using System.Collections.Generic; using System.Drawing; using Newtonsoft.Json.Linq;  namespace MyCompanyName.ClassLibrary.FlightPatternAnalysis {     public interface IFlightPatternAnalysis     {         ...         List<Point> GetTrackedCoordinations();         DateTime CalculateEstimatedArrivalTime(Coord destination);     }      public interface IFlightPatternAnalysisBuilder     {         IFlightPatternAnalysis BuildFlightPatternAnalysis();     }      public class DefaultFlightPatternAnalysis : IFlightPatternAnalysis     {         private readonly List<TrackedRecord> _trackedRecords;          public DefaultFlightPatternAnalysis(List<TrackedRecord> trackedRecords)         {             // Omitted.         }          ...          public virtual List<Point> GetTrackedCoordinations()         {             // Omitted.         }          public virtual DateTime CalculateEstimatedArrivalTime(Coord destination)         {             // Omitted.         }     }      public class DefaultFlightPatternAnalysisBuilderUsingJson : IFlightPatternAnalysisBuilder     {         private List<TrackedRecord> _trackedRecords;          public DefaultFlightPatternAnalysisBuilderUsingJson WithJson(JObject jsonObject)         {             // Extraction and conversion, omitted.             return this;         }          public virtual IFlightPatternAnalysis BuildFlightPatternAnalysis()         {             return new DefaultFlightPatternAnalysis(this._trackedRecords);         }     } } 

Builder pattern is just a choice of mine, I am hoping it will help with the code’s readability. I was told that I could try abstract factory instead, but I have not research that, nor am I sure if it will help.

Any suggestions?

## I’m writing an application that needs to log error/ exception messages but should still continue execution if it not a fatal error

I’m writing an application that needs to log error/ exception messages but should still continue execution if the error is not a fatal error. I was thinking of making a method that returns a Task but calling this method as a fire and forget and not wait for response from the method. What is the recommendation, is this a good approach?