feat: expose undead/demon/beast helper directly in Monster instead of npc package for convenience

This commit is contained in:
Genqila
2025-12-28 04:32:46 +07:00
parent 918a5f3d32
commit b194bcc737
3 changed files with 20 additions and 40 deletions

View File

@@ -109,26 +109,6 @@ func MonStatsFlagsForID(id ID) (MonStatsFlags, bool) {
flags, ok := MonStatsFlagsByID[id]
return flags, ok
}
func IsUndead(id ID) bool {
flags, ok := MonStatsFlagsForID(id)
return ok && (flags.IsLUndead || flags.IsHUndead)
}
func IsDemon(id ID) bool {
flags, ok := MonStatsFlagsForID(id)
return ok && flags.IsDemon
}
func IsBeast(id ID) bool {
flags, ok := MonStatsFlagsForID(id)
return ok && !flags.IsLUndead && !flags.IsHUndead && !flags.IsDemon
}
func IsUndeadOrDemon(id ID) bool {
flags, ok := MonStatsFlagsForID(id)
return ok && (flags.IsLUndead || flags.IsHUndead || flags.IsDemon)
}
`
const templateEntrances = `// Code generated by cmd/txttocode. DO NOT EDIT.

View File

@@ -203,3 +203,23 @@ func (m Monster) IsEscapingType() bool {
}
return false
}
func (m Monster) IsUndead() bool {
flags, ok := npc.MonStatsFlagsForID(m.Name)
return ok && (flags.IsLUndead || flags.IsHUndead)
}
func (m Monster) IsDemon() bool {
flags, ok := npc.MonStatsFlagsForID(m.Name)
return ok && flags.IsDemon
}
func (m Monster) IsBeast() bool {
flags, ok := npc.MonStatsFlagsForID(m.Name)
return ok && !flags.IsLUndead && !flags.IsHUndead && !flags.IsDemon
}
func (m Monster) IsUndeadOrDemon() bool {
flags, ok := npc.MonStatsFlagsForID(m.Name)
return ok && (flags.IsLUndead || flags.IsHUndead || flags.IsDemon)
}

View File

@@ -771,23 +771,3 @@ func MonStatsFlagsForID(id ID) (MonStatsFlags, bool) {
flags, ok := MonStatsFlagsByID[id]
return flags, ok
}
func IsUndead(id ID) bool {
flags, ok := MonStatsFlagsForID(id)
return ok && (flags.IsLUndead || flags.IsHUndead)
}
func IsDemon(id ID) bool {
flags, ok := MonStatsFlagsForID(id)
return ok && flags.IsDemon
}
func IsBeast(id ID) bool {
flags, ok := MonStatsFlagsForID(id)
return ok && !flags.IsLUndead && !flags.IsHUndead && !flags.IsDemon
}
func IsUndeadOrDemon(id ID) bool {
flags, ok := MonStatsFlagsForID(id)
return ok && (flags.IsLUndead || flags.IsHUndead || flags.IsDemon)
}