Monday, November 2, 2026

Fixing Tomb of Annihilation

 Tomb of Annihilation is the 5e re-imagining of serveral classical adventures that inspired it, inlcuding Tomb of Horrors, Dwellers of the Forbidden City, and novels like Azure Bonds. As of this writing, it is the main jungle setting adeventure for D&D 5e, complete with wilderness exploration, ruined cities, Yuan-Ti, pirates, dinosaurs and undead. I like it, and we are playing it with our group, rather than trying to update the other old 1st and 2nd edition adventures to 5e (besides Tomb of Horrors -- that one already has an official 5e conversion, too). 

Unfortunately, there are quite a number of world consistency and story issues with the adventure. This post is trying to address all of the ones I found, and provide my solutions and fixes to them. Note to players: Stop reading here, this is for DMs. 

Trees, Rivers, Foliage and encounters

The adventure does not provide width of the rivers or height of the trees or density of undergrowth, but considering characters will want to climb up and you have combat encounters in the jungle or traveling down those rivers by canoe all the time, these are needed. Based on real-world jungles and rivers

  • Average height of the tree canopy is probably around 100 feet. Extraordinaryly large individual trees may grow to be 200 feet  high. 
  • Visibility in the junge is clear sight up to 15 feet, then lightly obsured by foliage up to 30 feet, then heavily obscured. 
  • Rivers are likely smaller than the Amazon (Chult is only about 1/10 of the size of the Amazon basin). The map of Ataz Muhaha has the Olong be only 20' wide, but likely the bridge was build on a site where the river was especially narrow. We settled on about 300' average width, but varying (+/- d20x10'), so 100' to 500'. Anything over 320' will be out of range of most ranged weapon attacks.
  • We ruled that rivers are visible on clear days up to from up to 5 km away from large heights like a flying familiar, so within the same hex, due to the reflection of the sun shining through some of the foliage. As the trees are pretty high, even a wide river will be hidden behind the trees once you get far away. 

Weather

However, as the chance for an encounter is only 3 in 20 three times per day, on average you maybe have one encounter per day, meaning you refresh fully for each encounter will traveling most of the time, and have 15 minute work days. Therefore, to play into the modules resource attrition and management theme, we house-ruled:
  • extreme weather events (heat, heavy rain, strong wind) would not let the party get benefits of a long rest. A tent would negate the heavy rain for those within it. There was no remedy for heat or storm until you have Tiny Hut. 

Getting Lost

The adventure provides rules for getting lost: you either know the hex you are in, or not (if you are lost). 
  • the Navigation check has to be made by a single character. (One can argue if two characters have the skill, that character should be able to make the check with Advantage. I think that is fine, because getting lost is boring, and with about +5 initially and a DC 15 in the jungle, you otherwise get lost way to often, and this gives characters some reward to take Survival in a survival-themed adventure.)
The map hexes are 10 miles across. Players will try to use flying familars to see where they are on the map (of if they are higher level, use Fly to fly up themselves). As shown below, the rules does make sense that this doesn't help if there is a lot of mist or steam in the air or there is heavy rain (the adventure even limits sight in heavy rain to 50 feet, instead of the real-world up to 2 miles), so you would net be able to see far, for sure not beyond your own 10-mile hex. But when flying over the jungle, on a clear day, you would be able to see farther, and could be able to see where you are if there are landmarks. If feels somewhat artifical to say "No, there is always fog, it just doesn't work". 

In the jungle to see into the distance, you need to get above the tree canopy, which is your baseline, as you cannot see anthing in the distrance thats is underneath. You also cannot climb to the very tip of a tree, the twigs there are not strong enough. You first need to find a tree that is extra tall and towers over most of the others to be able to climb up all the way to 100 feet and look out, or then send up your familar another 100 and see even further. We play it that you can find such a tree with a Wisdon (Survival) check, and that is already included in the Navigation check -- if the navigator succeeds, this assumes they found one, and successfuly establish the position. 

If you manage to savely climb climb up, and had a familiar, you could get to 100 feet higher than the canopy, and see about 12 miles far on a clear day (see below), so also neighboring hexes. To do this, the PCs with the familar has to successfully climb the tree (climb check). And if you can fly properly to much higher hights, you'll be able to see up to 3 hexes far (30 miles) on a clear day. (But it will cost you a Fly spell, unless the character has a natural fly speed, which we do not allow in our campaign.)

You also might see high up landmarks like mountain ranges, from much further away, but these are so far away that it will be hard to poinpoint your exact hex on the map against them, and is included in the Navigation check. 

I think this is more realistic than just flat limiting it to 1 hex, while still keeping it manageable for the DM: it mostly is a single Navigation check, and then if you have clear conditions and the players take extra effort, they can see one neighboring hex far, or two if they fly. 

Line of Sight Calculator

There is a limitation how far you can see due to the curvature of the planet. Toril is about the size of earth, and for a round planet things further out fall behind the horizon, only a bit later than expected due to atmosphereic refraction that bends the light path slightly. Here is a chart for that

Line-of-Sight & Horizon Calculator

Move your mouse across the graph to plot target height vs distance from your observer perspective.

5 ft
☀️ Clear Day (Max 30 mi)
🌦️ Light Rain (Max 12 mi)
🌧️ Heavy Rain (Max 2 mi)

Even with clear conditions, for something that is 50 miles away to be visible from eye level, it would need to be about 1,500 feet high up. 

Heart of Ubtao. The Heart of Ubtao is 200 feet up (clarified in a later printing) and is maybe another 150-200 tall, to a total height of at most 400 feet. It would never work to see it from the ground from 5 hexes (50 miles) away as the adventure says. Even if you send up your familiar to 100 feet, you only just could see its tip from about 35 miles away. From eye level, you can see it from about 20-30 miles away, so at best from 30 hexes on a clear day. 

Mbala. The adventure text states "As the characte rs climb ever higher above the tree line, they are treated to stunning views of the surrounding wilderness. Across the Aldani Basin to the southeast, they can see the Heart of Ubtao, and nestled in the jungle to the west is the ziggurat al Orolunga. Characters who succeed on a DC 20 Wisdom (Perception) check al so spot s ome sort of shipwreck in the jungle, beyond the pl ateaus to the south (see "Wreck of the Star Goddess," page 84)". The plateau is 1,800 feet high even from that high vantage point at the very top: the Heart of Ubtao it is 100 miles away and would need to be 1,700 feet high to be visible. The Star Goddess is 120 miles away, at treetop level. It would need to be over 3,000 feet up.  Orolunga is 70 miles away, it would need to be over 200 feet high (but is only about 70 feet high). You wouldn't be able to see any of them. I solved this by providing a magical divination circle halfway up the route (similar to the high seat of the kings Frodo sits in to see Sauron in Barad-Dur in the Lord of the Rings) that allowed you to see all of these clearly with the help of magic. This also helped so players could put these on the map, and would know how to find them later on.

Landmarks. By far the highest is eastermost Volcano of the Peaks of Flame, at 23,000 feet. It would be visible from over 220 miles away, up to 250 if you fly up (22-25 hexes) on a clear day. Lake Luo has no elevation but has a large reflective surface, and would be visible from 200 feet up at a distance of nearly 20 miles or 2 hexes. The Mistcliff Mountains say the sheer cliff raising out of the ocean is 1,000 feet high, so in total they are probably more than 4,000 feet high at their peaks and visible from about 100 miles (10 hexes). The other mountain ranges in Chult like the Kobold Mountains, Sky Lizard Mountains, accroding to DM's guild materials have a hight of about 1,500 to 3,000 feet, so the highest peaks like the vulcano in the Kobold Mountains would be about 3,000 feet, visible from about 80 miles (8 hexes) maybe 90 miles with the smoke plume. 

Tomb of the Nine Gods Layout

Unfortunatly, Chris Perkings did not consider 3-D geometry when laying out the tomb. All the levels are said to be 25 feet one below the other, but they often have high ceilings or pit traps that project into the next higher or next lower level, and overlap with the rooms there. And you clearly cannot have a pit trap and an entirely differnt room in the same space. Now, you can just ignore that of course and hope nobody will catch it, but for me this makes it much harder to suspend disbelieve. So I made a few map overlays, and small adjustments to corridors in several levels to push them out so they do not collide any more. 

Level 1: No changes needed. The gravity ring from level 2 projects up into it, but I think it would be possible to have the circle pass through the maze of tiny passages in 14 without cutting into them, as those are kind of random and could worm around it. 

Level 2: The river runnig between 14 and 17 needs to make a slight northward bend instead of soutward in the middle, to leave room for a cistern jutting up from the level below. if you want, you describe the wall being made of stone blocks in that area. 

Level 3:
  • Room 24. The cistern diameter means they need to be about 30 feet high to hold enough wine to fill the room, plus another 12 feet to elevate their floor or filled with extra wine, as otherwise the wine will not drain to fill the room all the way. The NW cistern also overlaps with the river in level 1, which is why we move that out of the way. The diagonal crawlway from the SW cistern would mean that the wine from there drains out to 24, as both rooms are on the same level and both are 12' high. To avoid this, have it go up steeply all the way clearing a little more than the top of the cisterns (which means the wine will be up nearly all of it initially, and then will drop about 2 feet every round the cistern is draining out, until it ends near where shown). Add a vertical shaft  to the end that drops into 24 from the ceiling at the wall. I had 37 foot high cisterns set 5' elevated, and the crawlway raising 40 feet, making that shaft 33 feet long. (By the way, the characters woudn't need to find the right cistern with the crawlway to survive - as the other cisterns empty out, there will be supposedly air flowing in at the top, or air bubbles making it up there from the room, otherwise the developing vacuum would stop them from emptying. So they could just dive up into any of the cicsterns to get air and survive until the door opens.)
  • Room 37 is a 60' deep pit that cuts through several lower levels. Move it soutward  by 35' and add 35' south stretch to the crawlway from 36 and 38, and add a corridor of 35' (taking a sharp N bend at the start and E bend at the end to the Western end that connects to the stairs to 39. 
  • Room 44 is a 50' high dome that collides with Wither's rooms on level 2. Move it 40 feet to the West, and extend the corridor leading to it by 40 feet. It won't break through to the surface to Omu, as this area is inside the cliff, and moving it West will also allow it to clear the river running under level 1.
Levl 4:
  • Room 52. The lowered floor of this room and the 20 feet deep pit below a the edge abut to the domed ceiling of the lake cavern on level 6, but the cavern doesn't go straight up, so I think this is fine and need no change. Else you could lenghten the corridors leading to this room by 5 or 10 feet, to be sure. 
  •  Room 55. The corridor to this room must be made 25 feet longer, so the lowered floor and pit trap do not collide with the lake cavern on the level below.
Level 5:
  • The level of the lake surface relative to the floor level is never exactly defined, I set it 3 feet below, so the bridges can pass over it. 
  • Room 68: make the stairs going down to level 6 from here super steep and go down 50' instead of 25, putting the whole 6th level 50' below. This way we do not have to clear massive numbers of  conflicts between with both the high ceilings in level 6 and the lake that is 20 feet deep plus however much below floor level you set it, and it makes level 6 more special. 
Level 6: as discussed, this level should be set 50 feet below level 5, that is leaves sufficient room between the lake and the 20 foot vaulted ceiling in 71, or the 20' high spider fan trap room. 

Timeline and Backstory

There are a lot of historical events around the ruins in the jungle that affect the current day of the adventure. I feel it would be hugely useful to have an actual timeline for this. Here is my attempt at reconstructing this:
  • Several 1,000 years ago: the Naga of Orolunga is born. 
  • Over 1,000 years ago: the Eshowe send a Shadow Demon to conquer Mezro. Ras Nsi destroy it with the aid of the fallen risen as undead, then kills all Eshowe with them and is exiled to the jungle for his actions. 
  • Nearly 1,000 years ago: the Starfallen is slain by a Formorian. 
  • Several hundred years after exile, Ras Nsi helps defend Mezro against a Batiri goblin invasion. 
  • ~ 300-400 years ago: Omu's rise to Power
  • ~ 250 years ago: Queen Zalkoré rules and is exiled to Nangalore
  • ~ 200 years ago: Ubtao abandons Omu
  • ~190 years ago: the Trickster gods raise
  • ~ 120 years (over a century) ago: Ras Nsi  tries to conquer Mezro, but is beaten back; Artus Cimber helps, and falls in love with Alisanda 
  • 110 years ago: the Spellplague starts, 
  • > 100 years ago Mezro is "destroyed" (in reality, whisked away by divine magic to a paradise Dimension)
  • > 100 years ago: the Aldani retreat to the Aldani basin and go into Hiding
  • > 100 years ago: Artus Cimber aquires the Ring of Winter
  • > 100 years ago: Ubtao abandons Chult
  • > 100 years ago: Volcanic eruptions force the Dwarves to abandon Hrakamar
  • > 100 years ago: Acererac enters Omu, kills the Trickster gods and starts building the Tomb
  • 100 years ago: the Spellplague ends
  • 50 years ago: Yuan-Ti from Hisari enter Omu and build an underground Temple to Dendar
  • ~ 49-45 years ago: Ras Nsi arrives in Omu, transforms, and takes over the Yuan-Ti
  • 40 years ago: Tinder takes over Wyrmheart mine
  • 9 years ago: Amn surrenders authority to the Merchant Princes
  • 5 years ago: Statue in the harbor of Port Nyanzaru is erected
  • 3 years ago: ill-fated expedition of Hew Hackstone to Wyrmheart mine
  • 2  months ago: Camp righteous is overrun by Undead
  • 20 days ago, the Death Curse begins
Ras Nsi's Story

Ras presentation in the module is much simlified, compared to older lore. Here is his full backstory
  • The founders of Mezro were a human chultan Tribe (called the "Tabaxi" at the time. They had nothing to do with the playable cat-people race also available in the adventure, which were imported into Chult in 5e from the Matztica setting. The in-Universe explanation is that Explorers to Chult mistook the chultan warriors wearing leopard skins for tabaxi, and called them "Tabaxi", a practice that since then and with their extinciton has been forgotten). Ras Nsi was one of their holy defenders who venerated Ubtao, the barae, whom Ubtao also granted the give to never age. The Mezroans were in competition against another tribe, the Eshowe. The Eshowe summoned a terrible shadow demon that nearly destroyed Mezro and killed all the other barae. Ras then with the power given to him by Ubtao raised all the slain as Undead and with them managed to defeat the demon. 
  • To make sure this would never happen again, he then took his undead horde, marched to the territory of the Eshowe, and slaugthered all of them, men, women and children.
  • However, the remaining Mezroans were horrified by this genocide, and upon his return, rather than celebrating him as their saviour, exiled him and his undead horde to the jungle. 
  • For many hundreds of years Ras stayed in the jungle, growing his undead horde and operating a large empire, including controlling trade. During all this time, he remained loyal to Meszo and even defended it against a Batiri Goblin invasion with his undead. Still, the Mezroan's abhorred him. 
  • Several hundreds more years passed, and with time he eventually realized Mezro would never forgive or accept him. He decided to take the city by force, briefly before the Spellplage. These are the events covered in the module: the city's barae beat him back, helped by Artus Cimber. Moreover, Ubtao punisheds him by stripping him of his bara status and immortality, and with this he loses his powers and telephatic control over the undead horde, which scatters uncontrolled into the jungle. 
  • Defeated, powerless and rapidly aging, Ras looked for a new way to become immortal, and hooked up with the Yuan-Ti of Omu, becoming one of them, then later, ruling over them.



Fixing Tomb of Annihilation

  Tomb of Annihilation  is the 5e re-imagining of serveral classical adventures that inspired it, inlcuding Tomb of Horrors, Dwellers of the...