tlfgen

package module
v0.0.0-...-7895420 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2020 License: GPL-3.0 Imports: 13 Imported by: 0

README

Character Generator for the Laundry Files RPG

Go Report Card

A command line random character generator for the Laundry Files RPG, implemented in Go.

Installation

$ git clone https://github.com/gruevyhat/tlfgen
$ cd tlfgen
$ make

Usage

The Laundry Files Character Generator

Usage: tlfgen [options]

Options:
  -n, --name=<str>          The character's full name.
  -g, --gender=<str>        The character's gender.
  -a, --age=<int>           The character's age.
  -p, --personality=<str>   The character's personality type.
  -A, --assignment=<str>    The character's assignment.
  -P, --profession=<str>    The character's profession.
  -S, --skill-points=<str>  The character's bonus skill points.
  -b, --attr-bonus=<str>    The character's attribute bonus ("smart", "tough", or "mystical").
  -s, --seed=<hex>          Character generation signature.
  --log-level=<str>         One of {INFO, WARNING, ERROR}. [default: ERROR]
  -h --help
  --version

Example

$ tflgen -A "Computational Demonology" -P "Parapsychologist" -p "Thinker" -S 200
{
    "name": "Jacob Garcia",
    "age": 19,
    "gender": "Male",
    "personality_type": "Thinker",
    "profession": "Parapsychologist",
    "assignment": "Computational Demonology",
    "wealth": "Average",
    "base": {
        "charisma": 18,
        "constitution": 15,
        "dexterity": 10,
        "education": 12,
        "intelligence": 15,
        "power": 11,
        "size": 15,
        "strength": 8
    },
    "derived": {
        "agility": 50,
        "damage_bonus": "None",
        "damage_mod": 0,
        "effort": 40,
        "endurance": 75,
        "experience_bonus": 7,
        "hit_points": 15,
        "idea": 75,
        "know": 60,
        "luck": 55,
        "major_wound_level": 7,
        "move": 10,
        "sanity": 55
    },
    "skills": {
        "Appraise": 44,
        "Athletics": 10,
        "Bargain": 28,
        "Brawl": 27,
        "Bureaucracy": 12,
        "Climb": 40,
        "Command": 5,
        "Computer Use: Hacking": 18,
        "Computer Use: Magic": 23,
        "Computer Use: Programming": 11,
        "Demolition": 3,
        "Disguise": 34,
        "Dodge": 23,
        "Drive: Automobile": 22,
        "Etiquette": 6,
        "Fast Talk": 32,
        "Fine Manipulation": 10,
        "Firearm: Exotic": 32,
        "Firearm: Pistol": 27,
        "First Aid": 37,
        "Gaming": 12,
        "Grapple": 30,
        "Hide": 38,
        "Insight": 50,
        "Jump": 27,
        "Knowledge: Accounting": 17,
        "Knowledge: Espionage": 9,
        "Knowledge: Law": 12,
        "Knowledge: Occult": 64,
        "Knowledge: Politics": 11,
        "Knowledge: Streetwise": 37,
        "Language: Own": 79,
        "Listen": 86,
        "Navigate": 11,
        "Perform": 7,
        "Persuade": 19,
        "Research": 77,
        "Ride": 5,
        "Science: Mathematics": 21,
        "Science: Thaumaturgy": 14,
        "Sense": 58,
        "Sleight of Hand": 9,
        "Sorcery": 13,
        "Spot": 83,
        "Status": 17,
        "Stealth": 66,
        "Strategy": 5,
        "Swim": 28,
        "Teach": 12,
        "Technology Use: Other": 29,
        "Throw": 28,
        "Track": 13
    },
    "seed": "15bc33ec5a96a2bc"
}

Documentation

Overview

Package tlfgen implements a character generator for the SotDL RPG.

Index

Constants

View Source
const VERSION = "0.1.2"

VERSION number.

Variables

View Source
var AllSkills = joinMaps(
	CombatSkills,
	GeneralSkills,
)

AllSkills is a map of everything.

View Source
var ArtSkills = map[string]Skill{
	"Art: Calligraphy": {/* contains filtered or unexported fields */},
	"Art: Drawing":     {/* contains filtered or unexported fields */},
	"Art: Other":       {/* contains filtered or unexported fields */},
	"Art: Painting":    {/* contains filtered or unexported fields */},
	"Art: Photography": {/* contains filtered or unexported fields */},
	"Art: Sculpture":   {/* contains filtered or unexported fields */},
	"Art: Writing":     {/* contains filtered or unexported fields */},
}

ArtSkills is a map of skills.

View Source
var ArtillerySkills = map[string]Skill{
	"Artillery: Cannon":           {/* contains filtered or unexported fields */},
	"Artillery: Other":            {/* contains filtered or unexported fields */},
	"Artillery: Rocket Launcher":  {/* contains filtered or unexported fields */},
	"Artillery: Turret":           {/* contains filtered or unexported fields */},
	"Artillery: Vehicular Weapon": {/* contains filtered or unexported fields */},
}

ArtillerySkills is a map of skills.

View Source
var Assignments = map[string]Assignment{
	"Zombie Wrangler": {
		// contains filtered or unexported fields
	},
	"Researcher": {
		// contains filtered or unexported fields
	},
	"Tosher": {
		// contains filtered or unexported fields
	},
	"Mad Boffin": {
		// contains filtered or unexported fields
	},
	"Computational Demonology Researcher": {
		// contains filtered or unexported fields
	},
	"Cultural Attache": {
		// contains filtered or unexported fields
	},
	"Counter-Possession Exorcist": {
		// contains filtered or unexported fields
	},
	"Translator": {
		// contains filtered or unexported fields
	},
	"Apprentice Demonologist": {
		// contains filtered or unexported fields
	},
	"Plumber": {
		// contains filtered or unexported fields
	},
	"Occult Forensics": {
		// contains filtered or unexported fields
	},
	"Medical and Psychological": {
		// contains filtered or unexported fields
	},
	"Media Relations": {
		// contains filtered or unexported fields
	},
	"Counter-Subversion": {
		// contains filtered or unexported fields
	},
	"Information Technology": {
		// contains filtered or unexported fields
	},
	"Counter-Possession": {
		// contains filtered or unexported fields
	},
	"Contracts and Bindings": {
		// contains filtered or unexported fields
	},
	"Archives": {
		// contains filtered or unexported fields
	},
	"Subterranean Operations Liaison": {
		// contains filtered or unexported fields
	},
	"Accountant": {
		// contains filtered or unexported fields
	},
	"Quality Assurance Compliance Officer": {
		// contains filtered or unexported fields
	},
	"Aquatic Affairs Liaison": {
		// contains filtered or unexported fields
	},
	"Health and Safety Assessment Officer": {
		// contains filtered or unexported fields
	},
	"Shoggoth Keeper": {
		// contains filtered or unexported fields
	},
	"Psychiatrist": {
		// contains filtered or unexported fields
	},
	"Armoury Clerk": {
		// contains filtered or unexported fields
	},
	"Wiring and Warding Technician": {
		// contains filtered or unexported fields
	},
	"Helpdesk": {
		// contains filtered or unexported fields
	},
	"Courier": {
		// contains filtered or unexported fields
	},
	"Monitoring Researcher": {
		// contains filtered or unexported fields
	},
	"Media Relations Researcher": {
		// contains filtered or unexported fields
	},
	"Acquisitions Curator": {
		// contains filtered or unexported fields
	},
	"OCCULUS Support Officer": {
		// contains filtered or unexported fields
	},
	"Mathematical Modelling": {
		// contains filtered or unexported fields
	},
	"Stochastic Analyst": {
		// contains filtered or unexported fields
	},
	"all": {
		// contains filtered or unexported fields
	},
}

Assignments is a map of assignments.

View Source
var AthleticsSkills = map[string]Skill{
	"Athletics: Acrobatics":    {/* contains filtered or unexported fields */},
	"Athletics: Football":      {/* contains filtered or unexported fields */},
	"Athletics: Baseball":      {/* contains filtered or unexported fields */},
	"Athletics: Basketball":    {/* contains filtered or unexported fields */},
	"Athletics: Bowling":       {/* contains filtered or unexported fields */},
	"Athletics: Cricket":       {/* contains filtered or unexported fields */},
	"Athletics: Cycling":       {/* contains filtered or unexported fields */},
	"Athletics: Golf":          {/* contains filtered or unexported fields */},
	"Athletics: Hockey":        {/* contains filtered or unexported fields */},
	"Athletics: Rugby":         {/* contains filtered or unexported fields */},
	"Athletics: Running":       {/* contains filtered or unexported fields */},
	"Athletics: Skating":       {/* contains filtered or unexported fields */},
	"Athletics: Skiing":        {/* contains filtered or unexported fields */},
	"Athletics: Soccer":        {/* contains filtered or unexported fields */},
	"Athletics: Tennis":        {/* contains filtered or unexported fields */},
	"Athletics: Track & Field": {/* contains filtered or unexported fields */},
}

AthleticsSkills is a map of skills.

CombatSkills list of all the possible combat skills.

View Source
var ComputerUseSkills = map[string]Skill{
	"Computer Use: Art":         {/* contains filtered or unexported fields */},
	"Computer Use: Design":      {/* contains filtered or unexported fields */},
	"Computer Use: Gaming":      {/* contains filtered or unexported fields */},
	"Computer Use: Hacking":     {/* contains filtered or unexported fields */},
	"Computer Use: Magic":       {/* contains filtered or unexported fields */},
	"Computer Use: Maintenance": {/* contains filtered or unexported fields */},
	"Computer Use: Other":       {/* contains filtered or unexported fields */},
	"Computer Use: Programming": {/* contains filtered or unexported fields */},
	"Computer Use: Repair":      {/* contains filtered or unexported fields */},
}

ComputerUseSkills is a map of skills.

View Source
var CraftSkills = map[string]Skill{
	"Craft: Carpentry":      {/* contains filtered or unexported fields */},
	"Craft: Cooking":        {/* contains filtered or unexported fields */},
	"Craft: Leatherworking": {/* contains filtered or unexported fields */},
	"Craft: Pottery":        {/* contains filtered or unexported fields */},
	"Craft: Sewing":         {/* contains filtered or unexported fields */},
	"Craft: Woodworking":    {/* contains filtered or unexported fields */},
}

CraftSkills is a map of skills.

View Source
var DefaultSkills = map[string]Skill{
	"Appraise":          {/* contains filtered or unexported fields */},
	"Athletics":         {/* contains filtered or unexported fields */},
	"Bargain":           {/* contains filtered or unexported fields */},
	"Brawl":             {/* contains filtered or unexported fields */},
	"Bureaucracy":       {/* contains filtered or unexported fields */},
	"Climb":             {/* contains filtered or unexported fields */},
	"Command":           {/* contains filtered or unexported fields */},
	"Demolition":        {/* contains filtered or unexported fields */},
	"Disguise":          {/* contains filtered or unexported fields */},
	"Dodge":             {/* contains filtered or unexported fields */},
	"Drive: Automobile": {/* contains filtered or unexported fields */},
	"Etiquette":         {/* contains filtered or unexported fields */},
	"Fast Talk":         {/* contains filtered or unexported fields */},
	"Fine Manipulation": {/* contains filtered or unexported fields */},
	"First Aid":         {/* contains filtered or unexported fields */},
	"Gaming":            {/* contains filtered or unexported fields */},
	"Grapple":           {/* contains filtered or unexported fields */},
	"Hide":              {/* contains filtered or unexported fields */},
	"Insight":           {/* contains filtered or unexported fields */},
	"Jump":              {/* contains filtered or unexported fields */},
	"Listen":            {/* contains filtered or unexported fields */},
	"Navigate":          {/* contains filtered or unexported fields */},
	"Perform":           {/* contains filtered or unexported fields */},
	"Persuade":          {/* contains filtered or unexported fields */},
	"Psychotherapy":     {/* contains filtered or unexported fields */},
	"Research":          {/* contains filtered or unexported fields */},
	"Ride":              {/* contains filtered or unexported fields */},
	"Sense":             {/* contains filtered or unexported fields */},
	"Sleight of Hand":   {/* contains filtered or unexported fields */},
	"Spot":              {/* contains filtered or unexported fields */},
	"Status":            {/* contains filtered or unexported fields */},
	"Stealth":           {/* contains filtered or unexported fields */},
	"Strategy":          {/* contains filtered or unexported fields */},
	"Swim":              {/* contains filtered or unexported fields */},
	"Teach":             {/* contains filtered or unexported fields */},
	"Throw":             {/* contains filtered or unexported fields */},
	"Track":             {/* contains filtered or unexported fields */},
}

DefaultSkills is a map of default skills.

View Source
var DriveSkills = map[string]Skill{
	"Drive: Automobile":       {/* contains filtered or unexported fields */},
	"Drive: Industrial Mover": {/* contains filtered or unexported fields */},
	"Drive: Motorcycle":       {/* contains filtered or unexported fields */},
	"Drive: Other":            {/* contains filtered or unexported fields */},
	"Drive: Tank":             {/* contains filtered or unexported fields */},
}

DriveSkills is a map of skills.

View Source
var EsotericSkills = map[string]Skill{
	"Cthulhu Mythos": {/* contains filtered or unexported fields */},
	"Sorcery":        {/* contains filtered or unexported fields */},
}

EsotericSkills is a map of the creepy stuff.

View Source
var FirearmSkills = map[string]Skill{
	"Firearm: Assault Rifle":  {/* contains filtered or unexported fields */},
	"Firearm: Esoteric":       {/* contains filtered or unexported fields */},
	"Firearm: Exotic":         {/* contains filtered or unexported fields */},
	"Firearm: Pistol":         {/* contains filtered or unexported fields */},
	"Firearm: Rifle":          {/* contains filtered or unexported fields */},
	"Firearm: Shotgun":        {/* contains filtered or unexported fields */},
	"Firearm: Submachine Gun": {/* contains filtered or unexported fields */},
}

FirearmSkills is a map of skills.

GeneralSkills is a map of everything except Combat skills.

View Source
var HeavyMachineSkills = map[string]Skill{
	"Heavy Machine: Boiler":    {/* contains filtered or unexported fields */},
	"Heavy Machine: Bulldozer": {/* contains filtered or unexported fields */},
	"Heavy Machine: Crane":     {/* contains filtered or unexported fields */},
	"Heavy Machine: Engine":    {/* contains filtered or unexported fields */},
	"Heavy Machine: Other":     {/* contains filtered or unexported fields */},
	"Heavy Machine: Turbine":   {/* contains filtered or unexported fields */},
	"Heavy Machine: Wrecker":   {/* contains filtered or unexported fields */},
}

HeavyMachineSkills is a map of skills.

View Source
var HeavyWeaponSkills = map[string]Skill{
	"Heavy Weapon: Bazooka":           {/* contains filtered or unexported fields */},
	"Heavy Weapon: Grenade Launcher":  {/* contains filtered or unexported fields */},
	"Heavy Weapon: Heavy Machine Gun": {/* contains filtered or unexported fields */},
	"Heavy Weapon: Minigun":           {/* contains filtered or unexported fields */},
	"Heavy Weapon: Other":             {/* contains filtered or unexported fields */},
	"Heavy Weapon: Rocket Launcher":   {/* contains filtered or unexported fields */},
}

HeavyWeaponSkills is a map of skills.

View Source
var KnowledgeSkills = map[string]Skill{
	"Knowledge: Accounting":      {/* contains filtered or unexported fields */},
	"Knowledge: Anthropology":    {/* contains filtered or unexported fields */},
	"Knowledge: Archaeology":     {/* contains filtered or unexported fields */},
	"Knowledge: Art History":     {/* contains filtered or unexported fields */},
	"Knowledge: Business":        {/* contains filtered or unexported fields */},
	"Knowledge: Espionage":       {/* contains filtered or unexported fields */},
	"Knowledge: Folklore":        {/* contains filtered or unexported fields */},
	"Knowledge: Group":           {/* contains filtered or unexported fields */},
	"Knowledge: History":         {/* contains filtered or unexported fields */},
	"Knowledge: Law":             {/* contains filtered or unexported fields */},
	"Knowledge: Linguistics":     {/* contains filtered or unexported fields */},
	"Knowledge: Literature":      {/* contains filtered or unexported fields */},
	"Knowledge: Natural History": {/* contains filtered or unexported fields */},
	"Knowledge: Occult":          {/* contains filtered or unexported fields */},
	"Knowledge: Philosophy":      {/* contains filtered or unexported fields */},
	"Knowledge: Politics":        {/* contains filtered or unexported fields */},
	"Knowledge: Region":          {/* contains filtered or unexported fields */},
	"Knowledge: Religion":        {/* contains filtered or unexported fields */},
	"Knowledge: Streetwise":      {/* contains filtered or unexported fields */},
}

KnowledgeSkills is a map of skills.

View Source
var LanguageSkills = map[string]Skill{
	"Language: Arabic":   {/* contains filtered or unexported fields */},
	"Language: Farsi":    {/* contains filtered or unexported fields */},
	"Language: English":  {/* contains filtered or unexported fields */},
	"Language: French":   {/* contains filtered or unexported fields */},
	"Language: German":   {/* contains filtered or unexported fields */},
	"Language: Greek":    {/* contains filtered or unexported fields */},
	"Language: Italian":  {/* contains filtered or unexported fields */},
	"Language: Japanese": {/* contains filtered or unexported fields */},
	"Language: Latin":    {/* contains filtered or unexported fields */},
	"Language: Mandarin": {/* contains filtered or unexported fields */},
	"Language: Other":    {/* contains filtered or unexported fields */},
	"Language: Own":      {/* contains filtered or unexported fields */},
	"Language: Spanish":  {/* contains filtered or unexported fields */},
	"Language: Swahili":  {/* contains filtered or unexported fields */},
	"Language: Swedish":  {/* contains filtered or unexported fields */},
	"Language: Enochian": {/* contains filtered or unexported fields */},
	"Language: Aramaic":  {/* contains filtered or unexported fields */},
	"Language: Hebrew":   {/* contains filtered or unexported fields */},
}

LanguageSkills is a map of skills.

View Source
var MedicineSkills = map[string]Skill{
	"Medicine: Dermatology":       {/* contains filtered or unexported fields */},
	"Medicine: Family Medicine":   {/* contains filtered or unexported fields */},
	"Medicine: Immunology":        {/* contains filtered or unexported fields */},
	"Medicine: Internal Medicine": {/* contains filtered or unexported fields */},
	"Medicine: Neurology":         {/* contains filtered or unexported fields */},
	"Medicine: Nuclear Medicine":  {/* contains filtered or unexported fields */},
	"Medicine: Oncology":          {/* contains filtered or unexported fields */},
	"Medicine: Other":             {/* contains filtered or unexported fields */},
	"Medicine: Pathology":         {/* contains filtered or unexported fields */},
	"Medicine: Pediatrics":        {/* contains filtered or unexported fields */},
	"Medicine: Radiology":         {/* contains filtered or unexported fields */},
	"Medicine: Psychotherapy":     {/* contains filtered or unexported fields */},
	"Medicine: Psychiatry":        {/* contains filtered or unexported fields */},
	"Medicine: Surgery":           {/* contains filtered or unexported fields */},
}

MedicineSkills is a map of skills.

View Source
var MeleeWeaponSkills = map[string]Skill{
	"Melee Weapon: Axe":     {/* contains filtered or unexported fields */},
	"Melee Weapon: Club":    {/* contains filtered or unexported fields */},
	"Melee Weapon: Garrote": {/* contains filtered or unexported fields */},
	"Melee Weapon: Knife":   {/* contains filtered or unexported fields */},
	"Melee Weapon: Other":   {/* contains filtered or unexported fields */},
	"Melee Weapon: Spear":   {/* contains filtered or unexported fields */},
	"Melee Weapon: Staff":   {/* contains filtered or unexported fields */},
	"Melee Weapon: Sword":   {/* contains filtered or unexported fields */},
	"Melee Weapon: Whip":    {/* contains filtered or unexported fields */},
}

MeleeWeaponSkills is a map of skills.

View Source
var MissileWeaponSkills = map[string]Skill{
	"Missile Weapon: Blowgun":        {/* contains filtered or unexported fields */},
	"Missile Weapon: Boomerang":      {/* contains filtered or unexported fields */},
	"Missile Weapon: Bow":            {/* contains filtered or unexported fields */},
	"Missile Weapon: Crossbow":       {/* contains filtered or unexported fields */},
	"Missile Weapon: Dart":           {/* contains filtered or unexported fields */},
	"Missile Weapon: Javelin":        {/* contains filtered or unexported fields */},
	"Missile Weapon: Other":          {/* contains filtered or unexported fields */},
	"Missile Weapon: Shuriken":       {/* contains filtered or unexported fields */},
	"Missile Weapon: Sling":          {/* contains filtered or unexported fields */},
	"Missile Weapon: Spear":          {/* contains filtered or unexported fields */},
	"Missile Weapon: Throwing Axe":   {/* contains filtered or unexported fields */},
	"Missile Weapon: Throwing Knife": {/* contains filtered or unexported fields */},
}

MissileWeaponSkills is a map of skills.

View Source
var PerformSkills = map[string]Skill{
	"Perform: Act":             {/* contains filtered or unexported fields */},
	"Perform: Dance":           {/* contains filtered or unexported fields */},
	"Perform: Juggle":          {/* contains filtered or unexported fields */},
	"Perform: Other":           {/* contains filtered or unexported fields */},
	"Perform: Play Instrument": {/* contains filtered or unexported fields */},
	"Perform: Recite":          {/* contains filtered or unexported fields */},
	"Perform: Sing":            {/* contains filtered or unexported fields */},
}

PerformSkills is a map of skills.

View Source
var PersonalityTypes = map[string]PersonalityType{
	"Slacker": {
		// contains filtered or unexported fields
	},
	"Leader": {
		// contains filtered or unexported fields
	},
	"Thinker": {
		// contains filtered or unexported fields
	},
	"Master": {
		// contains filtered or unexported fields
	},
	"Bruiser": {
		// contains filtered or unexported fields
	},
	"Nutter": {
		// contains filtered or unexported fields
	},
}

PersonalityTypes is a map of PTypes.

View Source
var PilotSkills = map[string]Skill{
	"Pilot: Battleship":      {/* contains filtered or unexported fields */},
	"Pilot: Helicopter":      {/* contains filtered or unexported fields */},
	"Pilot: Hot Air Balloon": {/* contains filtered or unexported fields */},
	"Pilot: Hovercraft":      {/* contains filtered or unexported fields */},
	"Pilot: Jet Airliner":    {/* contains filtered or unexported fields */},
	"Pilot: Jet Boat":        {/* contains filtered or unexported fields */},
	"Pilot: Jet Fighter":     {/* contains filtered or unexported fields */},
	"Pilot: Ocean Liner":     {/* contains filtered or unexported fields */},
	"Pilot: Propeller Plane": {/* contains filtered or unexported fields */},
}

PilotSkills is a map of skills.

View Source
var Professions = map[string]Profession{
	"Student": {
		// contains filtered or unexported fields
	},
	"Spy": {
		// contains filtered or unexported fields
	},
	"Scientist": {
		// contains filtered or unexported fields
	},
	"Professor, Scholar or Teacher": {
		// contains filtered or unexported fields
	},
	"Police Officer": {
		// contains filtered or unexported fields
	},
	"Parapsychologist": {
		// contains filtered or unexported fields
	},
	"Military Officer": {
		// contains filtered or unexported fields
	},
	"Linguist": {
		// contains filtered or unexported fields
	},
	"Lawyer": {
		// contains filtered or unexported fields
	},
	"Labourer": {
		// contains filtered or unexported fields
	},
	"Journalist": {
		// contains filtered or unexported fields
	},
	"Engineer or Technician": {
		// contains filtered or unexported fields
	},
	"Doctor": {
		// contains filtered or unexported fields
	},
	"Dilettante": {
		// contains filtered or unexported fields
	},
	"Consultant": {
		// contains filtered or unexported fields
	},
	"Computer Hacker or Technician": {
		// contains filtered or unexported fields
	},
	"Clerical Worker": {
		// contains filtered or unexported fields
	},
	"Artist or Designer": {
		// contains filtered or unexported fields
	},
	"Antiquarian": {
		// contains filtered or unexported fields
	},
	"Occultist": {
		// contains filtered or unexported fields
	},
	"Philosopher": {
		// contains filtered or unexported fields
	},
}

Professions is a map of professions.

View Source
var PsychologySkills = map[string]Skill{
	"Psychotherapy":        {/* contains filtered or unexported fields */},
	"Medicine: Psychiatry": {/* contains filtered or unexported fields */},
	"Science: Psychology":  {/* contains filtered or unexported fields */},
}

PsychologySkills is a map of skills.

View Source
var RAND = rand.New(rand.NewSource(time.Now().UnixNano()))

RAND is the randomizer.

View Source
var RepairSkills = map[string]Skill{
	"Repair: Electrical":  {/* contains filtered or unexported fields */},
	"Repair: Electronics": {/* contains filtered or unexported fields */},
	"Repair: Hydraulic":   {/* contains filtered or unexported fields */},
	"Repair: Mechanical":  {/* contains filtered or unexported fields */},
	"Repair: Plumbing":    {/* contains filtered or unexported fields */},
	"Repair: Structural":  {/* contains filtered or unexported fields */},
}

RepairSkills is a map of skills.

View Source
var ScienceSkills = map[string]Skill{
	"Science: Astronomy":   {/* contains filtered or unexported fields */},
	"Science: Biology":     {/* contains filtered or unexported fields */},
	"Science: Botany":      {/* contains filtered or unexported fields */},
	"Science: Chemistry":   {/* contains filtered or unexported fields */},
	"Science: Cyptography": {/* contains filtered or unexported fields */},
	"Science: Forensics":   {/* contains filtered or unexported fields */},
	"Science: Genetics":    {/* contains filtered or unexported fields */},
	"Science: Geology":     {/* contains filtered or unexported fields */},
	"Science: Mathematics": {/* contains filtered or unexported fields */},
	"Science: Meteorology": {/* contains filtered or unexported fields */},
	"Science: Pharmacy":    {/* contains filtered or unexported fields */},
	"Science: Physics":     {/* contains filtered or unexported fields */},
	"Science: Planetology": {/* contains filtered or unexported fields */},
	"Science: Psychology":  {/* contains filtered or unexported fields */},
	"Science: Thaumaturgy": {/* contains filtered or unexported fields */},
	"Science: Zoology":     {/* contains filtered or unexported fields */},
}

ScienceSkills is a map of skills.

View Source
var TechnicalSkills = joinMaps(
	ComputerUseSkills,
	TechnologyUseSkills,
)

TechnicalSkills list of all the possible combat skills.

View Source
var TechnologyUseSkills = map[string]Skill{
	"Technology Use: Communications":      {/* contains filtered or unexported fields */},
	"Technology Use: Electronic Security": {/* contains filtered or unexported fields */},
	"Technology Use: Electronics":         {/* contains filtered or unexported fields */},
	"Technology Use: Other":               {/* contains filtered or unexported fields */},
	"Technology Use: Sensor Systems":      {/* contains filtered or unexported fields */},
	"Technology Use: Surveillance":        {/* contains filtered or unexported fields */},
	"Technology Use: Traps":               {/* contains filtered or unexported fields */},
}

TechnologyUseSkills is a map of skills.

Functions

func ListAssignmentKeys

func ListAssignmentKeys() []string

ListAssignmentKeys lists all the assignment types.

func ListPersonalityTypeKeys

func ListPersonalityTypeKeys() []string

ListPersonalityTypeKeys lists all the personality types.

func ListProfessionKeys

func ListProfessionKeys() []string

ListProfessionKeys lists all the profession types.

Types

type Assignment

type Assignment struct {
	// contains filtered or unexported fields
}

Assignment is a list of skill names and a starting bonus.

type BaseCharacteristics

type BaseCharacteristics struct {
	Strength     int `json:"strength"`
	Constitution int `json:"constitution"`
	Size         int `json:"size"`
	Intelligence int `json:"intelligence"`
	Power        int `json:"power"`
	Dexterity    int `json:"dexterity"`
	Charisma     int `json:"charisma"`
	Education    int `json:"education"`
}

BaseCharacteristics represents character statistics.

type Character

type Character struct {
	Name            string                 `json:"name"`
	Gender          string                 `json:"gender"`
	Age             int                    `json:"age"`
	PersonalityType string                 `json:"personality_type"`
	Assignment      string                 `json:"assignment"`
	Profession      string                 `json:"profession"`
	Wealth          string                 `json:"wealth"`
	Base            BaseCharacteristics    `json:"base"`
	Derived         DerivedCharacteristics `json:"derived"`
	Skills          map[string]int         `json:"skills"`
	Seed            string                 `json:"seed"`
}

Character represents the primary features of the character.

func NewCharacter

func NewCharacter(opts Opts) (c Character, err error)

NewCharacter generates a SotDL character given a set of user options.

func (Character) Print

func (c Character) Print()

Print writes tab-delimited character details to STDOUT.

func (Character) ToJSON

func (c Character) ToJSON(pretty bool) string

ToJSON writes JSON character details to STDOUT.

type DerivedCharacteristics

type DerivedCharacteristics struct {
	DamageBonus     string `json:"damage_bonus"`
	HitPoints       int    `json:"hit_points"`
	MajorWoundLevel int    `json:"major_wound_level"`
	ExperienceBonus int    `json:"experience_bonus"`
	Move            int    `json:"move"`
	Sanity          int    `json:"sanity"`
	Effort          int    `json:"effort"`
	Endurance       int    `json:"endurance"`
	DamageMod       int    `json:"damage_mod"`
	Idea            int    `json:"idea"`
	Luck            int    `json:"luck"`
	Agility         int    `json:"agility"`
	Know            int    `json:"know"`
}

DerivedCharacteristics are derived from base characteristics.

type Die

type Die struct {
	// contains filtered or unexported fields
}

Die represents a single die of the form <code>D6+<pips>.

type Opts

type Opts struct {
	Name            string `docopt:"--name"`
	Age             int    `docopt:"--age"`
	Gender          string `docopt:"--gender"`
	PersonalityType string `docopt:"--personality"`
	Assignment      string `docopt:"--assignment"`
	Profession      string `docopt:"--profession"`
	SkillPoints     int    `docopt:"--skill-points"`
	AttributeBonus  string `docopt:"--attr-bonus"`
	LogLevel        string `docopt:"--log-level"`
	Seed            string `docopt:"--seed"`
	List            bool   `docopt:"list"`
}

Opts contains user input optionsr; used in CLI implementations.

type PersonalityType

type PersonalityType struct {
	// contains filtered or unexported fields
}

PersonalityType is a list of skill names and a starting bonus.

type Profession

type Profession struct {
	// contains filtered or unexported fields
}

Profession is a list of skills and an [offset, num] slice of optional skills from which num should be sampled.

type Skill

type Skill struct {
	// contains filtered or unexported fields
}

Skill is a single skill.

type Weapon

type Weapon struct {
	// TODO: Implement weapons.
	Name   string `json:"name"`
	Range  string `json:"range"`
	Damage Die    `json:"damage"`
}

Weapon represents properties of a given weapon.

Directories

Path Synopsis
cmd
tlfgen
Package main implements a simple CLI for tlfgen.
Package main implements a simple CLI for tlfgen.
tlfserv
Package main implements a simple web service for tlfgen.
Package main implements a simple web service for tlfgen.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL