Support for proficiency-like modifiers

This commit is contained in:
Nox Sluijtman 2022-08-28 16:03:07 +02:00
parent 537da340d2
commit 4290aaf865
3 changed files with 15 additions and 6 deletions

View file

@ -4,7 +4,9 @@
"name": "Bob",
"race": "Human",
"class": "Fighter",
"background": "Generic"
"background": "Generic",
"reliableTalent": false,
"jackOfAllTrades": false
},
"stats":[
{"statName":"strength", "score":20, "proficient":false },

View file

@ -250,6 +250,9 @@ func savingThrow(stat Stat) (int, int, error) {
func skillCheck(skill Skill) (int, int, error) {
die := rollDice()
if char.Misc.ReliableTalent && skill.Proficient && die < 10 {
die = 10
}
planeDie := die
die += getModifier(getStat(skill.BaseStat))
@ -259,6 +262,8 @@ func skillCheck(skill Skill) (int, int, error) {
die += getProficiency() * 2
case skill.Proficient:
die += getProficiency()
case !skill.Proficient && char.Misc.JackOfAllTrades:
die += (getProficiency() / 2)
}
return die, planeDie, skillErrorCheck()
}

View file

@ -7,11 +7,13 @@ type Character struct {
}
type Misc struct {
Level int `json:"level"`
Name string `json:"name"`
Race string `json:"race"`
Class string `json:"class"`
Background string `json:"background"`
Level int `json:"level"`
Name string `json:"name"`
Race string `json:"race"`
Class string `json:"class"`
Background string `json:"background"`
ReliableTalent bool `json:"reliableTalent"`
JackOfAllTrades bool `json:"jackOfAllTrades"`
}
type Skill struct {
SkillName string `json:"skillName"`