Skip to content

Commit

Permalink
object: Add true damage type.
Browse files Browse the repository at this point in the history
  • Loading branch information
dennwc committed Dec 3, 2023
1 parent a744398 commit 89ddbb0
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
17 changes: 15 additions & 2 deletions object/damage.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ var goDamageTypeNames = []string{
func ParseDamageType(name string) (DamageType, error) {
s := strings.ToUpper(name)
s = strings.TrimPrefix(s, "DAMAGE_")
if s == "TRUE" {
return DamageTrue, nil
}
for i, v := range DamageTypeNames {
if v == s {
return DamageType(i), nil
Expand All @@ -48,10 +51,11 @@ func ParseDamageType(name string) (DamageType, error) {
return 0, fmt.Errorf("invalid damage name: %q", name)
}

type DamageType uint32
type DamageType int32

const (
DamageBlade = DamageType(iota)
DamageTrue = DamageType(iota - 1)
DamageBlade
DamageFlame
DamageCrush
DamageImpale
Expand All @@ -72,20 +76,29 @@ const (
)

func (v DamageType) String() string {
if v == DamageTrue {
return "DAMAGE_TRUE"
}
if int(v) < len(DamageTypeNames) {
return "DAMAGE_" + DamageTypeNames[v]
}
return "DAMAGE_" + strconv.Itoa(int(v))
}

func (v DamageType) GoString() string {
if v == DamageTrue {
return "DamageTrue"
}
if int(v) < len(goDamageTypeNames) {
return goDamageTypeNames[v]
}
return "Damage(" + strconv.Itoa(int(v)) + ")"
}

func (v DamageType) MarshalJSON() ([]byte, error) {
if v == DamageTrue {
return json.Marshal("DAMAGE_TRUE")
}
if int(v) < len(DamageTypeNames) {
return json.Marshal("DAMAGE_" + DamageTypeNames[v])
}
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 89ddbb0

Please sign in to comment.