The Veil of the Molten Sky

Trying to make an ultramafic man – and a colleague has some fancy Stable Diffusion.

Veil of the Molten Sky castle in a volcano smoke cloud – dark grey.

So I asked a robot to make a high level adventure to match – very good!

Title: Veil of the Molten Sky

In a world where magic and mystery intertwine, a new quest awaits a high-level party of adventurers. Rumors have spread like wildfire about the emergence of a majestic smoke castle that materializes high above the land, shrouded in clouds and mystery. This enigmatic fortress is said to only manifest itself during the rare eruptions of the Volcanea, a dormant volcano that has awoken once again.

The party receives an urgent message from a renowned mage named Seraphina who resides in the city of Emberforge. She explains that the Veil of the Molten Sky, a fortress of legend, is about to appear with the eruption of Volcanea. Seraphina believes that the castle holds ancient secrets and artifacts of immense power, capable of tipping the balance between good and evil.

Act 1: The Prophecy of the Molten Sky
Upon reaching Emberforge, the party learns from Seraphina that they must harness the energy of the erupting volcano to reach the smoke castle. She gives them an ancient scroll that contains a cryptic prophecy revealing the exact moment the castle will be accessible. The party must decipher the riddles and uncover the precise timing to ascend to the castle’s location.

Act 2: The Eruption’s Fury
As Volcanea roars to life, the adventurers experience the ground shaking beneath them as lava and ash spew from the volcano’s summit. The skies darken, and they glimpse the ethereal silhouette of the smoke castle above the clouds. They must quickly journey towards the summit while navigating treacherous terrain and facing fiery obstacles.

Act 3: Ascending the Molten Labyrinth
Upon reaching the volcano’s peak, the party discovers a hidden entrance leading to the molten heart of the mountain. Inside, they encounter a perilous labyrinth infused with magma magic. Along their path, they face challenges and puzzles, such as cooling streams of molten rock and shifting platforms over rivers of lava. Amidst these trials, they must defeat magma golems that guard the path to the Veil of the Molten Sky.

Act 4: The Castle in the Clouds
Emerging from the labyrinth, the party reaches the heights where the smoke castle materializes. A grand bridge of solidified lava connects the land to the majestic fortress. As they cross the bridge, they face formidable magma golem guardians who test their strength and strategy. Eventually, they breach the castle’s walls and explore its opulent interior.

Act 5: Secrets of the Molten Sky
Within the castle’s chambers, the adventurers uncover ancient tomes and artifacts that hold knowledge and power beyond their imagination. They learn that the castle was once the refuge of a long-forgotten mage order that harnessed the energy of the volcano to shape the world. However, the power became corrupted, leading to the order’s downfall. The party must decide whether to harness the secrets for good or seal them away to prevent further devastation.

With their adventure drawing to a close, the party descends from the smoke castle, carrying newfound knowledge and relics. As they leave the castle behind, the skies clear, and Volcanea settles once more. The world is forever changed by their actions, and they have made their mark in the annals of history.

In the end, the Veil of the Molten Sky may vanish from the world, but the legends surrounding it will live on, inspiring generations to come.

ChatGPT uses – random tables

Things along these lines:

please continue as above, starting at 22
22: {
'6th Level': 'Spiritwrack',
'7th Level': None,
'8th Level': None,
'9th Level': None
23: {
'6th Level': 'Stone To Flesh',
'7th Level': None,
'8th Level': None,
'9th Level': None
24: {
'6th Level': 'Tenser's Transformation',
'7th Level': None,
'8th Level': None,
'9th Level': None

please continue as above, starting at 17
Sure, here is the python dictionary for the table starting at level 17:

Copy code
spells = {
    6: {
        '17': 'Otiluke\'s Freezing Sphere',
        '18': 'Part Water',
        '19': 'Project Image',
        '20': 'Reincarnation',
        '21': 'Repulsion',
        '22': 'Spiritwrack',
        '23': 'Stone To Flesh',
        '24': 'Tenser\'s Transformation'
    7: {
    8: {
    9: {
Please note that the numbers in the outermost dictionary are the spell level and the numbers in the innermost dictionaries are the spell numbers.

can you give me the full 7th 8th and 9th levels as above?
Sure, here is the full python dictionary for the 7th, 8th, and 9th levels:

Copy code
    7th Level: {
    '1': 'Anti-Magic Shell',
    '2': 'Bigby's Grasping Hand',
    '3': 'Bigby's Forceful Hand',
    '4': 'Control Weather',
    '5': 'Death Spell',
    '6': 'Disintegrate',
    '7': 'Enchant An Item',
    '8': 'Extension III',
    '9': 'Geas',
    '10': 'Glassee',
    '11': 'Globe Of Invulnerability',
    '12': 'Guards And Wards',
    '13': 'Invisible Stalker',
    '14': 'Legend Lore',
    '15': 'Lower Water',
    '16': 'Monster Summoning IV',
    '17': 'Move Earth',
    '18': 'Otiluke's Freezing Sphere',
    '19': 'Part Water',
    '20': 'Project Image',
    '21': 'Reincarnation',
    '22': 'Repulsion',
    '23': 'Spiritwrack',
    '24': 'Stone To Flesh',
    '25': 'Tenser's Transformation'
    8th Level: {
    '1': 'Antipathy/Sympathy',
    '2': 'Cacodemon',
    '3': 'Bigby's Clenched Fist',
    '4': 'Bigby's Crushing Hand',
    '5': 'Charm Plants',
    '6': 'Clone',
    '7': '

please finish the table from 3 responses ago that ended at 21: {
'Move Earth': '',
'Vanish': '',
'Trap The Soul': '',
22: {
'Otiluke's Freezing Sphere': '',
'Part Water': '',
'Project Image': '',
'Reincarnation': '',
'Repulsion': '',
'Spiritwrack': '',
'Stone To Flesh': '',
'Tenser's Transformation': '',
23: {
'Anti-Magic Shell': 'Bigby's Grasping Hand',
'Bigby's Forceful Hand': 'Cacodemon',
'Control Weather': 'Charm Plants',
'Death Spell': 'Delayed Blast Fireball',
'Disintegrate': "Drawmij's Instant Summons",
'Enchant An Item': 'Duo-Dimension',
'Extension III': 'Limited Wish',
'Geas': 'Mass Invisibility',
'Glassee': 'Monster Summoning V',
'Globe Of Invulnerability': "Mordenkainen's Sword",

The below, for if I want to rewrite to lazily add to my generic shared host here.

convert this python function to perl     def random_check():
        pc_dict = {}
        pc = roll_dice(1,20)
        if pc <= 2:
            pc_dict['direction'] = 'ahead'
            pc_dict['check'] = 6
        elif pc >= 3 and pc <= 5:
            pc_dict['direction'] = 'exit'
            pc_dict['check'] = 6
        elif pc >= 6 and pc <= 10:
            pc_dict['direction'] = 'side'
            pc_dict['check'] = 3
        elif pc >= 11 and pc <= 13:
            pc_dict['direction'] = 'turn'
            pc_dict['check'] = 3
        elif pc >= 14 and pc <= 16:
            pc_dict['direction'] = 'room'
            pc_dict['check'] = 3
        elif pc == 17:
            pc_dict['direction'] = 'level'
            pc_dict['check'] = 'up_down'
            if LEVEL == "N": #make this what you like or could be config
                pc_dict['direction'] = 'room'
                pc_dict['check'] = 3
        elif pc == 18:
            pc_dict['direction'] = 'stop'
            pc_dict['check'] = 'spy_things'
        elif pc == 19:
            pc_dict['direction'] = 'bad_things'
            pc_dict['check'] = 3
        elif pc == 20:
            pc_dict['direction'] = 'random_encounter'
            pc_dict['check'] = 'roll_again'

        if VERBOSITY:
            print("RANDOM_CHECK",pc, pc_dict['direction'])

        #test purposes
        #pc_dict['direction'] = 'ahead'

        return pc_dict
sub random_check {
my $pc_hash = {};
my $pc = roll_dice(1,20);

if ($pc <= 2) {
$pc_hash->{'direction'} = 'ahead';
$pc_hash->{'check'} = 6;
} elsif ($pc >= 3 && $pc <= 5) {
$pc_hash->{'direction'} = 'exit';
$pc_hash->{'check'} = 6;
} elsif ($pc >= 6 && $pc <= 10) {
$pc_hash->{'direction'} = 'side';
$pc_hash->{'check'} = 3;
} elsif ($pc >= 11 && $pc <= 13) {
$pc_hash->{'direction'} = 'turn';
$pc_hash->{'check'} = 3;
} elsif ($pc >= 14 && $pc <= 16) {
$pc_hash->{'direction'} = 'room';
$pc_hash->{'check'} = 3;
} elsif ($pc == 17) {
$pc_hash->{'direction'} = 'level';
$pc_hash->{'check'} = 'up_down';
if ($LEVEL eq "N") {
$pc_hash->{'direction'} = 'room';
$pc_hash->{'check'} = 3;
} elsif ($pc == 18) {
$pc_hash->{'direction'} = 'stop';
$pc_hash->{'check'} = 'spy_things';
} elsif ($pc == 19) {
$pc_hash->{'direction'} = 'bad_things';
$pc_hash->{'check'} = 3;
} elsif ($pc == 20) {
$pc_hash->{'direction'} = 'random_encounter';
$pc_hash->{'check'} = 'roll_again';

print "RANDOM_CHECK $pc $pc_hash->{'direction'}\n";

return $pc_hash;

I had already done monsters before I thought of this - and they were standard mostly, so a parser did all 10 levels reasonbly well.
Did magic items and spells with ChatGPT assistance.  Possibly not lots and lots quicker - but easier on the fingers and wrists.

AI Monster Manual

Here’s a cool use of ChatGPT

Where asking for 6 monsters for a particular campaign started with:-

Sure! Here are six unique monster entries for a campaign called “The Menace of the Flowered Towers,” inspired by the style of the AD&D Monster Manual:

Monster Name: Floral Horror

Armor Class: 2

Movement: 60′ (20′)

Hit Dice: 8+8

No. of Attacks: 2

Damage/Attack: 1-6/1-6

So very good, really!

%d bloggers like this: