Hit points and damage thresholds for defensive structures

The party is deep into my 5e-updated classic Greyhawk Giants series.

The giants are about to attack the outer walls of the Sterish city of Headwater in an attempt to take the city.

Many monsters, such as the Ogre Battering ram, have the Siege Monster property, which says "The [monster] deals double damage to objects and structures."

The DMG (255, 256) has rules for siege equipment, their attacks, and damage.

On hit points for objects, the DMG also says that stone objects have AC17 (246) and that (247):

An object’s hit points measure how much damage it can take before losing structural integrity. Resilient objects have more hit points than fragile ones. Large objects also tend to have more hit points than small ones, unless breaking a small part of the object is just as effective as breaking the whole thing. The Object Hit Points table provides suggested hit points for fragile and resilient objects that are Large or smaller [Large, resilient objects have a suggested 27 hp]…Normal weapons are of little use against many Huge and Gargantuan objects, such as a…towering column of stone…You can track a Huge or Gargantuan object’s hit points if you like, or you can simply decide how long the object can withstand whatever weapon or force is acting against it. If you track hit points for the object, divide it into Large or smaller sections, and track each section’s hit points separately. Destroying one of those sections could ruin the entire object…Damage Threshold. Big objects such as castle walls often have extra resilience represented by a damage threshold. An object with a damage threshold has immunity to all damage unless it takes an amount of damage from a single attack or effect equal to or greater than its damage threshold, in which case it takes damage as normal. Any damage that fails to meet or exceed the object’s damage threshold is considered superficial and doesn’t reduce the object’s hit points.

So it seems like, RAW, I assign hit points to large (10′ x 10′) sections of a gargantuan (20′ x 20’+) stone wall, assign a damage threshold for the wall, and then apply damage as rolled until the wall fails its structural integrity, at which point the attackers move through the rubble as difficult terrain.

I can’t find any guidance in the DMG for what the appropriate damage threshold would be for a stone wall, or, for that matter, how hit points and damage threshold might vary between a stone wall, a tower (round or square), a gatehouse, etc. While I could, of course, just make these up, I wonder if there is any guidance in other official sources, or at least analogies that can be made with, for example, the vehicle rules (in BG:DiA) or the ship rules (in GoS).

Somewhat Related: How do I account for palisades and other similar defenses in an invasion?

Very related, possible duplicate, but all answers there predate publication of GoS and BG:DiA which this question is specifically soliciting: How should damage thresholds be assigned?

Magic Missile vs damage thresholds

The Dungeon Master’s Guide has the following rule for objects (p.246):

Damage Threshold. Big objects such as castle walls often have extra resilience represented by a damage threshold. An object with a damage threshold has immunity to all damage unless it takes an amount of damage from a single attack or effect equal to or greater than its damage threshold, in which case it takes damage as normal. Any damage that fails to meet or exceed the object’s damage threshold is considered superficial and doesn’t reduce the object’s hit points.

Page 119 of the DMG provides information for the statistics of a keelboat, which has 100 HP, 15 AC, and a damage threshold of 10. A wizard casts a 9th-level Magic Missile at the keelboat, creating 11 darts that do 1d4+1 force damage each. The darts each strike the keelboat simultaneously, and let’s say they all do maximum damage for a total of 55 damage.

Now, does the keelboat take 55 damage or no damage at all?

Encounter design and XP thresholds

Our DM gave us what seemed to me to be a very hard encounter so I checked out the DMG to see whats up.

We are a group of four level 7 players, and we met three frost giants. The thing is, we crushed them even though they downed some of our party members, and when I looked at the DMG it seemed like the encounter was in the average-hard range for our group if we were level 20, or hard-deadly for our team if we were level 15. He even gave the frost giants some ridiculous version of net with a DC 17 Strength check to get out instead of the normal DC 10.

Now, he did have a frost giant NPC come to help us out a couple of turns into combat, but then we had already downed two of the giants and he never got far enough forward to even attack once.

XP THRESHOLDS BY CHARACTER LEVEL

7th, easy 350, medium 750, hard 1100, deadly 1700

14th deadly 5700

15th hard 4300, deadly 6400

20th medium 5700

Frost giant: Challenge 8 (3,900 XP) Hit Points 138

Please tell me if I am doing something wrong here:

Say we want a deadly encounter for our four level 7 characters.

  1. Determine XP Thresholds Deadly for level 7 is 1700

  2. Determine the Party’s XP Threshold 4*1700=6800

  3. Total the Monsters’ XP 3*3900=11700

  4. Modify Total XP for Multiple Monsters The multiplier for 3 – 6 monsters is *2. 11700*2=23400 (23400/4 would be 5850, more than what is budgeted in a deadly encounter for characters with twice our level)

Please help me out here, did I do the calculation correctly and if I did are we somehow ridiculously OP?

If anyone is curious, the fight went something like this:

  1. Paladin used woe of amnity, hit for a shit ton, his found steed also crit. Rogue managed to crit with sneak attack
  2. Cleric used Spirit Guardians
  3. Frost giant used net with DC 17 on paladin
  4. Frost giant killed the paladin in one turn (advantage because of restrained from former net, one crit one hit)
  5. Frost giant used net on cleric and missed.
  6. Fighter (ranged) missed and ran away on horse
  7. Paladin failed death save
  8. Paladins steed broke out of the net (since paladin was mounted DM trapped both in the net)
  9. Rogue did normal damage
  10. Cleric healed the paladin with healing word and used dodge action
  11. Frost giant killed steed
  12. Frost giant missed cleric
  13. Frost giant hit cleric, he survived
  14. Fighter killed the first of the three giants….

(something will probably be inaccurate)

Tweaking WIN10 (2019) File Explorer’s file size: filter thresholds. (how can we do this?)

In Windows File Explorer you can type size: into the search box, and it will offer 7 predefined size-ranges empty/tiny/small/medium/large/huge/gigantic

For the longest time “gigantic” was set as >128mb This was useful, you could quickly find all movie files in a folder tree.

Recently (some 2018/2019 update), Microsoft decided to modernise the definitions of these 7 predefined size-ranges so that:

  • Large (128MB – 1GB)
  • Huge (1GB – 4GB)
  • Gigantic (> 4GB)

… ok that is a more ‘modern’ definition, but now the size: search function becomes less useful to me. Now my movie files are fragmented between 3 different search results!!

Question: Does anyone know a registry key which can be used to manipulate the thresholds of the size: search filter in file explorer?

How to fix incorrect fuzzy-matches with over 90 thresholds?

I have two datasets that I need to fuzzy-match over a column which contains organization names. I used fuzzywuzzy library in Python and set the threshold 50 (see the code below). The code successfully matched some names. When I eyeballed the matches, I realized an issue. The issue is there are some matches with 90 threshold but two names are totally different.

For example, these following two names matched with 91:

“PARIS HEALTH CORPORATION” and “LONDON HEALTCARE CORPORATION”

(I replaced the first words with Paris and London for confidentially).

I am wondering how to match these types of matches in a right way?

Also two datasets have address and zip codes too but I haven’t used address to match two datasets yet.

I got the code from this page.

from fuzzywuzzy import fuzz  def match_name(name, list_names, min_score=0):     max_score = -1     max_name = ""     for name2 in list_names:     score = fuzz.ratio(name, name2)     if (score > min_score) & (score > max_score):         max_name = name2         max_score = score     return (max_name, max_score)  dict_list = [] for name in df.SYSNAME: match = match_name(name, df1.PAYER_NAME, 50) dict_ = {} dict_.update({"SYSNAME" : name}) dict_.update({"match_name" : match[0]}) dict_.update({"score" : match[1]}) dict_list.append(dict_) merge_table = pd.DataFrame(dict_list)