eq2go/internal/groups/constants.go

133 lines
2.9 KiB
Go

package groups
// Group loot method constants
const (
LOOT_METHOD_LEADER_ONLY = 0
LOOT_METHOD_ROUND_ROBIN = 1
LOOT_METHOD_NEED_BEFORE_GREED = 2
LOOT_METHOD_LOTTO = 3
)
// Group loot rarity constants
const (
LOOT_RARITY_COMMON = 0
LOOT_RARITY_UNCOMMON = 1
LOOT_RARITY_RARE = 2
LOOT_RARITY_LEGENDARY = 3
LOOT_RARITY_FABLED = 4
)
// Group auto-split constants
const (
AUTO_SPLIT_DISABLED = 0
AUTO_SPLIT_ENABLED = 1
)
// Group lock method constants
const (
LOCK_METHOD_OPEN = 0
LOCK_METHOD_INVITE_ONLY = 1
LOCK_METHOD_CLOSED = 2
)
// Group auto-lock constants
const (
AUTO_LOCK_DISABLED = 0
AUTO_LOCK_ENABLED = 1
)
// Group auto-loot method constants
const (
AUTO_LOOT_DISABLED = 0
AUTO_LOOT_ENABLED = 1
)
// Default yell constants
const (
DEFAULT_YELL_DISABLED = 0
DEFAULT_YELL_ENABLED = 1
)
// Group size limits
const (
MAX_GROUP_SIZE = 6
MAX_RAID_GROUPS = 4
MAX_RAID_SIZE = MAX_GROUP_SIZE * MAX_RAID_GROUPS
)
// Group member position constants
const (
GROUP_POSITION_LEADER = 0
GROUP_POSITION_MEMBER_1 = 1
GROUP_POSITION_MEMBER_2 = 2
GROUP_POSITION_MEMBER_3 = 3
GROUP_POSITION_MEMBER_4 = 4
GROUP_POSITION_MEMBER_5 = 5
)
// Group invite error codes
const (
GROUP_INVITE_SUCCESS = 0
GROUP_INVITE_ALREADY_IN_GROUP = 1
GROUP_INVITE_ALREADY_HAS_INVITE = 2
GROUP_INVITE_GROUP_FULL = 3
GROUP_INVITE_DECLINED = 4
GROUP_INVITE_TARGET_NOT_FOUND = 5
GROUP_INVITE_SELF_INVITE = 6
GROUP_INVITE_PERMISSION_DENIED = 7
GROUP_INVITE_TARGET_BUSY = 8
)
// Group message types
const (
GROUP_MESSAGE_TYPE_SYSTEM = 0
GROUP_MESSAGE_TYPE_COMBAT = 1
GROUP_MESSAGE_TYPE_LOOT = 2
GROUP_MESSAGE_TYPE_QUEST = 3
GROUP_MESSAGE_TYPE_CHAT = 4
)
// Channel constants for group communication
const (
CHANNEL_GROUP_SAY = 11
CHANNEL_GROUP_CHAT = 31
CHANNEL_RAID_SAY = 35
)
// Group update flags
const (
GROUP_UPDATE_FLAG_MEMBER_LIST = 1 << 0
GROUP_UPDATE_FLAG_MEMBER_STATS = 1 << 1
GROUP_UPDATE_FLAG_MEMBER_ZONE = 1 << 2
GROUP_UPDATE_FLAG_LEADERSHIP = 1 << 3
GROUP_UPDATE_FLAG_OPTIONS = 1 << 4
GROUP_UPDATE_FLAG_RAID_INFO = 1 << 5
)
// Raid group constants
const (
RAID_GROUP_A = 0
RAID_GROUP_B = 1
RAID_GROUP_C = 2
RAID_GROUP_D = 3
)
// Group buffer sizes for messaging
const (
GROUP_MESSAGE_BUFFER_SIZE = 4096
GROUP_NAME_MAX_LENGTH = 64
GROUP_ZONE_NAME_MAX = 256
)
// Group timing constants (in milliseconds)
const (
GROUP_UPDATE_INTERVAL = 1000 // 1 second
GROUP_INVITE_TIMEOUT = 30000 // 30 seconds
GROUP_BUFF_UPDATE_INTERVAL = 5000 // 5 seconds
)
// Group validation constants
const (
MIN_GROUP_ID = 1
MAX_GROUP_ID = 2147483647 // Max int32
)