These modules are my random generators. They can generate random letters of the alphabet to random bodies of water, depending on the module being used.
All of these modules depend on Exporter. The modules that depend on Fancy::Rand and use fancy_rand
will be in bold. The modules that do not depend on Fancy::Rand will be in italics. The others depend on other functions of Fancy::Rand.
- Random::Alpha returns random letters of the English alphabet. It also depends on Fancy::Open and File::ShareDir. The data for this module is in auto/Random/Alpha.
- Random::Color returns random colors. It also depends on Fancy::Open and File::ShareDir. The data for this module is in auto/Random/Color.
- Random::Descriptor returns a random descriptor.
- Random::Dragon returns random dragons from the DreamWorks Dragons, Harry Potter, Pern, and Xanth series and dragons from Advanced Dungeons & Dragons, 2nd Edition. It also depends on Fancy::Open, Random::Color, Random::Xanth::Dragon, Random::RPG::Monster, and File::ShareDir. The data for this module is in auto/Random/Dragon.
- Random::FamilyMember returns random family members. It also depends on List::Util. It is used in the character mutation generator.
- Random::Food returns either a random food or drink. It also depends on Fancy::Open, Fancy::Map, and File::ShareDir. The data for this module is in auto/Random/Food.
- Random::GemMetalJewelry returns random gems, metals, and jewelry. It also depends on Fancy::Join::Grammatical and Lingua::EN::Inflect.
- Random::Government returns a random government type.
- Random::Insanity returns a random mental disorder. It is used in the character mutation generator.
- Random::Military returns a random fictional and fantasy military unit. It depends on Games::Dice.
- Random::Misc returns random miscellaneous things. It is used in the character mutation generator.
- Random::Month returns a random month by language. It also depends on Date::Calc.
- Random::Range returns random ranges or radiuses. It is used in the character mutation generator.
- Random::SciFi returns a random Hitchhikers' Guide to the Galaxy sector or a random Men in Black agent id. It also depends on Random::Alpha.
- Random::Size returns random relative sizes.
- Random::SpecialDice rolls for a random die, d16, percentile, permille, and permyriad. It also depends on Games::Dice. It is used in the character mutation generator.
- Random::Thing returns random things. It is used in the character mutation generator.
- Random::Time returns a random time unit, random day part, random time, or random frequency. It also depends on Random::SpecialDice and Lingua::EN::Inflect. It is used in the character mutation generator.
- Random::Title returns random titles given to people.
- Random::Water returns random running or standing waters and precipitation.
- Random::Body::Function returns random body functions. It also depends on Fancy::Join::Grammatical. It is used in the character mutation generator.
- Random::Body::Modification returns random body modifications. It also depends on Random::Color, Random::GemMetalJewelry, Random::Size, Random::Misc, Random::RPG::Alignment, Games::Dice, and Lingua::EN::Inflect. It is used in the character mutation generator.
While these modules generate random colors, they are not dependent on Random::Color.
- Random::Color::Hex returns random colors. It depends on Fancy::Split.
- Random::Color::VisiBone returns random colors based on the Web Designer's Color Reference Poster by VisiBone.
- Random::Color::Web returns random named web colors. It also depends on Fancy::Open and File::ShareDir. The data for this module is in auto/Random/Color/Web.
- Random::Name::Pattern returns random names by a specified pattern, based on Random Name by Jason Seeley.
- Random::Name::Triador is a name generator for the world of Triador that I am slowly building. It depends on Random::Name::Pattern and Games::Dice.
- Random::Xanth::Dragon returns random dragons from the Xanth series by Piers Anthony.
All of Random::RPG modules are based on and are for Advanced Dungeons & Dragons, Second Edition. All of the modules listed below are used in the character mutation generator except the specific magic item generators. Please see the Random::RPG::World readme for more on those modules.
- Random::RPG::AbilityScores returns random ability scores and their game effects.
- Random::RPG::Alignment returns random alignments.
- Random::RPG::Class returns random adventurer classes.
- Random::RPG::Event returns random game events. It also depends on Random::RPG::AbilityScores and Random::RPG::SavingThrow.
- Random::RPG::MagicItem returns random magic items. It also depends on Random::Range, Random::SpecialDice, and Lingua::EN::Inflect.
- Random::RPG::Misc returns random miscellaneous things related to AD&D role-playing games.
- Random::RPG::Monster returns random monsters from the I and its compendiums. It also depends on Fancy::Map and List::Util.
- Random::RPG::SavingThrow returns random saving throws.
- Random::RPG::SpecialAttack returns random special attacks. It also depends on Fancy::Join::Defined, Random::SpecialDice, and Random::Time.
- Random::RPG::Spell returns random spells and spell actions. It also depends on Random::SpecialDice and Lingua::EN::Inflect.
- Random::RPG::Weapon returns random weapons. It also depends on File::ShareDir, Games::Dice, String::Util, and Text::CSV. The data for this module is in auto/Random/RPG/Weapon.
- Random::RPG::WildPsionics returns random wild psionic talents. It also depends on File::ShareDir, Games::Dice, Lingua::EN::Inflect, List::Util, and Text::CSV. The data for this module is in auto/Random/RPG/WildPsionics.
- Random::RPG::MagicItem::Giant returns random magic items based on giants. It also depends on Random::RPG::MagicItem.
- Random::RPG::MagicItem::Ring::SpellDoubling makes or randomly returns a Ring of Spell Doubling.
I came up with a version scheme for the modules using fancy_rand
from Fancy::Rand.
- The version will increment by 0.001 if I add an item to a list in the hash.
- The version will increment by 0.010 if I add a list to the hash. This could lead to a new sub function.
- The version will increment by 0.100 if I add a hash to the module. This would lead to a new function and maybe sub-functions of it.
- The version will increment by 1.000 if the interface changes.
All the incrementation above is cumulative. I could get really creative one day and add items to lists, more lists to the hash, and a new hash all at the same time. So, the version could go from 1.000 to 1.124. That could mean I added 124 items to the various lists or added 4 items to lists, 2 new lists, and 1 new hash.
I have not come up with a solid versioning system for the rest of the modules.