Formatting and refactor
This commit is contained in:
parent
7d8bf5d857
commit
e07d859fe4
|
@ -1,6 +1,7 @@
|
||||||
module Main where
|
module Main where
|
||||||
|
|
||||||
import DND.Sheet.Parser
|
import DND.Sheet.Parser
|
||||||
|
import DND.Dice
|
||||||
|
|
||||||
testfile :: FilePath
|
testfile :: FilePath
|
||||||
testfile = "./example.json"
|
testfile = "./example.json"
|
||||||
|
@ -10,4 +11,4 @@ main = do
|
||||||
createExample testfile
|
createExample testfile
|
||||||
sheet <- parseSheet testfile
|
sheet <- parseSheet testfile
|
||||||
putStrLn $ "wrote example character named \"" ++ getName sheet ++ "\" to: " ++ testfile
|
putStrLn $ "wrote example character named \"" ++ getName sheet ++ "\" to: " ++ testfile
|
||||||
listSkillNames sheet
|
mapM_ putStrLn . getSkillNames $ sheet
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"preamble":{"charClass":"Fighter","charLevel":1,"charName":"Bob","charRace":"Elf","jackOfAllTrades":false},"spells":[{"atHighLevel":"Cast more of the sodding things","attackSave":"Dexterity","castingTime":"3 Minutes","components":["Verbal","Somatic"],"damageEffect":"Fire","description":"Shoots a huge testicle shaped fireball","duration":"Instant","range":50,"school":"Conjuration","spellLevel":3,"spellName":"Firetesticle"}],"stats":[{"proficient":false,"score":10,"skills":[{"skillMod":"None","skillName":"Athletics"}],"stat":"Strength"},{"proficient":false,"score":10,"skills":[{"skillMod":"None","skillName":"Acrobatics"},{"skillMod":"None","skillName":"Sleight of Hand"},{"skillMod":"None","skillName":"Stealth"}],"stat":"Dexterity"},{"proficient":false,"score":10,"skills":[],"stat":"Constitution"},{"proficient":false,"score":10,"skills":[{"skillMod":"None","skillName":"Arcana"},{"skillMod":"None","skillName":"History"},{"skillMod":"None","skillName":"Investigation"},{"skillMod":"None","skillName":"Nature"},{"skillMod":"None","skillName":"Religion"}],"stat":"Intelligence"},{"proficient":false,"score":10,"skills":[{"skillMod":"None","skillName":"Animal Handling"},{"skillMod":"None","skillName":"Insight"},{"skillMod":"None","skillName":"Medicine"},{"skillMod":"None","skillName":"Perception"},{"skillMod":"None","skillName":"Survival"}],"stat":"Wisdom"},{"proficient":false,"score":10,"skills":[{"skillMod":"None","skillName":"Deception"},{"skillMod":"None","skillName":"Intimidation"},{"skillMod":"None","skillName":"Performance"},{"skillMod":"None","skillName":"Persuasion"}],"stat":"Charisma"}],"trivia":{"background":"farmer","bonds":"yay","flaws":"all","ideals":"I me likey fun things","personalityTrait":"none","quirk":"idk"}}
|
{"feats":[{"featInfo":{"featDescription":"allows you to ride a 'fiets'","featName":"fiets"},"tag":"Roleplay"}],"preamble":{"charClass":"Fighter","charLevel":1,"charName":"Bob","charRace":"Elf","jackOfAllTrades":false},"skills":[{"relatedStat":"Strength","skillMod":"None","skillName":"Athletics"},{"relatedStat":"Dexterity","skillMod":"None","skillName":"Acrobatics"},{"relatedStat":"Dexterity","skillMod":"None","skillName":"Sleight of Hand"},{"relatedStat":"Dexterity","skillMod":"None","skillName":"Stealth"},{"relatedStat":"Intelligence","skillMod":"None","skillName":"Arcana"},{"relatedStat":"Intelligence","skillMod":"None","skillName":"History"},{"relatedStat":"Intelligence","skillMod":"None","skillName":"Investigation"},{"relatedStat":"Intelligence","skillMod":"None","skillName":"Nature"},{"relatedStat":"Intelligence","skillMod":"None","skillName":"Religion"},{"relatedStat":"Wisdom","skillMod":"None","skillName":"Animal Handling"},{"relatedStat":"Wisdom","skillMod":"None","skillName":"Insight"},{"relatedStat":"Wisdom","skillMod":"None","skillName":"Medicine"},{"relatedStat":"Wisdom","skillMod":"None","skillName":"Perception"},{"relatedStat":"Wisdom","skillMod":"None","skillName":"Survival"},{"relatedStat":"Charisma","skillMod":"None","skillName":"Deception"},{"relatedStat":"Charisma","skillMod":"None","skillName":"Intimidation"},{"relatedStat":"Charisma","skillMod":"None","skillName":"Performance"},{"relatedStat":"Charisma","skillMod":"None","skillName":"Persuasion"}],"spells":[{"atHighLevel":"Cast more of the sodding things","attackSave":"Dexterity","castingTime":"3 Minutes","components":["Verbal","Somatic"],"damageEffect":"Fire","description":"Shoots a huge testicle shaped fireball","duration":"Instant","range":50,"school":"Conjuration","spellLevel":3,"spellName":"Firetesticle"}],"stats":[{"proficient":false,"score":10,"statName":"Strength"},{"proficient":false,"score":10,"statName":"Dexterity"},{"proficient":false,"score":10,"statName":"Constitution"},{"proficient":false,"score":10,"statName":"Intelligence"},{"proficient":false,"score":10,"statName":"Wisdom"},{"proficient":false,"score":10,"statName":"Charisma"}],"trivia":{"background":"farmer","bonds":"yay","flaws":"all","ideals":"I me likey fun things","personalityTrait":"none","quirk":"idk"}}
|
|
@ -9,7 +9,13 @@ testStats :: [Stat]
|
||||||
testStats = [strStat, dexStat, conStat, intStat, wisStat, chaStat]
|
testStats = [strStat, dexStat, conStat, intStat, wisStat, chaStat]
|
||||||
|
|
||||||
testPreamble :: Preamble
|
testPreamble :: Preamble
|
||||||
testPreamble = Preamble 1 "Bob" "Elf" "Fighter" False
|
testPreamble = Preamble
|
||||||
|
{ charLevel = 5
|
||||||
|
, charName = "Bob"
|
||||||
|
, charRace = "Elf"
|
||||||
|
, charClass = "Fighter"
|
||||||
|
, jackOfAllTrades = False
|
||||||
|
}
|
||||||
|
|
||||||
testTrivia :: Trivia
|
testTrivia :: Trivia
|
||||||
testTrivia = Trivia "farmer" "none" "I me likey fun things" "yay" "all" "idk"
|
testTrivia = Trivia "farmer" "none" "I me likey fun things" "yay" "all" "idk"
|
||||||
|
@ -44,11 +50,11 @@ intSkills = [ Skill "Arcana" None "Intelligence"
|
||||||
]
|
]
|
||||||
|
|
||||||
wisStat :: Stat
|
wisStat :: Stat
|
||||||
wisStat = Stat "Wisdom" 10 False
|
wisStat = Stat "Wisdom" 20 False
|
||||||
|
|
||||||
wisSkills :: [Skill]
|
wisSkills :: [Skill]
|
||||||
wisSkills = [ Skill "Animal Handling" None "Wisdom"
|
wisSkills = [ Skill "Animal Handling" Proficient "Wisdom"
|
||||||
, Skill "Insight" None "Wisdom"
|
, Skill "Insight" Expertise "Wisdom"
|
||||||
, Skill "Medicine" None "Wisdom"
|
, Skill "Medicine" None "Wisdom"
|
||||||
, Skill "Perception" None "Wisdom"
|
, Skill "Perception" None "Wisdom"
|
||||||
, Skill "Survival" None "Wisdom"
|
, Skill "Survival" None "Wisdom"
|
||||||
|
|
|
@ -49,6 +49,7 @@ instance ToJSON SpellComponent
|
||||||
data ScoreMod = None
|
data ScoreMod = None
|
||||||
| Proficient
|
| Proficient
|
||||||
| Expertise
|
| Expertise
|
||||||
|
| Half
|
||||||
deriving (Show, Eq, Ord, Generic, Enum)
|
deriving (Show, Eq, Ord, Generic, Enum)
|
||||||
|
|
||||||
data Character = Character
|
data Character = Character
|
||||||
|
@ -78,14 +79,14 @@ data Trivia = Trivia
|
||||||
} deriving ( Show, Eq, Ord, Generic)
|
} deriving ( Show, Eq, Ord, Generic)
|
||||||
|
|
||||||
data Skill = Skill
|
data Skill = Skill
|
||||||
{ skillName :: String
|
{ skillName :: String
|
||||||
, skillMod :: ScoreMod
|
, skillMod :: ScoreMod
|
||||||
, relatedStat :: String
|
, skillStat :: String
|
||||||
} deriving ( Show, Eq, Ord, Generic)
|
} deriving ( Show, Eq, Ord, Generic)
|
||||||
|
|
||||||
data Stat = Stat
|
data Stat = Stat
|
||||||
{ statName :: String
|
{ statName :: String
|
||||||
, score :: Int
|
, statScore :: Int
|
||||||
, proficient :: Bool
|
, proficient :: Bool
|
||||||
} deriving ( Show, Eq, Ord, Generic)
|
} deriving ( Show, Eq, Ord, Generic)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue