I feel like fixing this, gonna take a few days.
This commit is contained in:
parent
42cce3824c
commit
3eb0d72ede
87
character.go
87
character.go
@ -2,14 +2,59 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/antonholmquist/jason"
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var charmap map[string]*jason.Object
|
||||
type Character struct {
|
||||
irc string
|
||||
personal PersonalData
|
||||
equipment EquipmentData
|
||||
stats StatData
|
||||
wealth WealthData
|
||||
}
|
||||
|
||||
type PersonalData struct {
|
||||
name string
|
||||
lvl int
|
||||
race string
|
||||
xp int
|
||||
height int
|
||||
alignment string
|
||||
classes []string
|
||||
weight int
|
||||
sex string
|
||||
hp int
|
||||
ac int
|
||||
age int
|
||||
}
|
||||
|
||||
type EquipmentData struct {
|
||||
armour []string
|
||||
weapons []string
|
||||
items []string
|
||||
missiles []string
|
||||
}
|
||||
|
||||
type StatData struct {
|
||||
con int
|
||||
str int
|
||||
intl int
|
||||
cha int
|
||||
wis int
|
||||
dex int
|
||||
}
|
||||
|
||||
type WealthData struct {
|
||||
coins int
|
||||
other []string
|
||||
gems []string
|
||||
}
|
||||
|
||||
var charmap map[string]*Character
|
||||
|
||||
func importChar(nick string) bool {
|
||||
file, err := ioutil.ReadFile("json/" + nick + ".json")
|
||||
@ -18,10 +63,12 @@ func importChar(nick string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
char, _ := jason.NewObjectFromBytes(file)
|
||||
var char Character
|
||||
|
||||
json.Unmarshal(file, char)
|
||||
|
||||
charmap = map[string]*jason.Object{
|
||||
nick: char,
|
||||
char.irc: char,
|
||||
}
|
||||
|
||||
return true
|
||||
@ -32,18 +79,32 @@ func printChar(nick string, cat string, scat string, item string) string {
|
||||
return "does not exist"
|
||||
}
|
||||
|
||||
if scat == "nil" {
|
||||
test, _ := charmap[nick].GetString(cat, item)
|
||||
var fixedCat string
|
||||
|
||||
if len(test) == 0 {
|
||||
val, _ := charmap[nick].GetInt64(cat, item)
|
||||
return strconv.FormatInt(val, 10)
|
||||
} else {
|
||||
val, _ := charmap[nick].GetString(cat, item)
|
||||
return val
|
||||
|
||||
|
||||
switch (cat) {
|
||||
case "personal":
|
||||
fixedCat = "PersonalData"
|
||||
break
|
||||
case "equipment":
|
||||
fixedCat = "EquipmentData"
|
||||
break
|
||||
case "stats":
|
||||
fixedCat = "StatData"
|
||||
break
|
||||
case "wealth":
|
||||
fixedCat = "WealthData"
|
||||
break
|
||||
case "nil":
|
||||
fixedCat = "nil"
|
||||
break
|
||||
default:
|
||||
return "invalid category"
|
||||
}
|
||||
|
||||
return "does not exist"
|
||||
if scat == "nil" {
|
||||
return charmap[nick].fixedCat.
|
||||
} else {
|
||||
test, _ := charmap[nick].GetString(cat, scat, item)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user