Documentation ¶
Index ¶
- Constants
- Variables
- type Archetype
- type Attribute
- type BaseSkillAttribute
- type Era
- type GameMode
- type Investigator
- func (i *Investigator) AssignOccupation()
- func (i *Investigator) AssignSkillPoints(assignablePoints int, skills []string)
- func (i *Investigator) CalculateOccupationSkillPoints() int
- func (i *Investigator) GetSkills()
- func (i *Investigator) InitializeAttributes()
- func (i *Investigator) PickRandomTalents()
- func (i *Investigator) SetBuildAndDMG()
- func (i *Investigator) SetHP()
- func (i *Investigator) SetMovement()
- func (i *Investigator) ToJSON() ([]byte, error)
- type Occupation
- type ProfilePic
- type Skill
- type SkillPointFormula
- type SpecialArchetypeRules
- type Talent
- type TalentType
Constants ¶
View Source
const ( AttrStrength = "Strength" AttrConstitution = "Constitution" AttrDexterity = "Dexterity" AttrIntelligence = "Intelligence" AttrSize = "Size" AttrPower = "Power" AttrAppearance = "Appearance" AttrEducation = "Education" AttrHitPoints = "HitPoints" AttrMagicPoints = "MagicPoints" AttrLuck = "Luck" AttrSanity = "Sanity" )
Variables ¶
View Source
var Archetypes = map[string]Archetype{ "Adventurer": { Name: "Adventurer", Skills: []string{ "Climb", "Diving", "Drive Auto", "First Aid", "Fighting (any)", "Firearms (any)", "Jump", "Language Other (any)", "Mechanical Repair", "Pilot (any)", "Ride", "Stealth", "Survival (any)", "Swim", }, BonusPoints: 100, CoreCharacteristic: []string{AttrDexterity, AttrAppearance}, SuggestedOccupations: []string{ "Actor", "Archaeologist", "Athlete", "Aviator", "Bank Robber", "Big Game Hunter", "Cat Burglar", "Dilettante", "Drifter", "Gambler", "Gangster", "Hobo", "Investigative Journalist", "Missionary", "Nurse", "Photographer", "Ranger", "Sailor", "Soldier", "Tribe Member", }, AmountOfTalents: 2, Description: "A life without adventure is not worth living. The world is a big place and there is much to experience and many chances for glory. Sitting behind a desk, working a job nine to five is a death sentence for such folk. The adventurer yearns for excitement, fun, and a challenge.", SuggestedTraits: "easily bored, tenacious, glory hunter, egotistical", }, "Beefcake": { Name: "Beefcake", Description: "Physical, muscular, and capable of handling themselves when " + "the chips are down. Born that way or has worked hard in the " + "pursuit of physical perfection. You won't find these guys and " + "gals in the library, but you might see their faces on a billboard. " + "Beefcakes come in two varieties: the caring, silent type, or the " + "brazen loud-mouth.", Skills: []string{ "Climb", "Fighting (Brawl)", "Intimidate", "Listen", "Mechanical Repair", "Psychology", "Swim", "Throw", }, BonusPoints: 100, CoreCharacteristic: []string{AttrStrength}, SuggestedOccupations: []string{ "Athlete", "Beat Cop", "Bounty Hunter", "Boxer", "Entertainer", "Gangster", "Hired Muscle", "Hobo", "Itinerant Worker", "Laborer", "Mechanic", "Sailor", "Soldier", "Street Punk", "Tribe Member", }, AmountOfTalents: 2, SuggestedTraits: "domineering, brash, quiet, soft-centered, slow to anger, quick to anger", }, "Cold Blooded": { Name: "Cold Blooded", Description: "A rationalist who is capable of just about anything. Cold " + "blooded types may follow some twisted moral code, however, " + "their view of humanity is cold and stark; you're either good " + "or bad. There are no shades of gray to navigate, just the harsh " + "realities of life and death. Such people make effective killers " + "as they have little self-doubt; they are ready to follow orders " + "to the letter, or pursue some personal agenda for revenge. Such " + "people may do anything to get the job done. They are rarely " + "spontaneous people; instead, they embody ruthlessness and " + "premeditation. Sometimes they will try to fool themselves " + "into believing they have a \"line\" they will not cross, when in " + "reality they are merciless and will go to any length to fulfill " + "what they see as their goal.", Skills: []string{ "Art/Craft (Acting)", "Disguise", "Fighting (any)", "Firearms (any)", "First Aid", "History", "Intimidate", "Law", "Listen", "Mechanical Repair", "Psychology", "Stealth", "Survival (any)", "Track", }, BonusPoints: 100, CoreCharacteristic: []string{AttrIntelligence}, SuggestedOccupations: []string{ "Bank Robber", "Beat Cop", "Bounty Hunter", "Cult Leader", "Drifter", "Exorcist", "Federal Agent", "Gangster", "Gun Moll", "Hired Muscle", "Hit Man", "Professor", "Reporter", "Soldier", "Street Punk", "Tribe Member", "Zealot", }, AmountOfTalents: 2, SuggestedTraits: "rationalist, sees everything in black and white, ruthless, callous, brutal, pitiless, hardnosed", }, "Dreamer": { Name: "Dreamer", Description: "Whether an idealist or visionary, the dreamer has a strong and " + "powerful mind. Such types tend to follow their own direction " + "in life. The dreamer looks beyond the mundane realities of " + "life, perhaps as a form of escapism or because they yearn for " + "\"what could be,\" wishing to right wrongs or improve the world " + "around them.", Skills: []string{ "Art/Craft (any)", "Charm", "History", "Language Other (any)", "Library Use", "Listen", "Natural World", "Occult", }, BonusPoints: 100, CoreCharacteristic: []string{AttrPower}, SuggestedOccupations: []string{ "Artist", "Author", "Bartender/Waitress", "Priest", "Cult Leader", "Dilettante", "Drifter", "Elected Official", "Gambler", "Gentleman/Lady", "Hobo", "Hooker", "Librarian", "Musician", "Nurse", "Occultist", "Professor", "Secretary", "Student", "Tribe Member", }, AmountOfTalents: 2, SuggestedTraits: "idealist, optimist, lazy, generous, quiet, thoughtful, always late", }, "Egghead": { Name: "Egghead", Description: "Everything can be broken down and analyzed in order to " + "understand how it works. Knowledge is a treasure and a " + "joy—a puzzle to explore. Where the scholar is bookish, the " + "egghead is practical and thoroughly enjoys getting their hands " + "dirty. Whether it's wires and gears, valves and computational " + "engines, or blood and bones, the egghead likes to figure out " + "what makes things tick. Perhaps an absent-minded genius " + "or a razor-sharp virtuoso, the egghead can easily become " + "absorbed in the problem before them, leaving them exposed " + "and unaware of what is actually happening around them. " + "Depending on the pulp level of your game, the egghead may " + "be able to invent all manner of gizmos, useful or otherwise, " + "see Weird Science on page 86 for details.", Skills: []string{ "Anthropology", "Appraise", "Computer Use", "Electrical Repair", "Language Other (any)", "Library Use", "Mechanical Repair", "Operate Heavy Machinery", "Science (any)", }, BonusPoints: 100, CoreCharacteristic: []string{AttrIntelligence, AttrEducation}, SuggestedOccupations: []string{ "Butler", "Cult Leader", "Doctor of Medicine", "Engineer", "Gentleman/Lady", "Investigative Journalist", "Mechanic", "Priest", "Scientist", }, AmountOfTalents: 2, SuggestedTraits: "knowledgeable, focused, tunnel vision", }, "Explorer": { Name: "Explorer", Description: "\"Don't fence me in,\" is the oft-heard cry of the explorer, who " + "wishes for a more authentic and fulfilling life. Strong willed, " + "virtually unshakeable, the explorer is ever questing for what " + "lies over the horizon. Possibly at one with nature, such types " + "are content to sleep where they fall, happily disdaining the " + "soft comforts of urban life. Whether hacking through jungles, " + "squeezing through caverns, or simply charting the hidden quarters " + "of the city, the explorer is often a misfit who grows restless and " + "annoyed by those they consider to be \"weak\" or \"cowards.\"", Skills: []string{ "Animal Handling", "Anthropology", "Archaeology", "Climb", "Fighting (Brawl)", "First Aid", "Jump", "Language Other (any)", "Natural World", "Navigate", "Pilot (any)", "Ride", "Stealth", "Survival (any)", "Track", }, BonusPoints: 100, CoreCharacteristic: []string{AttrDexterity, AttrPower}, SuggestedOccupations: []string{ "Agency Detective", "Archaeologist", "Big Game Hunter", "Bounty Hunter", "Dilettante", "Explorer", "Get-Away Driver", "Gun Moll", "Itinerant Worker", "Investigative Journalist", "Missionary", "Photographer", "Ranger", "Sailor", "Soldier", "Tribe Member", }, AmountOfTalents: 2, SuggestedTraits: "outcast, brave, misfit, loner, bullish, strong willed, leader, restless", }, "Femme Fatale": { Name: "Femme Fatale", Description: "A deadly woman or man whose outward beauty usually masks " + "a self-centered approach to life; one who is ever vigilant. By " + "constructing an alluring and glamorous persona the femme " + "fatale is akin to a spider. She draws others to her web in order " + "to possess what she desires or destroy her target. Brave and " + "cunning, the femme fatale is not shy of getting her hands dirty " + "and is a capable foe. Neither is she foolhardy, and she will wait " + "until her web is constructed before dealing out a sudden and " + "well-timed assault (be it mental or physical). A classic pulp " + "archetype, the femme fatale could as easily be termed homme " + "fatale if so desired.", Skills: []string{ "Art/Craft (Acting)", "Appraise", "Charm", "Disguise", "Drive Auto", "Fast Talk", "Fighting (Brawl)", "Firearms (Handgun)", "Listen", "Psychology", "Sleight of Hand", "Stealth", }, BonusPoints: 100, CoreCharacteristic: []string{AttrAppearance, AttrIntelligence}, SuggestedOccupations: []string{ "Actor", "Agency Detective", "Author", "Cat Burglar", "Confidence Trickster", "Dilettante", "Elected Official", "Entertainer", "Federal Agent", "Gangster", "Gun Moll", "Hit Man", "Hooker", "Investigative Journalist", "Musician", "Nurse", "Private Investigator", "Reporter", "Spy", "Zealot", }, AmountOfTalents: 2, SuggestedTraits: "alluring, glamorous, wicked, deceitful, cunning, focused, fraudulent", SpecialArchetypeRules: SpecialArchetypeRules{ RecommendedTalents: []string{"Smooth Talker"}, Notes: "Can be played as homme fatale instead of femme fatale", }, }, "Grease Monkey": { Name: "Grease Monkey", Description: "The grease monkey is practically minded, able to make " + "and repair all manner of things, be they useful inventions, " + "machines, engines, or other devices. Grease Monkeys may " + "be found tinkering under the hood of a car, or playing with the " + "telephone exchange wires. Such types have a \"can do\" attitude, " + "able to make the most of what they have at hand, using their " + "skills and experience to wow those around them. " + "Depending on the pulp level of your game, the grease " + "monkey may be able to \"jury-rig\" all manner of gizmos, useful " + "or otherwise; see Weird Science on page 86 for details.", Skills: []string{ "Appraise", "Art/Craft (any)", "Fighting (Brawl)", "Drive Auto", "Electrical Repair", "Locksmith", "Mechanical Repair", "Operate Heavy Machinery", "Spot Hidden", "Throw", }, BonusPoints: 100, CoreCharacteristic: []string{AttrIntelligence}, SuggestedOccupations: []string{ "Bartender/Waitress", "Butler", "Cat Burglar", "Chauffeur", "Drifter", "Engineer", "Get-Away Driver", "Hobo", "Itinerant Worker", "Mechanic", "Sailor", "Soldier", "Student", "Union Activist", }, AmountOfTalents: 2, SuggestedTraits: "practical, hands-on, hard working, oil-stained, capable", SpecialArchetypeRules: SpecialArchetypeRules{ RecommendedTalents: []string{"Weird Science"}, Notes: "Can create jury-rigged inventions depending on pulp level", }, }, "Hard Boiled": { Name: "Hard Boiled", Description: "Tough and streetwise, someone who is hard boiled understands " + "that to catch a thief you have to think like a thief. Usually, " + "such a person isn't above breaking the law in order to get the " + "job done. They'll use whatever tools are at their disposal and " + "may crack a few skulls in the process. Often, at their core, they " + "are honest souls who wish the world wasn't so despicable and " + "downright nasty; however, in order to fight for justice, they " + "can be just as nasty as they need to be.", Skills: []string{ "Art/Craft (any)", "Fighting (Brawl)", "Firearms (any)", "Drive Auto", "Fast Talk", "Intimidate", "Law", "Listen", "Locksmith", "Sleight of Hand", "Spot Hidden", "Stealth", "Throw", }, BonusPoints: 100, CoreCharacteristic: []string{AttrConstitution}, SuggestedOccupations: []string{ "Agency Detective", "Bank Robber", "Beat Cop", "Bounty Hunter", "Boxer", "Gangster", "Gun Moll", "Laborer", "Police Detective", "Private Investigator", "Ranger", "Union Activist", }, AmountOfTalents: 2, SuggestedTraits: "cynical, objective, practical, world-weary, corrupt, violent", }, "Harlequin": { Name: "Harlequin", Description: "While similar to the femme fatale, the harlequin does not " + "like to get their hands dirty (if they can help it). Usually " + "possessing a magnetic personality, although not necessarily " + "classically beautiful, such types find enjoyment in manipulating " + "others to do their bidding, and often hide their own agendas " + "behind outright lies or subtle deceptions. Sometimes they " + "are committed to a cause (personal or otherwise), or act like " + "agents of chaos, delighting in watching how people react to " + "the situations they construe.", Skills: []string{ "Art/Craft (Acting)", "Charm", "Climb", "Disguise", "Fast Talk", "Jump", "Language Other (any)", "Listen", "Persuade", "Psychology", "Sleight of Hand", "Stealth", }, BonusPoints: 100, CoreCharacteristic: []string{AttrAppearance}, SuggestedOccupations: []string{ "Actor", "Agency Detective", "Artist", "Bartender/Waitress", "Confidence Trickster", "Cult Leader", "Dilettante", "Elected Official", "Entertainer", "Gambler", "Gentleman/Lady", "Musician", "Reporter", "Secretary", "Union Activist", "Zealot", }, AmountOfTalents: 2, SuggestedTraits: "calculating, cunning, two-faced, manipulative, chaotic, wild, flamboyant", }, "Hunter": { Name: "Hunter", Description: "Maybe it's the thrill of the chase, the prize at the end, or just " + "because they have an innate drive to master their environment, " + "the hunter is relentless in pursuing their prey. Calm and " + "calculated, the hunter is willing to wait for the most opportune " + "moment, despising the reckless behavior of the unwary.", Skills: []string{ "Animal Handling", "Fighting (any)", "Firearms (Rifle and/or Handgun)", "First Aid", "Listen", "Natural World", "Navigate", "Spot Hidden", "Stealth", "Survival (any)", "Swim", "Track", }, BonusPoints: 100, CoreCharacteristic: []string{AttrIntelligence, AttrConstitution}, SuggestedOccupations: []string{ "Agency Detective", "Bank Robber", "Beat Cop", "Bounty Hunter", "Boxer", "Gangster", "Gun Moll", "Laborer", "Police Detective", "Private Investigator", "Ranger", "Union Activist", }, AmountOfTalents: 2, SuggestedTraits: "relentless, cunning, patient, driven, calm, quiet", }, "Mystic": { Name: "Mystic", Description: "A seeker of the hidden, explorer of the unseen realm; the " + "mystic quests for secrets and the fundamental truth of " + "existence. They may be book-learned academics, shamanistic " + "healers, circus diviners, or visionaries, but all pursue knowledge " + "and the experience of forces outside of the natural order, be it " + "for personal gain or the betterment of mankind. " + "With the Keeper's permission, a mystic is able to tap into " + "supernatural powers beyond the ken of average folk. Often " + "they have been persecuted and hunted, hiding their \"gifts\" " + "from those who would call them \"witch,\" while others are " + "considered charlatans and little more than sideshow freaks. " + "Such heroes must take the Psychic talent, allowing them to " + "invest skill points in one or more psychic skills (see Psychic " + "Powers, page 83).", Skills: []string{ "Art/Craft (any)", "Science (Astronomy)", "Disguise", "History", "Hypnosis", "Language Other (any)", "Natural World", "Occult", "Psychology", "Sleight of Hand", "Stealth", }, BonusPoints: 100, CoreCharacteristic: []string{AttrPower}, SuggestedOccupations: []string{ "Artist", "Cult Leader", "Dilettante", "Exorcist", "Entertainer", "Occultist", "Parapsychologist", "Tribe Member", }, AmountOfTalents: 2, SuggestedTraits: "collector, knowledgeable, responsible, calculating, opportunist, shrewd, studious, risk taker, wise", SpecialArchetypeRules: SpecialArchetypeRules{ RequiredTalents: []string{"Psychic"}, Notes: "Must invest skill points in chosen psychic skill(s)", }, }, "Rogue": { Name: "Rogue", Description: "The rogue disobeys rules of society, openly questioning the " + "status quo and mocking those in authority. They delight " + "in being non-conformists, acting on impulse and deriding " + "conventional behavior. Laws are there to be broken or skirted " + "around. Most rogues are not necessarily criminals or anarchists " + "intent on spreading chaos, but rather they find amusement " + "in pulling off stunts that will confound others. They are often " + "sophisticated, governed by their own unique moral codes, " + "loveable and careless.", Skills: []string{ "Appraise", "Art/Craft (any)", "Charm", "Disguise", "Fast Talk", "Law", "Locksmith", "Psychology", "Read Lips", "Spot Hidden", "Stealth", }, BonusPoints: 100, CoreCharacteristic: []string{AttrDexterity, AttrAppearance}, SuggestedOccupations: []string{ "Artist", "Bank Robber", "Cat Burglar", "Confidence Trickster", "Dilettante", "Entertainer", "Gambler", "Get-Away Driver", "Spy", "Student", }, AmountOfTalents: 2, SuggestedTraits: "charming, disarming, self-absorbed, crafty, shrewd, scheming", }, "Outsider": { Name: "Outsider", Description: "The outsider stands apart from the rest of society, either " + "figuratively or literally. Such people may be alien to the " + "environment in which they find themselves, perhaps from a " + "different country or culture, or they are part of the society but " + "find themselves at odds with it. The outsider is usually on some " + "form of journey, physically or spiritually, and must complete " + "their objective before they can return to, or at last feel part of, " + "the greater whole. Often the outsider will have distinct skills " + "or a different way of approaching things; utilizing forgotten, " + "secret, or alien knowledge.", Skills: []string{ "Art/Craft (any)", "Animal Handling", "Fighting (any)", "First Aid", "Intimidate", "Language Other (any)", "Listen", "Medicine", "Navigation", "Stealth", "Survival (any)", "Track", }, BonusPoints: 100, CoreCharacteristic: []string{AttrIntelligence, AttrConstitution}, SuggestedOccupations: []string{ "Artist", "Drifter", "Explorer", "Hired Muscle", "Itinerant Worker", "Laborer", "Nurse", "Occultist", "Ranger", "Tribe Member", }, AmountOfTalents: 2, SuggestedTraits: "cold, quiet, detached, indifferent, brutal", SpecialArchetypeRules: SpecialArchetypeRules{ Notes: "Character should have a defined objective or journey that sets them apart from society", }, }, "Bon Vivant": { Name: "Bon Vivant", Description: "A bon vivant is \"one who lives well,\" but that doesn't necessarily " + "mean they are rich. While many are accustomed to wealth, the " + "bon vivant is someone who could be said to enjoy life to the " + "fullest and damn the consequences! Why wait until tomorrow " + "when you can start living life today? Enjoying food and drink, " + "as well as other pleasurable pursuits, is the key to a lifestyle " + "where excess is the norm. Whether poor or rich, such a person " + "puts little thought to saving for a rainy day, preferring to be " + "the center of attention and a friend to all.", Skills: []string{ "Appraise", "Art/Craft (any)", "Charm", "Fast Talk", "Language Other (any)", "Listen", "Spot Hidden", "Psychology", }, BonusPoints: 100, CoreCharacteristic: []string{AttrSize}, SuggestedOccupations: []string{ "Actor", "Artist", "Butler", "Confidence Trickster", "Cult Leader", "Dilettante", "Elected Official", "Entertainer", "Gambler", "Gun Moll", "Gentleman/Lady", "Military Officer", "Musician", "Priest", "Professor", "Zealot", }, AmountOfTalents: 2, SuggestedTraits: "excessive, greedy, hoarder, collector, name-dropper, boastful, attention seeking, kind, generous", SpecialArchetypeRules: SpecialArchetypeRules{ Notes: "Character should demonstrate a lifestyle of excess regardless of wealth level", }, }, "Scholar": { Name: "Scholar", Description: "Uses intelligence and analysis to understand the world around " + "them. Normally quite happy sitting in the library with a book " + "(rather than actually facing the realities of life). A seeker of " + "knowledge, the scholar is not particularly action orientated; " + "however, when it comes to the crunch, he or she might be the " + "only person who knows what to do.", Skills: []string{ "Accounting", "Anthropology", "Cryptography", "History", "Language Other (any)", "Library Use", "Medicine", "Natural World", "Occult", "Science (any)", }, BonusPoints: 100, CoreCharacteristic: []string{AttrEducation}, SuggestedOccupations: []string{ "Archaeologist", "Author", "Doctor of Medicine", "Librarian", "Parapsychologist", "Professor", "Scientist", }, AmountOfTalents: 2, SuggestedTraits: "studious, bookish, superiority complex, condescending, loner, fussy, speaks too quickly, pensive", SpecialArchetypeRules: SpecialArchetypeRules{ Notes: "Always begins the game as a non-believer of the Mythos (see Chapter 9: Sanity, Call of Cthulhu Rulebook)", }, }, "Seeker": { Name: "Seeker", Description: "Puzzles and riddles enthrall the seeker, who uses intelligence " + "and reasoning to uncover mysteries and solve problems. They " + "look for and enjoy mental challenges, always focused on " + "finding the truth, no matter the consequences or tribulations " + "they must face.", Skills: []string{ "Accounting", "Appraise", "Disguise", "History", "Law", "Library Use", "Listen", "Occult", "Psychology", "Science (any)", "Spot Hidden", "Stealth", }, BonusPoints: 100, CoreCharacteristic: []string{AttrIntelligence}, SuggestedOccupations: []string{ "Agency Detective", "Author", "Beat Cop", "Federal Agent", "Investigative Journalist", "Occultist", "Parapsychologist", "Police Detective", "Reporter", "Spy", "Student", }, AmountOfTalents: 2, SuggestedTraits: "risk taker, tunnel vision, deceitful, boastful, driven", }, "Sidekick": { Name: "Sidekick", Description: "The sidekick embodies aspects of the steadfast, rogue, and " + "thrill seeker archetypes. Usually, a younger person who has " + "yet to live up to their full potential, someone who seeks to " + "learn from a mentor type figure, or those content not to be " + "the center of attention. Alternatively, the sidekick wishes to " + "belong, to be the hero but is overshadowed by their peers or " + "mentor. Subordinate sidekicks can at times struggle against " + "their (usually) self-imposed restraints, venturing off on flights " + "of fancy that mostly just get them into trouble. Sidekicks " + "usually possess a strong moral code of duty and responsibility.", Skills: []string{ "Animal Handling", "Climb", "Electrical Repair", "Fast Talk", "First Aid", "Jump", "Library Use", "Listen", "Navigate", "Photography", "Science (any)", "Stealth", "Track", }, BonusPoints: 100, CoreCharacteristic: []string{AttrDexterity, AttrConstitution}, SuggestedOccupations: []string{ "Author", "Bartender/Waitress", "Beat Cop", "Butler", "Chauffeur", "Doctor of Medicine", "Federal Agent", "Get-Away Driver", "Gun Moll", "Hobo", "Hooker", "Laborer", "Librarian", "Nurse", "Photographer", "Scientist", "Secretary", "Street Punk", "Student", "Tribe Member", }, AmountOfTalents: 2, SuggestedTraits: "helpful, resourceful, loyal, accident-prone, questioning, inquisitive, plucky", SpecialArchetypeRules: SpecialArchetypeRules{ Notes: "Character should have a defined relationship with a mentor or peer figure they look up to", }, }, "Steadfast": { Name: "Steadfast", Description: "Moral righteousness runs thickly in the blood of the steadfast. " + "They protect the weak, put the interests of the others before " + "themselves, and would willingly sacrifice their life for another's " + "safety. Whether they follow a clear spiritual or religious path " + "or some internal moral code, they do not stoop to the depths " + "of others, fighting with honor and acting as role models to " + "those around them. Whatever else they fight for, they also " + "fight for justice.", Skills: []string{ "Accounting", "Drive Auto", "Fighting (any)", "Firearms (Handgun)", "First Aid", "History", "Intimidate", "Law", "Natural World", "Navigate", "Persuade", "Psychology", "Ride", "Spot Hidden", "Survival (any)", }, BonusPoints: 100, CoreCharacteristic: []string{AttrConstitution}, SuggestedOccupations: []string{ "Athlete", "Beat Cop", "Butler", "Priest", "Chauffeur", "Doctor of Medicine", "Elected Official", "Exorcist", "Federal Agent", "Gentleman/Lady", "Missionary", "Nurse", "Police Detective", "Private Detective", "Reporter", "Sailor", "Soldier", "Tribe Member", }, AmountOfTalents: 2, SuggestedTraits: "unwavering, loyal, resolute, committed, dedicated, firm but fair, faithful", }, "Swashbuckler": { Name: "Swashbuckler", Description: "Passionate and idealistic souls who are always looking to rescue " + "damsels in distress. Gallant and heroic, the swashbuckler is " + "action-orientated and fights fairly, disdaining the use of " + "firearms as the tools of cowards. Most likely boastful, noisy, " + "and joyous, even when in the direst of situations. A romantic " + "at heart, a swashbuckler possesses a strong code of honor but " + "is prone to reckless behavior", Skills: []string{ "Art/Craft (any)", "Charm", "Climb", "Fighting (any)", "Jump", "Language Other (any)", "Mechanical Repair", "Navigate", "Pilot (any)", "Stealth", "Swim", "Throw", }, BonusPoints: 100, CoreCharacteristic: []string{AttrDexterity, AttrAppearance}, SuggestedOccupations: []string{ "Actor", "Artist", "Aviator", "Big Game Hunter", "Bounty Hunter", "Dilettante", "Entertainer", "Gentleman/Lady", "Investigative Journalist", "Military Officer", "Missionary", "Private Detective", "Ranger", "Sailor", "Soldier", "Spy", }, AmountOfTalents: 2, SuggestedTraits: "boastful, gallant, action-orientated, romantic, passionate, highly-strung", SpecialArchetypeRules: SpecialArchetypeRules{ Notes: "Disdains the use of firearms, preferring melee combat", }, }, "Thrill seeker": { Name: "Thrill Seeker", Description: "Some people are like moths to a flame. For them, the easy life " + "is no life at all, and they must seek out adventure and danger " + "in order to feel alive. The stakes are never high enough for " + "thrill seekers, who are always ready to bet large in order to " + "feel the rush of adrenaline pumping through their veins. Such " + "daredevils are drawn to high-octane sports and activities, and " + "for them, a mountain is a challenge to master. Foolhardy to a " + "fault, they cannot understand why no one else is prepared to " + "take the same risks as they do.", Skills: []string{ "Art/Craft (any)", "Charm", "Climb", "Diving", "Drive Auto", "Fast Talk", "Jump", "Mechanical Repair", "Navigate", "Pilot (any)", "Ride", "Stealth", "Survival (any)", "Swim", "Throw", }, BonusPoints: 100, CoreCharacteristic: []string{AttrDexterity, AttrPower}, SuggestedOccupations: []string{ "Actor", "Athlete", "Aviator", "Bank Robber", "Bounty Hunter", "Cat Burglar", "Dilettante", "Entertainer", "Explorer", "Gambler", "Gangster", "Get-Away Driver", "Gun Moll", "Gentleman/Lady", "Hooker", "Investigative Journalist", "Missionary", "Musician", "Occultist", "Parapsychologist", "Ranger", "Sailor", "Soldier", "Spy", "Union Activist", "Zealot", }, AmountOfTalents: 2, SuggestedTraits: "daredevil, risk taker, manic, exhibitionist, braggart, trouble maker", }, "Two-Fisted": { Name: "Two-Fisted", Description: "\"Live fast, die hard\" is the motto of the two-fisted. Such " + "individuals are storehouses of energy, strong, tough, and very " + "capable. Such types are inclined to resolve disputes with their " + "fists rather than words. Usually hard-drinking and hard-" + "talking, they like getting straight to the point and dislike pomp " + "and ceremony. They do not suffer fools gladly. The two-fisted " + "seem to live life in a hurry, quick to anger, contemptuous of " + "authority, and ready to play as dirty as the next guy.", Skills: []string{ "Drive Auto", "Fighting (Brawl)", "Firearms (any)", "Intimidate", "Listen", "Mechanical Repair", "Spot Hidden", "Swim", "Throw", }, BonusPoints: 100, CoreCharacteristic: []string{AttrStrength, AttrSize}, SuggestedOccupations: []string{ "Agency Detective", "Bank Robber", "Beat Cop", "Boxer", "Gangster", "Gun Moll", "Hired Muscle", "Hit Man", "Hooker", "Laborer", "Mechanic", "Nurse", "Police Detective", "Ranger", "Reporter", "Sailor", "Soldier", "Street Punk", "Tribe Member", "Union Activist", }, AmountOfTalents: 2, SuggestedTraits: "tough, capable, determined, quick to anger, violent, dirty, corrupt, underhand", }, }
View Source
var ArchetypesList = func() []string { keys := make([]string, 0, len(Archetypes)) for k := range Archetypes { keys = append(keys, k) } return keys }()
View Source
var Occupations = map[string]Occupation{ "Archaeologist": { Name: "Archaeologist", Skills: []string{ "Appraise", "Archaeology", "History", "Other Language (any)", "Library Use", "Spot Hidden", "Mechanical Repair", "Navigate or Science (e.g. chemistry, physics, geology, etc.)", }, SuggestedContacts: "patrons, museums, universities", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{10, 40}, }, "Artist": { Name: "Artist", Skills: []string{ "Art/Craft (any)", "History or Natural World", "Charm, Fast Talk, Intimidate, or Persuade", "Other Language", "Psychology", "Spot Hidden", }, SuggestedContacts: "art galleries, critics, wealthy patrons, the advertising industry", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrPower, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 50}, }, "Author": { Name: "Author", Skills: []string{ "Art (Literature)", "History", "Library Use", "Natural World or Occult", "Other Language", "Own Language", "Psychology", }, SuggestedContacts: "publishers, critics, historians, etc", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Aviator": { Name: "Aviator", Skills: []string{ "Accounting", "Electrical Repair", "Listen", "Mechanical Repair", "Navigate", "Pilot (Aircraft)", "Spot Hidden", }, SuggestedContacts: "old military contacts, other pilots, airfield mechanics, businessmen", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrDexterity, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{30, 60}, }, "Bank Robber": { Name: "Bank Robber", Skills: []string{ "Drive Auto", "Electrical or Mechanical Repair", "Fighting", "Firearms", "Intimidate", "Locksmith", "Operate Heavy Machinery", }, SuggestedContacts: "other gang members (current and retired), criminal freelancers, organized crime", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrStrength, Multiplier: 2}, {Name: AttrDexterity, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{5, 75}, }, "Bartender/Waitress": { Name: "Bartender/Waitress", Skills: []string{ "Accounting", "Charm, Fast Talk, Intimidate, or Persuade", "Fighting (Brawl)", "Listen", "Psychology", "Spot Hidden", }, SuggestedContacts: "regular customers, possibly organized crime", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrAppearance, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{8, 25}, }, "Beat Cop": { Name: "Beat Cop", Skills: []string{ "Fighting (Brawl)", "Firearms", "First Aid", "Charm, Fast Talk, Intimidate, or Persuade", "Law", "Psychology", "Spot Hidden", "Drive Automobile or Ride", }, SuggestedContacts: "law enforcement, local businesses and residents, street level crime, organized crime", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Big Game Hunter": { Name: "Big Game Hunter", Skills: []string{ "Firearms", "Listen or Spot Hidden", "Natural World", "Navigate", "Other Language", "Survival (any)", "Science (Biology or Botany)", "Stealth", "Track", }, SuggestedContacts: "foreign government officials, game wardens, past (usually wealthy) clients, black-market gangs and traders, zoo owners", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{20, 50}, }, "Bounty Hunter": { Name: "Bounty Hunter", Skills: []string{ "Drive Auto", "Mechanical or Electrical Repair", "Fighting or Firearms", "Fast Talk, Charm, Intimidate, or Persuade", "Law", "Psychology", "Track", "Stealth", }, SuggestedContacts: "bail bondsmen, local police, criminal informants", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Boxer/Wrestler": { Name: "Boxer/Wrestler", Skills: []string{ "Dodge", "Fighting (Brawl)", "Intimidate", "Jump", "Psychology", "Spot Hidden", }, SuggestedContacts: "sports promoters, journalists, organized crime, professional trainers", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 60}, }, "Butler": { Name: "Butler", Skills: []string{ "Accounting or Appraise", "Art/Craft (any, e.g. Cook, Tailor, Barber)", "First Aid", "Listen", "Other Language", "Psychology", "Spot Hidden", }, SuggestedContacts: "waiting staff of other households, local businesses, and household suppliers", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{9, 40}, }, "Cat Burglar": { Name: "Cat Burglar", Skills: []string{ "Appraise", "Climb", "Electrical or Mechanical Repair", "Listen", "Locksmith", "Sleight of Hand", "Stealth", "Spot Hidden", }, SuggestedContacts: "fences, other burglars", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrDexterity, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{5, 40}, }, "Chauffeur": { Name: "Chauffeur", Skills: []string{ "Drive Auto", "Charm, Fast Talk, Intimidate, or Persuade", "Listen", "Mechanical Repair", "Navigate", "Spot Hidden", }, SuggestedContacts: "successful business people (criminals included), political representatives", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrDexterity, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{10, 40}, }, "Confidence Trickster": { Name: "Confidence Trickster", Skills: []string{ "Appraise", "Art/Craft (Acting)", "Law or Other Language", "Listen", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", "Sleight of Hand", }, SuggestedContacts: "other confidence artists, freelance criminals", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrAppearance, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{10, 65}, }, "Criminal": { Name: "Criminal", Skills: []string{ "Art/Craft (any) or Disguise", "Appraise", "Charm, Fast Talk or Intimidate", "Fighting or Firearms", "Locksmith or Mechanical Repair", "Stealth", "Psychology", "Spot Hidden", }, SuggestedContacts: "other criminals, organized crime, law enforcement, street thugs, private detectives", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrAppearance, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{5, 65}, }, "Cult Leader": { Name: "Cult Leader", Skills: []string{ "Accounting", "Charm, Fast Talk, Intimidate, or Persuade", "Occult", "Psychology", "Spot Hidden", }, SuggestedContacts: "while the majority of followers will be \"regular\" people, the more charismatic the leader, the greater the possibility of celebrity followers, such as movie stars and rich widows", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrAppearance, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{30, 60}, }, "Dilettante": { Name: "Dilettante", Skills: []string{ "Art/Craft (Any)", "Firearms", "Other Language", "Ride", "Charm, Fast Talk, Intimidate, or Persuade", }, SuggestedContacts: "variable, but usually people of a similar background and tastes, fraternal organizations, bohemian circles, high society at large", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrAppearance, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{50, 99}, }, "Doctor of Medicine": { Name: "Doctor of Medicine", Skills: []string{ "First Aid", "Medicine", "Other Language (Latin)", "Psychology", "Science (Biology and Pharmacy)", }, SuggestedContacts: "other physicians, medical workers, patients, and ex-patients", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{30, 80}, }, "Drifter": { Name: "Drifter", Skills: []string{ "Climb", "Jump", "Listen", "Navigate", "Charm, Fast Talk, Intimidate, or Persuade", "Stealth", }, SuggestedContacts: "other hobos, a few friendly railroad guards, soft touches in numerous towns", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrAppearance, Multiplier: 2}, {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{0, 5}, }, "Elected Official": { Name: "Elected Official", Skills: []string{ "Charm", "History", "Intimidate", "Fast Talk", "Listen", "Own Language", "Persuade", "Psychology", }, SuggestedContacts: "political operatives, government, news media, business, foreign governments, possibly organized crime", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrAppearance, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{50, 90}, }, "Engineer": { Name: "Engineer", Skills: []string{ "Art/Craft (Technical Drawing)", "Electrical Repair", "Library Use", "Mechanical Repair", "Operate Heavy Machine", "Science (Chemistry and Physics)", }, SuggestedContacts: "business or military workers, local government, architects", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{30, 60}, }, "Entertainer": { Name: "Entertainer", Skills: []string{ "Art/Craft (e.g. Acting, Singer, Comedian, etc.)", "Disguise", "Charm, Fast Talk, Intimidate, or Persuade", "Listen", "Psychology", }, SuggestedContacts: "Vaudeville, theater, film industry, entertainment critics, organized crime, and television (for modern-day)", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrAppearance, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 70}, }, "Exorcist": { Name: "Exorcist", Skills: []string{ "Anthropology", "History", "Library Use", "Listen", "Occult", "Other Language", "Psychology", }, SuggestedContacts: "Religious organizations", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{25, 55}, }, "Explorer": { Name: "Explorer", Skills: []string{ "Climb or Swim", "Firearms", "History", "Jump", "Natural World", "Navigate", "Other Language", "Survival", }, SuggestedContacts: "major libraries, universities, museums, wealthy patrons, other explorers, publishers, foreign government officials, local tribespeople", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrAppearance, Multiplier: 2}, {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{55, 80}, }, "Federal Agent": { Name: "Federal Agent", Skills: []string{ "Drive Auto", "Fighting (Brawl)", "Firearms", "Law", "Persuade", "Stealth", "Spot Hidden", }, SuggestedContacts: "federal agencies, law enforcement, organized crime", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{20, 40}, }, "Gambler": { Name: "Gambler", Skills: []string{ "Accounting", "Art/Craft (Acting)", "Charm, Fast Talk, Intimidate, or Persuade", "Listen", "Psychology", "Sleight of Hand", "Spot Hidden", }, SuggestedContacts: "bookies, organized crime, street scene", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrAppearance, Multiplier: 2}, {Name: AttrDexterity, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{8, 50}, }, "Gangster, Boss": { Name: "Gangster, Boss", Skills: []string{ "Fighting", "Firearms", "Law", "Listen", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", "Spot Hidden", }, SuggestedContacts: "organized crime, street-level crime, police, city government, politicians, judges, unions, lawyers, businesses and residents of the same ethnic community", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrAppearance, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{60, 95}, }, "Gangster, Underling": { Name: "Gangster, Underling", Skills: []string{ "Drive Auto", "Fighting", "Firearms", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", }, SuggestedContacts: "street-level crime, police, businesses and residents of the same ethnic community", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 20}, }, "Laborer": { Name: "Laborer", Skills: []string{ "Drive Auto", "Electrical Repair", "Fighting", "First Aid", "Mechanical Repair", "Operate Heavy Machinery", "Throw", }, SuggestedContacts: "other workers and supervisors within their industry", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{5, 20}, }, "Librarian": { Name: "Librarian", Skills: []string{ "Accounting", "Library use", "Other Language", "Own Language", }, SuggestedContacts: "booksellers, community groups, specialist researchers", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{9, 35}, }, "Mechanic": { Name: "Mechanic", Skills: []string{ "Art/Craft (Carpentry, Welding, Plumbing, etc.)", "Climb", "Drive Auto", "Electrical Repair", "Mechanical Repair", "Operate Heavy Machinery", }, SuggestedContacts: "Union members, trade-relevant specialists", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{9, 40}, }, "Military Officer": { Name: "Military Officer", Skills: []string{ "Accounting", "Firearms", "Navigate", "First Aid", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", }, SuggestedContacts: "military, federal government", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{20, 70}, }, "Missionary": { Name: "Missionary", Skills: []string{ "Art/Craft (any)", "First Aid", "Mechanical Repair", "Medicine", "Natural World", "Charm, Fast Talk, Intimidate, or Persuade", }, SuggestedContacts: "church hierarchy, foreign officials", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, {Name: AttrAppearance, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{0, 30}, }, "Musician": { Name: "Musician", Skills: []string{ "Art/Craft (Instrument)", "Charm, Fast Talk, Intimidate, or Persuade", "Listen", "Psychology", }, SuggestedContacts: "club owners, musicians' union, organized crime, street-level criminals", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrAppearance, Multiplier: 2}, {Name: AttrDexterity, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Nurse": { Name: "Nurse", Skills: []string{ "First Aid", "Listen", "Medicine", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", "Science (Biology and Chemistry)", "Spot Hidden", }, SuggestedContacts: "hospital workers, physicians, community workers", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Occultist": { Name: "Occultist", Skills: []string{ "Anthropology", "History", "Library Use", "Charm, Fast Talk, Intimidate, or Persuade", "Occult", "Other Language", "Science (Astronomy)", }, SuggestedContacts: "libraries, occult societies or fraternities, other occultists", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{10, 80}, }, "Parapsychologist": { Name: "Parapsychologist", Skills: []string{ "Anthropology", "Art/Craft (Photography)", "History", "Library Use", "Occult", "Other Language", "Psychology", }, SuggestedContacts: "universities, parapsychological societies, clients", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Photographer": { Name: "Photographer", Skills: []string{ "Art/Craft (Photography)", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", "Science (Chemistry)", "Stealth", "Spot Hidden", }, SuggestedContacts: "advertising industry, local clients (including political organizations and newspapers)", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Police Detective": { Name: "Police Detective", Skills: []string{ "Art/Craft (Acting) or Disguise", "Firearms", "Law", "Listen", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", "Spot Hidden", }, SuggestedContacts: "law enforcement, street-level crime, coroner's office, judiciary, organized crime", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{20, 50}, }, "Priest": { Name: "Priest", Skills: []string{ "Accounting", "History", "Library Use", "Listen", "Other Language", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", }, SuggestedContacts: "church hierarchy, local congregations, community leaders", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{9, 60}, }, "Private Investigator": { Name: "Private Investigator", Skills: []string{ "Art/Craft (Photography)", "Disguise", "Law", "Library Use", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", "Spot Hidden", }, SuggestedContacts: "law enforcement, clients", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Professor": { Name: "Professor", Skills: []string{ "Library Use", "Other Language", "Own Language", "Psychology", }, SuggestedContacts: "scholars, universities, libraries", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{20, 70}, }, "Ranger": { Name: "Ranger", Skills: []string{ "Firearms", "First Aid", "Listen", "Natural World", "Navigate", "Spot Hidden", "Survival (any)", "Track", }, SuggestedContacts: "local people and native folk, traders", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{5, 20}, }, "Reporter": { Name: "Reporter", Skills: []string{ "Art/Craft (Acting)", "History", "Listen", "Own Language", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", "Stealth", "Spot Hidden", }, SuggestedContacts: "news and media industries, political organizations and government, business, law enforcement, street criminals, high and low society", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Sailor": { Name: "Sailor", Skills: []string{ "Electrical or Mechanical Repair", "Fighting", "Firearms", "First Aid", "Navigate", "Pilot (Boat)", "Survival (Sea)", "Swim", }, SuggestedContacts: "military, veterans' associations", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Scientist": { Name: "Scientist", Skills: []string{ "Computer Use or Library Use", "Other Language", "Own Language", "Charm, Fast Talk, Intimidate, or Persuade", "Spot Hidden", }, SuggestedContacts: "other scientists and academics, universities, their employers and former employers", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{9, 50}, }, "Secretary": { Name: "Secretary", Skills: []string{ "Accounting", "Art/Craft (Typing or Short Hand)", "Charm, Fast Talk, Intimidate, or Persuade", "Own Language", "Library Use or Computer Use", "Psychology", }, SuggestedContacts: "other office workers, senior executives in client firms", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrAppearance, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Soldier": { Name: "Soldier", Skills: []string{ "Climb or Swim", "Dodge", "Fighting", "Firearms", "Stealth", "Survival", }, SuggestedContacts: "military, veterans' associations", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{9, 30}, }, "Spy": { Name: "Spy", Skills: []string{ "Art/Craft (Acting) or Disguise", "Firearms", "Listen", "Other Language", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", "Sleight of Hand", "Stealth", }, SuggestedContacts: "generally only the person the spy reports to, other connections developed while undercover", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrAppearance, Multiplier: 2}, {Name: AttrDexterity, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{20, 60}, }, "Street Punk": { Name: "Street Punk", Skills: []string{ "Charm, Fast Talk, Intimidate, or Persuade", "Fighting", "Firearms", "Jump", "Sleight of Hand", "Stealth", "Throw", }, SuggestedContacts: "petty criminals, other punks, the local fence, maybe the local gangster, certainly the local police", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{3, 10}, }, "Student/Intern": { Name: "Student/Intern", Skills: []string{ "Language (Own or Other)", "Library Use", "Listen", }, SuggestedContacts: "academics and other students, while interns may also know business people", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{5, 10}, }, "Tribe Member": { Name: "Tribe Member", Skills: []string{ "Climb", "Fighting or Throw", "Listen", "Natural World", "Occult", "Spot Hidden", "Swim", "Survival (any)", }, SuggestedContacts: "fellow tribe members", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrDexterity, Multiplier: 2}, {Name: AttrStrength, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{0, 15}, }, "Union Activist": { Name: "Union Activist", Skills: []string{ "Accounting", "Charm, Fast Talk, Intimidate, or Persuade", "Fighting (Brawl)", "Law", "Listen", "Operate Heavy Machinery", "Psychology", }, SuggestedContacts: "other labor leaders and activists, political friends, possibly organized crime. In the 1920s, also socialists, communists, and subversive anarchists", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{5, 30}, }, "Yogi": { Name: "Yogi", Skills: []string{ "First Aid", "History", "Charm, Fast Talk, Intimidate, or Persuade", "Natural World", "Occult", "Other Language", }, SuggestedContacts: "tribespeople, occult or spiritual fraternities, wealthy patrons", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 4}, }, }, CreditRating: struct { Min int Max int }{6, 60}, }, "Zealot": { Name: "Zealot", Skills: []string{ "History", "Charm, Fast Talk, Intimidate, or Persuade", "Psychology", "Stealth", }, SuggestedContacts: "religious or fraternal groups, news media", SkillPoints: SkillPointFormula{ BaseAttributes: []BaseSkillAttribute{ {Name: AttrEducation, Multiplier: 2}, }, Options: []BaseSkillAttribute{ {Name: AttrAppearance, Multiplier: 2}, {Name: AttrPower, Multiplier: 2}, }, }, CreditRating: struct { Min int Max int }{0, 30}, }, }
View Source
var OccupationsList = func() []string { keys := make([]string, 0, len(Occupations)) for k := range Occupations { keys = append(keys, k) } return keys }()
View Source
var Skills = map[string]Skill{ "Accounting": { Name: "Accounting", Abbreviation: "Accounting", Default: 5, Value: 5, Era: []Era{Twenties, Modern}, Base: 0, }, "Anthropology": { Name: "Accounting", Abbreviation: "Accounting", Default: 1, Value: 1, Era: []Era{Twenties, Modern}, Base: 0, }, "Appraise": { Name: "Appraise", Abbreviation: "Appraise", Default: 5, Value: 5, Era: []Era{Twenties, Modern}, Base: 0, }, "Archaeology": { Name: "Archaeology", Abbreviation: "Archaeology", Default: 1, Value: 1, Era: []Era{Twenties, Modern}, Base: 0, }, "ArtCraft1": { Name: "ArtCraft", Abbreviation: "ArtCraft", Default: 5, Value: 5, Era: []Era{Twenties, Modern}, Base: 1, }, "Charm": { Name: "Charm", Abbreviation: "Charm", Default: 15, Value: 15, Era: []Era{Twenties, Modern}, Base: 0, }, "Climb": { Name: "Climb", Abbreviation: "Climb", Default: 20, Value: 20, Era: []Era{Twenties, Modern}, Base: 0, }, "Computer": { Name: "Computer Use", Abbreviation: "Computer Use", Default: 5, Value: 5, Era: []Era{Modern}, }, "Credit": { Name: "Credit Rating", Abbreviation: "Credit Rating", Default: 0, Value: 0, Era: []Era{Twenties, Modern}, Base: 0, }, "Cthulhu": { Name: "Cthulhu Mythos", Abbreviation: "Cthulhu Mythos", Default: 0, Value: 0, Era: []Era{Twenties, Modern}, Base: 0, }, "Disguise": { Name: "Disguise", Abbreviation: "Disguise", Default: 5, Value: 5, Era: []Era{Twenties, Modern}, Base: 0, }, "Drive": { Name: "Drive Auto", Abbreviation: "Drive Auto", Default: 20, Value: 20, Era: []Era{Twenties, Modern}, Base: 0, }, "ElecRepair": { Name: "Electrical Repair", Abbreviation: "Elec. Repair", Default: 10, Value: 10, Era: []Era{Twenties, Modern}, Base: 0, }, "Electronic": { Name: "Electronics", Abbreviation: "Electronics", Default: 1, Value: 1, Era: []Era{Modern}, }, "FastTalk": { Name: "Fast Talk", Abbreviation: "Fast Talk", Default: 5, Value: 5, Era: []Era{Twenties, Modern}, Base: 0, }, "Fighting": { Name: "Fighting (Brawl)", Abbreviation: "Fighting", Default: 25, Value: 25, Era: []Era{Twenties, Modern}, Base: 0, }, "Fighting (Speciality)": { Name: "Fighting (Speciality)", Abbreviation: "Fighting (Speciality)", Default: 25, Value: 25, Era: []Era{Twenties, Modern}, Base: 1, }, "Firearms (Other)": { Name: "Firearms (Other)", Abbreviation: "Firearms (Other)", Default: 1, Value: 1, Era: []Era{Twenties, Modern}, Base: 1, }, "FirearmsHandguns": { Name: "Firearms (Handgun)", Abbreviation: "Handgun", Default: 20, Value: 20, Era: []Era{Twenties, Modern}, Base: 0, }, "FirearmsRifles": { Name: "Firearms (Rifle/Shotgun)", Abbreviation: "Rifle/Shotgun", Default: 25, Value: 25, Era: []Era{Twenties, Modern}, Base: 0, }, "FirstAid": { Name: "First Aid", Abbreviation: "First Aid", Default: 30, Value: 30, Era: []Era{Twenties, Modern}, Base: 0, }, "History": { Name: "History", Abbreviation: "History", Default: 5, Value: 5, Era: []Era{Twenties, Modern}, Base: 0, }, "Intimidate": { Name: "Intimidate", Abbreviation: "Intimidate", Default: 15, Value: 15, Era: []Era{Twenties, Modern}, Base: 0, }, "Jump": { Name: "Jump", Abbreviation: "Jump", Default: 20, Value: 20, Era: []Era{Twenties, Modern}, Base: 0, }, "Language(Other)": { Name: "Language(Other)", Abbreviation: "Language(Other)", Default: 5, Value: 5, Era: []Era{Twenties, Modern}, Base: 1, }, "Law": { Name: "Law", Abbreviation: "Law", Default: 5, Value: 5, Era: []Era{Twenties, Modern}, Base: 0, }, "Library": { Name: "Library Use", Abbreviation: "Library Use", Default: 20, Value: 20, Era: []Era{Twenties, Modern}, Base: 0, }, "Listen": { Name: "Listen", Abbreviation: "Listen", Default: 20, Value: 20, Era: []Era{Twenties, Modern}, Base: 0, }, "Locksmith": { Name: "Locksmith", Abbreviation: "Locksmith", Default: 1, Value: 1, Era: []Era{Twenties, Modern}, Base: 0, }, "MechRepair": { Name: "Mechanical Repair", Abbreviation: "Mech. Repair", Default: 10, Value: 10, Era: []Era{Twenties, Modern}, Base: 0, }, "Medicine": { Name: "Medicine", Abbreviation: "Medicine", Default: 1, Value: 1, Era: []Era{Twenties, Modern}, Base: 0, }, "NaturalWorld": { Name: "Natural World", Abbreviation: "Natural World", Default: 10, Value: 10, Era: []Era{Twenties, Modern}, Base: 0, }, "Occult": { Name: "Occult", Abbreviation: "Occult", Default: 5, Value: 5, Era: []Era{Twenties, Modern}, Base: 0, }, "Persuade": { Name: "Persuade", Abbreviation: "Persuade", Default: 10, Value: 10, Era: []Era{Twenties, Modern}, Base: 0, }, "Pilot": { Name: "Pilot(Machine)", Abbreviation: "Pilot(Machine)", Default: 1, Value: 1, Era: []Era{Twenties, Modern}, Base: 1, }, "Psychoanalysis": { Name: "Psychoanalysis", Abbreviation: "Psychoanalysis", Default: 1, Value: 1, Era: []Era{Twenties, Modern}, Base: 0, }, "Psyschology": { Name: "Psychology", Abbreviation: "Psychology", Default: 10, Value: 10, Era: []Era{Twenties, Modern}, Base: 0, }, "Ride": { Name: "Ride", Abbreviation: "Ride", Default: 5, Value: 5, Era: []Era{Twenties, Modern}, Base: 0, }, "Science": { Name: "Science(Base)", Abbreviation: "Science", Default: 1, Value: 1, Era: []Era{Twenties, Modern}, Base: 1, }, "Sleight": { Name: "Sleight of Hand", Abbreviation: "Sleight", Default: 10, Value: 10, Era: []Era{Twenties, Modern}, Base: 0, }, "SpotHidden": { Name: "Spot Hidden", Abbreviation: "Spot Hidden", Default: 25, Value: 25, Era: []Era{Twenties, Modern}, Base: 0, }, "Stealth": { Name: "Stealth", Abbreviation: "Stealth", Default: 20, Value: 20, Era: []Era{Twenties, Modern}, Base: 0, }, "Survival": { Name: "Survival(Biome)", Abbreviation: "Survival(Biome)", Default: 10, Value: 10, Era: []Era{Twenties, Modern}, Base: 1, }, "Swim": { Name: "Swim", Abbreviation: "Swim", Default: 20, Value: 20, Era: []Era{Twenties, Modern}, Base: 0, }, "Throw": { Name: "Throw", Abbreviation: "Throw", Default: 20, Value: 20, Era: []Era{Twenties, Modern}, Base: 0, }, "Track": { Name: "Track", Abbreviation: "Track", Default: 10, Value: 10, Era: []Era{Twenties, Modern}, Base: 0, }, "Navigate": { Name: "Navigate", Abbreviation: "Navigate", Default: 10, Value: 10, Era: []Era{Twenties, Modern}, Base: 0, }, }
the weird skill key names are so they match the pdf form fields.
View Source
var SkillsToFormName = map[string]string{
"Accounting": "Accounting",
"Appraise": "Appraise",
"Archaeology": "Archaeology",
"ArtCraft": "ArtCraft1",
"Charm": "Charm",
"Climb": "Climb",
"Computer Use": "Computer",
"Credit Rating": "Credit",
"Cthulhu Mythos": "Cthulhu",
"Disguise": "Disguise",
"Drive Auto": "Drive",
"Electrical Repair": "ElecRepair",
"Electronics": "Electronic",
"Fast Talk": "FastTalk",
"Fighting (Brawl)": "Fighting",
"Fighting (Speciality)": "Fighting (Speciality)",
"Firearms (Other)": "Firearms (Other)",
"Firearms (Handgun)": "FirearmsHandguns",
"Firearms (Rifle/Shotgun)": "FirearmsRifles",
"First Aid": "FirstAid",
"History": "History",
"Intimidate": "Intimidate",
"Jump": "Jump",
"Language(Other)": "Language(Other)",
"Law": "Law",
"Library Use": "Library",
"Listen": "Listen",
"Locksmith": "Locksmith",
"Mechanical Repair": "MechRepair",
"Medicine": "Medicine",
"Natural World": "NaturalWorld",
"Occult": "Occult",
"Persuade": "Persuade",
"Pilot(Machine)": "Pilot",
"Psychoanalysis": "Psychoanalysis",
"Psychology": "Psyschology",
"Ride": "Ride",
"Science(Base)": "Science",
"Sleight of Hand": "Sleight",
"Spot Hidden": "SpotHidden",
"Stealth": "Stealth",
"Survival(Biome)": "Survival",
"Swim": "Swim",
"Throw": "Throw",
"Track": "Track",
"Navigate": "Navigate",
}
View Source
var Talents = map[string]Talent{ "Keen Vision": { Name: "Keen Vision", Description: "Gain a bonus die to Spot Hidden Rolls", Type: Physical, }, "Quick Healer": { Name: "Quick Healer", Description: "Natural healing is increased to +3 hit points per day", Type: Physical, }, "Night Vision": { Name: "Keen Vision", Description: "In darkness, reduce the difficulty level of Spot Hidden rolls and ignore penalty die " + "for shooting in the dark", Type: Physical, }, "Endurance": { Name: "Endurance", Description: "Gain a bonus die when making CON rolls (including to determine MOV rate for chases)", Type: Physical, }, "Power Lifter": { Name: "Power Lifter", Description: "Gain a bonus die when making STR rolls to lift objects or people", Type: Physical, }, "Iron Liver": { Name: "Iron Liver", Description: "May spend 5 Luck to avoid the effects of drinking excessive amounts of alcohol" + " (negating penalty applied to skill rolls)", Type: Physical, }, "Stout Constitution": { Name: "Stout Constitution", Description: "May spend 10 Luck to reduce poison or disease damage and effect by half.", Type: Physical, }, "Tough Guy": { Name: "Tough Guy", Description: "Soaks up damage, may spend 10 Luck points to shrug off up to 5 hit points worth" + " of damage taken in one combat round.", Type: Physical, }, "Keen Hearing": { Name: "Keen Hearing", Description: "Gain a bonus die to Listen rolls", Type: Physical, }, "Smooth Talker": { Name: "Smooth Talker", Description: "Gain a bonus die to Charm Rolls", Type: Physical, }, "Hardened": { Name: "Hardened", Description: "Ignores Sanity point loss from attacking other humans, viewing horrific injuries, or the deceased", Type: Mental, }, "Resilient": { Name: "Resilient", Description: "May spend Luck points to shrug-off points of Sanity loss, on a one-for-one basis", Type: Mental, }, "Strong Willed": { Name: "Strong Willed", Description: "Gains a bonus die when making POW rolls", Type: Mental, }, "Quick Study": { Name: "Quick Study", Description: "Halve the time required for Initial and Full Reading of Mythos tomes, as well as other books", Type: Mental, }, "Linguist": { Name: "Linguist", Description: "Able to determine what language is being spoken (or what is written); gains a bonus die to Language rolls", Type: Mental, }, "Arcane Insight": { Name: "Arcane Insight", Description: "Halve the time required to learn spells and gains bonus die to spell casting rolls", Type: Mental, }, "Photographic Memory": { Name: "Photographic Memory", Description: "Can remember many details; gains a bonus die when making Know rolls", Type: Mental, }, "Lore": { Name: "Lore", Description: "Has knowledge of a lore specialization skill (e.g. Dream Lore, Vampire Lore, Werewolf Lore, etc.). Note that occupational and/or personal interest skill points should be invested in this skill", Type: Mental, }, "Psychic Power": { Name: "Psychic Power", Description: "May choose one psychic power (Clairvoyance, Divination, Medium, Psychometry, or Telekinesis). Note that occupational and/or personal interest skill points should be invested in this skill", Type: Mental, }, "Sharp Witted": { Name: "Sharp Witted", Description: "Able to collate facts quickly; gain a bonus die when making Intelligence (but not Idea) rolls", Type: Mental, }, "Alert": { Name: "Alert", Description: "Never surprised in combat", Type: Combat, }, "Heavy Hitter": { Name: "Heavy Hitter", Description: "May spend 10 Luck points to add an additional damage die when dealing out melee combat (die type depends on the weapon being used, e.g. 1D3 for unarmed combat, 1D6 for a sword, etc.)", Type: Combat, }, "Fast Load": { Name: "Fast Load", Description: "Choose a Firearm specialism; ignore penalty die for loading and firing in the same round", Type: Combat, }, "Nimble": { Name: "Nimble", Description: "Does not lose next action when \"diving for cover\" versus firearms", Type: Combat, }, "Beady Eye": { Name: "Beady Eye", Description: "Does not suffer penalty die when \"aiming\" at a small target (Build -2), and may also fire into melee without a penalty die", Type: Combat, }, "Outmaneuver": { Name: "Outmaneuver", Description: "Character is considered to have one point higher Build when initiating a combat maneuver (e.g. Build 1 becomes Build 2 when comparing their Build to the target in a maneuver, reducing the likelihood of suffering a penalty on their Fighting roll)", Type: Combat, }, "Rapid Attack": { Name: "Rapid Attack", Description: "May spend 10 Luck points to gain one further melee attack in a single combat round", Type: Combat, }, "Fleet Footed": { Name: "Fleet Footed", Description: "May spend 10 Luck to avoid being \"outnumbered\" in melee combat for one combat encounter", Type: Combat, }, "Quick Draw": { Name: "Quick Draw", Description: "Does not need to have their firearm \"readied\" to gain +50 DEX when determining position in the DEX order for combat", Type: Combat, }, "Rapid Fire": { Name: "Rapid Fire", Description: "Ignores penalty die for multiple handgun shots", Type: Combat, }, "Scary": { Name: "Scary", Description: "Reduces difficulty by one level or gains bonus die (at the Keeper's discretion) to Intimidate rolls", Type: Miscellaneous, }, "Gadget": { Name: "Gadget", Description: "Starts game with one weird science gadget (see Weird Science, page 86)", Type: Miscellaneous, }, "Lucky": { Name: "Lucky", Description: "Regains an additional +1D10 Luck points when Luck Recovery rolls are made", Type: Miscellaneous, }, "Mythos Knowledge": { Name: "Mythos Knowledge", Description: "Begins the game with a Cthulhu Mythos Skill of 10 points", Type: Miscellaneous, }, "Weird Science": { Name: "Weird Science", Description: "May build and repair weird science devices (see Weird Science, page 86)", Type: Miscellaneous, }, "Shadow": { Name: "Shadow", Description: "Reduces difficulty by one level or gains bonus die (at the Keeper's discretion) to Stealth rolls, and if currently unseen is able to make two surprise attacks before their location is discovered", Type: Miscellaneous, }, "Handy": { Name: "Handy", Description: "Reduces difficulty by one level or gains bonus die (at the Keeper's discretion) when making Electrical Repair, Mechanical Repair, and Operate Heavy Machinery rolls", Type: Miscellaneous, }, "Animal Companion": { Name: "Animal Companion", Description: "Starts game with a faithful animal companion (e.g. dog, cat, parrot) and gains a bonus die when making Animal Handling rolls", Type: Miscellaneous, }, "Master of Disguise": { Name: "Master of Disguise", Description: "May spend 10 Luck points to gain a bonus die to Disguise or Art/Craft (Acting) rolls; includes ventriloquism (able to throw voice over long distances so it appears that the sound is emanating from somewhere other than the hero). Note that if someone is trying to detect the disguise their Spot Hidden or Psychology roll's difficulty is raised to Hard", Type: Miscellaneous, }, "Resourceful": { Name: "Resourceful", Description: "Always seems to have what they need to hand; may spend 10 Luck points (rather than make Luck roll) to find a certain useful piece of equipment (e.g. a flashlight, length of rope, a weapon, etc.) in their current location", Type: Miscellaneous, }, }
Functions ¶
This section is empty.
Types ¶
type Archetype ¶
type Archetype struct { Name string `json:"name"` Skills []string `json:"-"` BonusPoints int `json:"-"` CoreCharacteristic []string `json:"-"` SuggestedOccupations []string `json:"-"` AmountOfTalents int `json:"-"` Description string `json:"description"` SuggestedTraits string `json:"-"` SpecialArchetypeRules SpecialArchetypeRules `json:"-"` }
func PickRandomArchetype ¶
func PickRandomArchetype() *Archetype
type Attribute ¶
type Attribute struct { Name string `json:"-"` StartingValue int `json:"-"` Value int `json:"value"` MaxValue int `json:"-"` }
func (*Attribute) Initialize ¶
type BaseSkillAttribute ¶
type Investigator ¶
type Investigator struct { Era Era `json:"-"` GameMode GameMode `json:"-"` Name string `json:"Investigators_Name"` Residence string `json:"Residence"` Birthplace string `json:"Birthplace"` Age int `json:"Age"` ProfilePic ProfilePic `json:"Portrait"` Occupation *Occupation `json:"Occupation"` Archetype *Archetype `json:"Archetype"` Insane bool `json:"insane"` TemporaryInsane bool `json:"TempInsanity_Chk Off"` IndefiniteInsane bool `json:"IndefInsanity_Chk"` MajorWound bool `json:"MajorWound_Chk"` Unconscious bool `json:"Unconscious_Chk"` Dying bool `json:"Dying_Chk"` Attributes map[string]Attribute `json:"attributes"` Skills map[string]Skill `json:"Skill"` Move int `json:"MOV"` Build string `json:"Build"` DamageBonus string `json:"DamageBonus"` Talents []Talent `json:"Pulp-Talents"` }
func NewInvestigator ¶
func NewInvestigator(mode GameMode) *Investigator
func (*Investigator) AssignOccupation ¶
func (i *Investigator) AssignOccupation()
func (*Investigator) AssignSkillPoints ¶
func (i *Investigator) AssignSkillPoints(assignablePoints int, skills []string)
func (*Investigator) CalculateOccupationSkillPoints ¶
func (i *Investigator) CalculateOccupationSkillPoints() int
func (*Investigator) GetSkills ¶
func (i *Investigator) GetSkills()
func (*Investigator) InitializeAttributes ¶
func (i *Investigator) InitializeAttributes()
func (*Investigator) PickRandomTalents ¶
func (i *Investigator) PickRandomTalents()
func (*Investigator) SetBuildAndDMG ¶
func (i *Investigator) SetBuildAndDMG()
func (*Investigator) SetHP ¶
func (i *Investigator) SetHP()
func (*Investigator) SetMovement ¶
func (i *Investigator) SetMovement()
func (*Investigator) ToJSON ¶
func (i *Investigator) ToJSON() ([]byte, error)
type Occupation ¶
type Occupation struct { Name string `json:"name"` Skills []string `json:"-"` SuggestedContacts string `json:"-"` SkillPoints SkillPointFormula `json:"-"` CreditRating struct { Min int Max int } `json:"-"` }
func (*Occupation) String ¶
func (o *Occupation) String() string
type ProfilePic ¶
func (*ProfilePic) String ¶
func (pp *ProfilePic) String() string
type Skill ¶
type SkillPointFormula ¶
type SkillPointFormula struct { BaseAttributes []BaseSkillAttribute // For handling multiple base attributes Options []BaseSkillAttribute // Optional OR cases }
type SpecialArchetypeRules ¶
type Talent ¶
type Talent struct { Name string `json:"name"` Description string `json:"description"` Type TalentType `json:"-"` }
type TalentType ¶
type TalentType int
const ( Physical TalentType = iota Mental Combat Miscellaneous )
Click to show internal directories.
Click to hide internal directories.