attr

package
v0.0.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2019 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AttrIdxStrength  = 0
	AttrIdxIQ        = 1
	AttrIdxLuck      = 2
	AttrIdxSpeed     = 3
	AttrIdxAgility   = 4
	AttrIdxDexterity = 5
	AttrIdxCharisma  = 6
)
View Source
const (
	AttrClassIDAthlete int = iota
	AttrClassIDScholar
	AttrClassIDArtisan
	AttrClassIDCount
)

Variables

View Source
var AttrClasses = []AttrClass{
	AttrClassIDAthlete: AttrClass{
		Name: "Athlete",
		Weights: []float64{
			AttrIdxStrength:  6.0,
			AttrIdxIQ:        1.0,
			AttrIdxLuck:      1.0,
			AttrIdxSpeed:     3.0,
			AttrIdxAgility:   3.0,
			AttrIdxDexterity: 1.0,
			AttrIdxCharisma:  1.0,
		},
	},

	AttrClassIDScholar: AttrClass{
		Name: "Scholar",
		Weights: []float64{
			AttrIdxStrength:  1.0,
			AttrIdxIQ:        3.0,
			AttrIdxLuck:      1.0,
			AttrIdxSpeed:     1.0,
			AttrIdxAgility:   1.0,
			AttrIdxDexterity: 1.0,
			AttrIdxCharisma:  1.0,
		},
	},

	AttrClassIDArtisan: AttrClass{
		Name: "Artisan",
		Weights: []float64{
			AttrIdxStrength:  2.0,
			AttrIdxIQ:        1.0,
			AttrIdxLuck:      1.0,
			AttrIdxSpeed:     1.0,
			AttrIdxAgility:   2.0,
			AttrIdxDexterity: 4.0,
			AttrIdxCharisma:  1.0,
		},
	},
}
View Source
var AttrNames = []string{
	AttrIdxStrength:  "strength",
	AttrIdxIQ:        "iq",
	AttrIdxLuck:      "luck",
	AttrIdxSpeed:     "speed",
	AttrIdxAgility:   "agility",
	AttrIdxDexterity: "dexterity",
	AttrIdxCharisma:  "charisma",
}

Functions

This section is empty.

Types

type AttrClass

type AttrClass struct {
	Name    string
	Weights []float64 // 7 weights; one for each attribute.
}

type AttrParams

type AttrParams struct {
	Name  string
	Level int
	MinIQ int
	Cfg   npcdefs.NPCCfg
}

type AttrResult

type AttrResult struct {
	Class     AttrClass
	Strength  int
	IQ        int
	Luck      int
	Speed     int
	Agility   int
	Dexterity int
	Charisma  int
}

func CalcAttrs

func CalcAttrs(ap AttrParams) (*AttrResult, error)

CalcAttrs calculates an NPC's set of attributes.

func (*AttrResult) Ptrs

func (ar *AttrResult) Ptrs() []*int

func (*AttrResult) Replace

func (ar *AttrResult) Replace(ch *decode.Character)

Replace overwrites an NPC's attributes with the results of an attribute calculation.

func (*AttrResult) Text

func (ar *AttrResult) Text() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL