catbase/plugins/velouremon/player.go

37 lines
800 B
Go
Raw Normal View History

2019-07-07 01:56:26 +00:00
package velouremon
import (
"fmt"
"strings"
"github.com/velour/catbase/bot/user"
)
type Player struct {
ID int64 `db:"id"`
ChatID string `db:"chatid"`
Name string `db:"name"`
Health int `db:"health"`
Experience int `db:"experience"`
Creatures []*Creature
}
func (vp *VelouremonPlugin) getOrAddPlayer(u *user.User) (*Player, error) {
var player *Player
for _, p := range vp.players {
if p.ChatID == u.ID {
return player, nil
}
}
return vp.addPlayer(u)
}
func (p *Player) string() string {
2019-07-08 00:28:06 +00:00
message := fmt.Sprintf("%s: %d HP, %d XP\n", p.Name, p.Health, p.Experience)
2019-07-07 01:56:26 +00:00
for _, creature := range p.Creatures {
message += "\t" + strings.ReplaceAll(creature.string(), "\n", "\n\t")
message = strings.TrimSuffix(message, "\t")
}
return message
}