DD Software

Software and Other Helpful Tools

Posts: 78
Joined: Fri Sep 27, 2013 2:52 am

Post by DuBeers » Sun Jan 18, 2015 3:05 pm

DD Software

Simons G+ post has got me to thinking. I've done no serious coding since writing and compiling a Tetris clone inf QuickBasic 4.5 (quiet in the back row, please!). So, I'm not volunteering, but ...


I believe there is a need for Delving Deeper based software.

-Character Generator
-Treasure Generator
-Random Monster Generator, including an NPC party generator with level appropriate equipment and magic

Most of the game stuff I can handle on my own. But computers are great at taking mundane and repetitive tasks and doing them in a jiffy. These 3 tasks, off the top of my head, would really help with prepping for a session or during the game itself on a laptop, notebook, or tablet.

Posts: 2042
Joined: Thu Sep 05, 2013 1:17 am
Location: San Diego, Ca

Post by mgtremaine » Sun Jan 18, 2015 7:29 pm

Re: DD Software

I have command line piece of Perl code I spit out a few years ago.
  Code:
altair:bin mgt$ ./dd_rollchar.pl 

Which method of generation do you use?
a) 3d6 in order
b) 3d6 arrange
c) 4d6 drop the lowest, in order
d) 4d6 drop the lowest, arrange
e) Exit

[Choose 1 - a,b,c,d]:b

Stat [1]: 9 [ 2 3 4 ] 
Stat [2]: 12 [ 2 4 6 ] 
Stat [3]: 12 [ 5 3 4 ] 
Stat [4]: 10 [ 3 4 3 ] 
Stat [5]: 8 [ 1 6 1 ] 
Stat [6]: 15 [ 4 5 6 ] 
 1) Strength     
 2) Intelligence 
 3) Wisdom       
 4) Constitution 
 5) Dexterity    
 6) Charisma    Choose the order of you stats:6 5 1 2 3 4
 Strength    :  15 
 Intelligence:  8 
 Wisdom      :  9 
 Constitution:  12 
 Dexterity   :  12 
 Charisma    :  10 
Gold: 7 

Which method of generation do you use?
a) 3d6 in order
b) 3d6 arrange
c) 4d6 drop the lowest, in order
d) 4d6 drop the lowest, arrange
e) Exit

[Choose 1 - a,b,c,d]:e

But it needs some love to make it usable by the masses. :)
[f=4]Wen the Pale, Elf Hero/Spellbinder (MV 12", AC 9, HD 4/2, hp 11/11, FC Hero, L) helm, bow[/f]
[f=47]Kiplyn Sorefoot, Hobbet Thief (Lv: 4 AC: 5 Hp 12) Leather+Shield+Dagger, Sling[/f]
[f=59]Tass Purrfoot (Agile Hobbet Varlet, MV 9′′, AC 7, HD 2, hp 8, FC 2 men, SV T7, N)[/f]

Posts: 835
Joined: Thu Oct 03, 2013 1:22 pm
Location: Ottawa, Ontario

Post by merias » Sun Jan 18, 2015 8:54 pm

Re: DD Software

I know of one DD character generator:

http://character.totalpartykill.ca/dd/
Aldbane the Cleric (Level 5 MV 6" AC 2/3 HD 4 HP 18) plate +1, shield+2, helm, silvered war hammer, sling, staff of healing

Posts: 16902
Joined: Thu Sep 05, 2013 1:15 am
Location: Melbourne, Australia

Post by waysoftheearth » Sun Jan 18, 2015 9:54 pm

Re: DD Software

There's a world of opportunity in this space, so I've used this thread to launch a new sub-forum :)
[f=32]Golgildir the Elf Medium (MV 12", AC 9, HD 1, hp 1/1, AL N) great cloak, lantern; spells: color spray; scrolls: sleep, sleep, charm person
Hirelings: Georges; torch[/f]

Posts: 2
Joined: Mon Mar 02, 2015 4:56 pm

Post by aesdana » Mon Mar 02, 2015 5:19 pm

Re: DD Software

I made a treasure generator using DD v3.

It works for A1 type treasures but the big part is not making the other treasure types. It's just making oe working which was a big point for me (disclaimer : I've never made programs or generators, so make comments so that I may Improve).

The file works for INSPIRATION PAD PRO version 3, available here.

Try, enjoy and provide feedback if something wrong happens.

You just have to create a new generator and copy/paste the following with the 'Edit table' command :
  Code:
Table: A1
[Copper pieces >> Bold] : [when]{1d6} > 4 [do] {1d4*1000} [else] none [end]\n&
[Silver pieces >> Bold] : [when]{1d6} > 4 [do] {1d6*1000} [else] none [end]\n&
[Gold pieces >> Bold] : [when]{1d6} > 3 [do] {1d12*1000} [else] none [end]\n&
[Gems (number & value, if any) >> Bold] :  [when]{1d6} > 3 [do] {!nbgems=3d12} : [@{nbgems} Gems >> implode] [else] none [end]\n&
[Jewels (number & value, if any) >> Bold] : [when]{1d6} > 3 [do] {!nbjwls=1d8} : [@{nbjwls} Jewels >> implode] [else] none [end]\n&
[Other treasure  >> Bold] :\n&
[@AnyTreasure]\n&
[@AnyTreasure]\n&
[@AnyTreasure]\n&

Table: AnyTreasure
Type: Lookup
Roll: 1d100
01-70: [@MagicItem]
71-90: [@Maps]
91-100: [@MagicItem] \n&
[@Maps]

Table: Maps
Type: Lookup
Roll: 1d100
01-50: Treasure map
51-85: Magic item map
86-100: Treasure & magic item map

Table: Gems
Type: Lookup
Roll: 1d100
01-08: 10 gp
09-22: 30 gp
23-67: 100 gp
68-87: 300 gp
88-98: 1,000 gp
99: 3,000 gp
100: 10,000 gp

Table: Jewels
Type: Lookup
Roll: 1d100
01-20: {2d6*100} gp
21-40: {3d6*100} gp
41-60: {1d10*400} gp
61-80: {1d6*1000} gp
81-90: {2d4*1000} gp
91-100: {2d6*1000} gp

Table: MagicItem
Type: Lookup
Roll: 1d100
01-15: [@Armor]
16-25: [@MiscMagicItem]
26-35: [@MiscWeapon]
36-50: [@Potion]
51-55: [@Ring]
56-70: [@SpellbookScroll]
71-80: [@StaffWand]
81-100: [@Sword]

Table: Armor
Type: Lookup
Roll: 1d100
01-30: Shield +1
31-45: Shield +2
46-50: Shield +3
51-75: Plate armor +1
76-85: Plate armor +2
86-95: Plate armor & shield +1
96-100: Plate armor & shield +2

Table: MiscMagicItem
Type: Lookup
Roll: 1d100
01-04: Amulet of Proof Against Detection
05-08: Bag of Holding
09-14: Boots of Elvenkind
15-18: Boots of Levitation
19-22: Boots of Speed
23-26: Boots of Striding and Springing
27-30: Cloak of Displacement
31-36: Cloak of Elvenkind
37-42: Crystal Ball
43-44: Drums of Panic
45-48: Efreeti Bottle
49-52: Flying Broomstick
53-54: Flying Carpet
55-61: Gauntlets of Ogre Power
62-65: Girdle of Giant’s Might
66-72: Helm of Alignment Change
73-76: Helm of Comprehending Languages and Magic
77-80: Helm of Telepathy
81-82: Helm of Teleportation
83-84: Horn of Blasting
85-90: Medallion of Thoughts
91-92: Mirror of Life Trapping
93-96: Object of Commanding Elementals
97-100: Scarab of Protection

Table: MiscWeapon
Type: Lookup
Roll: 1d100
01-13: Arrows or bolts +1, {5d6}
14-20: Arrows or bolts +2, {4d6}
21-30: Axe +1
31-35: Axe +2
36-42: Bow +1
43-47: Dagger +1, +2 vs goblins & hobgoblins
48-52: Dagger +1, +2 vs kobolds & lizardmen
53-57: Dagger +1, +2 vs orcs & gnolls
58-62: Dagger +1, +3 vs men
63-67: Flail +1
68-70: Mace +1
71-72: Mace +2
73-77: Morning star +1
78-82: Short sword +1
83-84: Short sword +1, +3 vs man-types
85-89: Spear +1
90-91: Spear +2
92: Spear +3
93-97: War hammer +1
98-99: War hammer +2
100: War hammer +3

Table: Potion
Type: Lookup
Roll: 1d100
01-04: Potion of abbreviation
05-08: Potion of animal Mastery
09-12: Potion of curing
13-16: Potion of deception
17-19: Potion of dragon Mastery
20-23: Potion of exaggeration
24-27: Potion of extra Curing
28-31: Potion of flight
32-35: Potion of gaseous Form
36-38: Potion of giant Mastery
39-42: Potion of giant’s Strength
43-46: Potion of haste
47-49: Potion of heroism
50-53: Potion of inviolability
54-57: Potion of invisibility
58-60: Potion of mastery Over Men
61-63: Potion of plant Mastery
64-67: Potion of poison
68-71: Potion of polymorph
72-75: Potion of resistance to Fire
76-79: Potion of sixth Sense
80-82: Potion of treasure Detection
83-85: Potion of undead Mastery
86-89: Potion of water Breathing
90-93: Potion of weightlessness
94-97: Potion of X-Ray Vision
98-100: Potion of youthfulness

Table: Ring
Type: Lookup
Roll: 1d100
01-07: Ring of animal Mastery
07-14: Ring of darkvision
15-23: Ring of deception
24-30: Ring of invisibility
31-37: Ring of mastery Over Men
38-46: Ring of protection
47-53: Ring of regeneration
54-60: Ring of resistance to Fire
61-63: Ring of spell Storing
64-66: Ring of spell Turning
67-69: Ring of telekinesis
70-72: Ring of the Djinn
73-81: Ring of water Walking
82-88: Ring of weariness
89-97: Ring of wishes
98-100: X-Ray Vision

Table: SpellbookScroll
Type: Lookup
Roll: 1d100
01-08: Scroll, cursed ([@CursedScroll])
09-19: [|Magic-user|Magic-user|Magic-user|Magic-user|Cleric|Antic-cleric|] scroll, 1 spell
20-29: [|Magic-user|Magic-user|Magic-user|Magic-user|Cleric|Antic-cleric|] scroll, 2 spells
30-38: [|Magic-user|Magic-user|Magic-user|Magic-user|Cleric|Antic-cleric|] scroll, 3 spells
39-46: Spell book, 1st-2nd level
47-53: Spell book, 1st-4th level
54-60: Spell book, 1st-6th level
61-68: Ward against Elementals
69-76: Ward against 2d6 Lycanthropes
77-84: Ward against Golems
85-92: Ward against Undead (effective against 4d6 normal undead, 2d6 heroic undead or 1d6 superheroic undead)
93-100: Ward against Magic

Table: CursedScroll
Type: Lookup
Roll: 2d6
2: Turned to stone
3: Feebleminded
4: Powerful monster conjured to stalk the player
5: Prime requisite ability score reduced to 3
6: All gold touched or carried turns to lead
7: All saving throws penalized by -2
8: All monster reactions are hostile
9: Blinded
10: Disease contracted, fatal within 24 hours
11: Polymorphed into insect, frog, mouse, or similar
12: Fall into a permanent sleep

Table: StaffWand
Type: Lookup
Roll: 1d100
01-05: Serpent Staff
06-10: Staff of Healing
11-15: Staff of Mastery
16-20: Staff of Power
21-25: Staff of Smiting
26-30: Staff of Sorcery
31-35: Staff of Wasting
36-40: Wand of Cancellation
41-45: Wand of Detecting Enemies
46-50: Wand of Detecting Magic
51-55: Wand of Detecting Metal
56-60: Wand of Detecting Secrets
61-65: Wand of Detecting Traps
66-70: Wand of Fear
71-75: Wand of Fireball
76-80: Wand of Ice
81-85: Wand of Lightning Bolt
86-90: Wand of Paralysis
91-95: Wand of Phantasm
96-100: Wand of Polymorph

Table: Sword
set: sword=[@SwordType]
set: swdInt={2d6}
_[Magic sword >> underline] :\n&
___[[#{sword} StupidSword] >> bold] \n&
___ Intelligence : [when] {swdInt} > 6 [do] [{swdInt} >> bold] [else] - [end] \n&
___ Alignment : [when] {swdInt} > 6 [do] [[#{sword} IntSwordAlign] >> bold] [else] [#{sword} NonIntSwordAlign] [end] \n&
___ Communication : [when] {swdInt} > 6 [do] [[#{swdInt} Communication] >> bold] [else] - [end] \n&
___ Languages : [when] {swdInt} > 8 [do] alignment tongue +[[@Languages] >> bold] additional language(s) [else] - [end] \n&
___ Number of powers : [when] {swdInt} > 6 [do] [[@PowNbr] >> bold] [else] - [end] \n&
___ Ego : [when] {swdInt} > 6 [do] [{!z={2d6}+{x+y}} >> bold] [else] - [end] \n&
___ Power(s) : [when] {swdInt} > 6 [do] [!{x} NormalPowers >> implode >> Sort], [!{y} ExcepPowers >> implode >> Sort] [else] - [end] \n&
___ Purpose : [when] {z} > 8 [do] [[#{swdInt} Purpose] >> bold] [else] - [end]\n

Table: SwordType
7:a
23:b
5:c
5:d
5:e
5:f
5:g
5:h
5:i
5:j
5:k
5:l
5:m
5:n
5:o
5:p

Table: StupidSword
type: dictionary
a: Sword -2, cursed
b: Sword +1
c: Sword +1, +2 vs man-types
d: Sword +1, +2 vs lycanthropes
e: Sword +1, +2 vs enchanted
f: Sword +1, +3 vs giants
g: Sword +1, +3 vs golems
h: Sword +1, +3 vs regenerating
i: Sword +1, +3 vs dragons
j: Sword +1, Flametongue
k: Sword +1, Frostbrand
l: Sword +2
m: Sword +3
n: Sword +2, Holy
o: Sword +2, Unholy
p: Sword +2, Vorpal

Table: IntSwordAlign
type: dictionary
default:[|chaotic|neutral|neutral|lawful|lawful|lawful|]
n: lawful
o: chaotic
p: neutral

Table: NonIntSwordAlign
type: dictionary
default: -
n: [lawful >> Bold]
o: [chaotic >> Bold]
p: [neutral >> Bold]

Table: Communication
type: dictionary
7: empathic
8: empathic
9: verbal
10: verbal
11: verbal + read magic
12: verbal + read magic + telepathy

Table: Languages
Type: Lookup
Roll: 2d6
2-8: 1
9: 2
10: 3
11: 4
12: {[@Languages12]+[@Languages12]}

Table: Languages12
Type: Lookup
Roll: 2d6
2-8: 1
9: 2
10: 3
11: 4
12: [@Languages12]

table: PowNbr
{if ({x=[#{swdInt} NormalPowerNumber]} >9, 9, {x})} normal &
& {if ({y=[#{[#{swdInt} ExcepPowerNumber1]} ExcepPowerNumber2]} >13, 13, {y})} exceptional power(s), &
i.e. {x+y} power(s)

table: NormalPowerNumber
type: dictionary
default: {[@NormalPowerRoll]+[@NormalPowerRoll]+[@NormalPowerRoll]}
7: [@NormalPowerRoll]
8: {[@NormalPowerRoll]+[@NormalPowerRoll]}

table: NormalPowerRoll
type: lookup
set: nbr=0
roll: 2d6
2: {{[@NormalPowerRoll]}+{[@NormalPowerRoll]}}
3-11: 1
12: {nbr={nbr}+1}

table: ExcepPowerNumber1
type: dictionary
default: {nbr}
12: {nbr=nbr+1}

table: ExcepPowerNumber2
type: dictionary
default: 13
0: 0
1: [@ExcepPowerRoll]
2: {[@ExcepPowerRoll]+[@ExcepPowerRoll]}
3: {[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]}
4: {[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]}
5: {[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]}
6: {[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]}
7: {[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]}
8: {[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]}
9: {[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]}
10: {[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]}
11: {[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]}
12: {[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]+[@ExcepPowerRoll]}

table: ExcepPowerRoll
type: lookup
roll: 3d6
3: {{[@ExcepPowerRoll]}+{[@ExcepPowerRoll]}+{[@ExcepPowerRoll]}}
4: {{[@ExcepPowerRoll]}+{[@ExcepPowerRoll]}}
5-18: 1

table: Purpose
type: dictionary
default: [@PurposeRoll]
7: -
8: -

table: PurposeRoll
type: lookup
roll: 2d6
2: Slay golems ([final intelligence & ego both at 12 >> Underline])
3: Slay elementals ([final intelligence & ego both at 12 >> Underline])
4: Slay giants ([final intelligence & ego both at 12 >> Underline])
5: Slay magic-users ([final intelligence & ego both at 12 >> Underline])
6: Slay fighters ([final intelligence & ego both at 12 >> Underline])
7: Defeat ignoble house  ([final intelligence & ego both at 12 >> Underline])
8: Slay undead  ([final intelligence & ego both at 12 >> Underline])
9: Slay lycanthropes  ([final intelligence & ego both at 12 >> Underline])
10: Slay anti-clerics  ([final intelligence & ego both at 12 >> Underline])
11: Slay dragons  ([final intelligence & ego both at 12 >> Underline])
12: Slay gothrogs  ([final intelligence & ego both at 12 >> Underline])

table: NormalPowers
2: Detect gems/jewelry
3: Detect traps
4: Detect gold
5: Detect evil/good
6: Detect shifting stonework
5: Detect silver
4: Detect secret doors
3: Detect invisible objects
2: Detect magic

table: ExcepPowers
6: Teleport
10: Telekinesis
15: Regeneration (1 hp per turn, 6 per day)
21: Charm person
25: Knock
27: Sixth sense
27: Levitate
25: Phamtasm
21: X-Ray vision (as the ring)
15: Fly
10: Giant’s strength (as the potion)
6: Life stealing
4: Wishes (as the ring)

Return to “Software Tools”

Powered by phpBB® Forum Software © phpBB Limited
Designed by ST Software.