mirror of
https://gitlab.com/EternalWanderer/sheet-parser.git
synced 2024-11-28 21:13:51 +01:00
Spell info and cleanup
- Removed save specific proficiency - Added "at high level" description string for spells
This commit is contained in:
parent
27cbb060be
commit
ea8cf0ff5f
8
APKBUILD
8
APKBUILD
|
@ -2,7 +2,7 @@
|
|||
# Maintainer: Marty Sluijtman <marty.wanderer@disroot.org>
|
||||
pkgname=sheet-parser
|
||||
pkgver=0.6
|
||||
pkgrel=0
|
||||
pkgrel=2
|
||||
pkgdesc="A little D&D character sheet parser written in go"
|
||||
url="https://gitlab.com/EternalWanderer/sheet-parser"
|
||||
arch="all"
|
||||
|
@ -28,7 +28,7 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
9477c9f16c8a1103cdefbe4bd6dccfaf383e8ba2ef39b8f0db222d9381f6e4ff3ac27aa32a607a7663c64ab870147f3095d47abd52e5f155b0884348dcb4a107 sheet-parser-0.6.tar.gz
|
||||
b901eb7ec27ba079224df700a6e6676e15ea5d24a712dadb76a6f7e7d1fde9c1c83ff0b3bfcdb762bb63bca2965b90af8b97e42a53b73154567bf98b9f21fdc5 zsh.completion
|
||||
3280db6458beeb6c7f10e29607d48c6973b940dd1bd1e90fdd3b40c1b55ac3855163837c841a6627fc95aba045795400ae955f7e30c4951ba8169efe0f2c1740 example.json
|
||||
80d8be4f0e6b0c29d5303607c2eeb7a78d7fadd4ffc2120df00cec39989cf2d33588afaa0cc0ddf779bc388d587e87e47972a90c236db00527b29db08712c4de sheet-parser-0.6.tar.gz
|
||||
9386512f6ece159cf7a7ae142560791a40c670fcea0d042849cb23f82abc185aeeec41a55a4311f7085c2435d7af29280991e82bc5829ef065814a92dc241871 zsh.completion
|
||||
517b15a2cf3cff229687047618e27b40735f239c06bfbf6b9d75b68bd7a82dfb9410ac3d29f93e0249bddf1a1b40aa2bbeb621323e9dfaf9de01cec5c243dce4 example.json
|
||||
"
|
||||
|
|
14
example.json
14
example.json
|
@ -15,12 +15,12 @@
|
|||
"isKurthog": false
|
||||
},
|
||||
"stats":[
|
||||
{"name":"strength", "score":20, "proficient":false, "saveProficient":false },
|
||||
{"name":"dexterity", "score":1, "proficient":false, "saveProficient":false },
|
||||
{"name":"constitution", "score":15, "proficient":false, "saveProficient":false },
|
||||
{"name":"intelligence", "score":10, "proficient":false, "saveProficient":false },
|
||||
{"name":"wisdom", "score":10, "proficient":false, "saveProficient":false },
|
||||
{"name":"charisma", "score":10, "proficient":false, "saveProficient":false }
|
||||
{"name":"strength", "score":20, "proficient":false},
|
||||
{"name":"dexterity", "score":1, "proficient":false},
|
||||
{"name":"constitution", "score":15, "proficient":false},
|
||||
{"name":"intelligence", "score":10, "proficient":false},
|
||||
{"name":"wisdom", "score":10, "proficient":false},
|
||||
{"name":"charisma", "score":10, "proficient":false}
|
||||
],
|
||||
"skills":[
|
||||
{"name":"athletics", "proficient":true, "expertise":false, "baseStat":"strength"},
|
||||
|
@ -44,7 +44,7 @@
|
|||
],
|
||||
"spells":[
|
||||
{"name":"Eldritch Blast", "level":0, "castingTime":"1 Action", "range": 120, "components":"v,s", "duration":"Instantaneous","attack_save":"Ranged", "damage_effect":"Force", "school":"Evocation", "description":"A beam of crackling energy streaks toward a creature within range. Make a ranged spell attack against the target. On a hit, the target takes 1d10 force damage."},
|
||||
{"name":"Absorb Elements", "level":1, "castingTime":"1 Reaction", "range": 0, "components":"s", "duration":"1 Round","attack_save":"None", "damage_effect":"The Absorbed effect", "school":"Abjuration", "description":"The spell captures some of the incoming energy, lessening its effect on you and storing it for your next melee attack. You have resistance to the triggering damage type until the start of your next turn. Also, the first time you hit with a melee attack on your next turn, the target takes an extra 1d6 damage of the triggering type, and the spell ends."}
|
||||
{"name":"Absorb Elements", "level":1, "castingTime":"1 Reaction", "range": 0, "components":"s", "duration":"1 Round","attack_save":"None", "damage_effect":"The Absorbed effect", "school":"Abjuration", "description":"The spell captures some of the incoming energy, lessening its effect on you and storing it for your next melee attack. You have resistance to the triggering damage type until the start of your next turn. Also, the first time you hit with a melee attack on your next turn, the target takes an extra 1d6 damage of the triggering type, and the spell ends.", "atHighLevel":"nothing, methinks"}
|
||||
],
|
||||
"feats":[
|
||||
{"name":"Boring", "description":"Due to being excessivly generic, Bob gains... something"},
|
||||
|
|
9
main.go
9
main.go
|
@ -287,7 +287,7 @@ func savingThrow(stat Stat) (int, int, error) {
|
|||
die := rollDice()
|
||||
plainDie := die
|
||||
|
||||
if stat.SaveProficient {
|
||||
if stat.Proficient {
|
||||
die += GetProficiency()
|
||||
}
|
||||
return die + GetModifier(stat), plainDie, statErrorCheck()
|
||||
|
@ -404,10 +404,15 @@ func listSpells(verbose bool) {
|
|||
fmt.Printf("Casting Time: %s\tRange: %dft\n", char.Spells[i].CastingTime, char.Spells[i].Range)
|
||||
fmt.Printf("Components: %s\t\tDuration: %s\n", char.Spells[i].Components, char.Spells[i].Duration)
|
||||
fmt.Printf("Attack/Save: %s\tDamage/Effect: %s\n", char.Spells[i].Attack_Save, char.Spells[i].Damage_Effect)
|
||||
fmt.Printf("School: %s\n", char.Spells[i].School)
|
||||
|
||||
if verbose {
|
||||
fmt.Printf("\n")
|
||||
fmt.Printf("%s\n", char.Spells[i].Description)
|
||||
fmt.Printf("Description: %s\n", char.Spells[i].Description)
|
||||
if len(char.Spells[i].AtHighLevel) != 0 {
|
||||
fmt.Printf("\n")
|
||||
fmt.Printf("Description: %s\n", char.Spells[i].AtHighLevel)
|
||||
}
|
||||
}
|
||||
// hack for string formatting
|
||||
if len(char.Spells) != (i + 1) {
|
||||
|
|
|
@ -33,10 +33,9 @@ type Skill struct {
|
|||
}
|
||||
|
||||
type Stat struct {
|
||||
Name string `json:"name"`
|
||||
Score int `json:"score"`
|
||||
Proficient bool `json:"proficient"`
|
||||
SaveProficient bool `json:"saveProficient"`
|
||||
Name string `json:"name"`
|
||||
Score int `json:"score"`
|
||||
Proficient bool `json:"proficient"`
|
||||
}
|
||||
|
||||
type Spell struct {
|
||||
|
@ -49,6 +48,8 @@ type Spell struct {
|
|||
Attack_Save string `json:"attack_save"`
|
||||
Damage_Effect string `json:"damage_effect"`
|
||||
Description string `json:"description"`
|
||||
School string `json:"school"`
|
||||
AtHighLevel string `json:"atHighLevel"`
|
||||
}
|
||||
|
||||
type Feat struct {
|
||||
|
|
Loading…
Reference in a new issue