This repository has been archived on 2022-10-02. You can view files and clone it, but cannot push or open issues or pull requests.
dcbot-old/cron/ennoblements.go

43 lines
1.2 KiB
Go

package cron
import (
"github.com/tribalwarshelp/dcbot/utils"
shared_models "github.com/tribalwarshelp/shared/models"
)
type ennoblements []*shared_models.Ennoblement
func (e ennoblements) getLastEnnoblement() *shared_models.Ennoblement {
length := len(e)
if length <= 0 {
return nil
}
return e[length-1]
}
func (e ennoblements) getLostVillagesByTribe(tribeID int) ennoblements {
filtered := ennoblements{}
for _, ennoblement := range e {
if (!utils.IsPlayerTribeNil(ennoblement.NewOwner) && ennoblement.NewOwner.Tribe.ID == tribeID) ||
utils.IsPlayerTribeNil(ennoblement.OldOwner) ||
ennoblement.OldOwner.Tribe.ID != tribeID {
continue
}
filtered = append(filtered, ennoblement)
}
return filtered
}
func (e ennoblements) getConqueredVillagesByTribe(tribeID int, showInternals bool) ennoblements {
filtered := ennoblements{}
for _, ennoblement := range e {
if utils.IsPlayerTribeNil(ennoblement.NewOwner) ||
ennoblement.NewOwner.Tribe.ID != tribeID ||
(!showInternals && !utils.IsPlayerTribeNil(ennoblement.OldOwner) && ennoblement.OldOwner.Tribe.ID == tribeID) {
continue
}
filtered = append(filtered, ennoblement)
}
return filtered
}