chat

package
v0.0.0-...-382259f Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2021 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

package chat contains packets relating to the in-game chatbox feature.

Index

Constants

View Source
const (
	LANG_UNIVERSAL   = 0
	LANG_ORCISH      = 1
	LANG_DARNASSIAN  = 2
	LANG_TAURAHE     = 3
	LANG_DWARVISH    = 6
	LANG_COMMON      = 7
	LANG_DEMONIC     = 8
	LANG_TITAN       = 9
	LANG_THALASSIAN  = 10
	LANG_DRACONIC    = 11
	LANG_KALIMAG     = 12
	LANG_GNOMISH     = 13
	LANG_TROLL       = 14
	LANG_GUTTERSPEAK = 33
	LANG_ADDON       = 0xFFFFFFFF

	TAG_NONE = 0
	TAG_AFK  = 1
	TAG_DND  = 2
	TAG_GM   = 3
)
View Source
const (
	MsgAddon = iota
	MsgSay
	MsgParty
	MsgRaid
	MsgGuild
	MsgOfficer
	MsgYell
	MsgWhisper
	MsgWhisperForeign
	MsgWhisperInform
	MsgEmote
	MsgTextEmote
	MsgSystem
	MsgCreatureSay
	MsgCreatureYell
	MsgCreatureWhisper
	MsgCreatureEmote
	MsgChannel
	MsgChannelJoin
	MsgChannelLeave
	MsgChannelList
	MsgChannelNotice
	MsgChannelNoticeUser
	MsgAFK
	MsgDND
	MsgIgnored
	MsgSkill
	MsgLoot
	MsgMoney
	MsgOpening
	MsgBGSystemNeutral
	MsgBGSystemBlueTeam
	MsgBGSystemRedTeam
	MsgRaidLeader
	MsgRaidWarning
	MsgRaidBossWhisper
	MsgRaidBossEmote
	MsgBattleground
	MsgBattlegroundLeader
	MsgCreatureParty
	MsgTradeSkills
	MsgPetInfo
	MsgCombatMiscInfo
	MsgCombatXPGain
	MsgCombatHonorGain
	MsgCombatFactionGain
	MsgFiltered
	MsgRestricted
	MsgBNet
	MsgAchievement
	MsgGuildAchievement
	MsgArenaPoints
	MsgPartyLeader
)

Variables

View Source
var MsgTypeDescriptors = map[vsn.Build]map[MsgType]uint32{
	vsn.Alpha: {
		MsgSay:               0x00,
		MsgParty:             0x01,
		MsgGuild:             0x02,
		MsgOfficer:           0x03,
		MsgYell:              0x04,
		MsgWhisper:           0x05,
		MsgWhisperInform:     0x06,
		MsgEmote:             0x07,
		MsgTextEmote:         0x08,
		MsgSystem:            0x09,
		MsgCreatureSay:       0x0A,
		MsgCreatureYell:      0x0B,
		MsgCreatureEmote:     0x0C,
		MsgChannel:           0x0D,
		MsgChannelJoin:       0x0E,
		MsgChannelLeave:      0xF,
		MsgChannelList:       0x10,
		MsgChannelNotice:     0x11,
		MsgChannelNoticeUser: 0x12,
		MsgAFK:               0x13,
		MsgDND:               0x14,
		MsgIgnored:           0x16,
		MsgSkill:             0x17,
		MsgLoot:              0x18,
	},

	vsn.V1_12_1: {
		MsgAddon:              0xFFFFFFFF,
		MsgSay:                0x00,
		MsgParty:              0x01,
		MsgRaid:               0x02,
		MsgGuild:              0x03,
		MsgOfficer:            0x04,
		MsgYell:               0x05,
		MsgWhisper:            0x06,
		MsgWhisperInform:      0x07,
		MsgEmote:              0x08,
		MsgTextEmote:          0x09,
		MsgSystem:             0x0A,
		MsgCreatureSay:        0x0B,
		MsgCreatureYell:       0x0C,
		MsgCreatureEmote:      0x0D,
		MsgChannel:            0x0E,
		MsgChannelJoin:        0x0F,
		MsgChannelLeave:       0x10,
		MsgChannelList:        0x11,
		MsgChannelNotice:      0x12,
		MsgChannelNoticeUser:  0x13,
		MsgAFK:                0x14,
		MsgDND:                0x15,
		MsgIgnored:            0x16,
		MsgSkill:              0x17,
		MsgLoot:               0x18,
		MsgCreatureWhisper:    0x1A,
		MsgBGSystemNeutral:    0x52,
		MsgBGSystemBlueTeam:   0x53,
		MsgBGSystemRedTeam:    0x54,
		MsgRaidLeader:         0x57,
		MsgRaidWarning:        0x58,
		MsgRaidBossWhisper:    0x59,
		MsgRaidBossEmote:      0x5A,
		MsgBattleground:       0x5C,
		MsgBattlegroundLeader: 0x5D,
	},

	vsn.V2_4_3: {
		MsgAddon:              0xFFFFFFFF,
		MsgSystem:             0x00,
		MsgSay:                0x01,
		MsgParty:              0x02,
		MsgRaid:               0x03,
		MsgGuild:              0x04,
		MsgOfficer:            0x05,
		MsgYell:               0x06,
		MsgWhisper:            0x07,
		MsgWhisperForeign:     0x08,
		MsgWhisperInform:      0x09,
		MsgEmote:              0x0A,
		MsgTextEmote:          0x0B,
		MsgCreatureSay:        0x0C,
		MsgCreatureParty:      0x0D,
		MsgCreatureYell:       0x0E,
		MsgCreatureWhisper:    0x0F,
		MsgCreatureEmote:      0x10,
		MsgChannel:            0x11,
		MsgChannelJoin:        0x12,
		MsgChannelLeave:       0x13,
		MsgChannelList:        0x14,
		MsgChannelNotice:      0x15,
		MsgChannelNoticeUser:  0x16,
		MsgAFK:                0x17,
		MsgDND:                0x18,
		MsgIgnored:            0x19,
		MsgSkill:              0x1A,
		MsgLoot:               0x1B,
		MsgMoney:              0x1C,
		MsgOpening:            0x1D,
		MsgTradeSkills:        0x1E,
		MsgPetInfo:            0x1F,
		MsgCombatMiscInfo:     0x20,
		MsgCombatXPGain:       0x21,
		MsgCombatHonorGain:    0x22,
		MsgCombatFactionGain:  0x23,
		MsgBGSystemNeutral:    0x24,
		MsgBGSystemBlueTeam:   0x25,
		MsgBGSystemRedTeam:    0x26,
		MsgRaidLeader:         0x27,
		MsgRaidWarning:        0x28,
		MsgRaidBossEmote:      0x29,
		MsgRaidBossWhisper:    0x2A,
		MsgFiltered:           0x2B,
		MsgBattleground:       0x2C,
		MsgBattlegroundLeader: 0x2D,
		MsgRestricted:         0x2E,
	},

	vsn.V3_3_5a: {
		MsgAddon:              0xFFFFFFFF,
		MsgSystem:             0x00,
		MsgSay:                0x01,
		MsgParty:              0x02,
		MsgRaid:               0x03,
		MsgGuild:              0x04,
		MsgOfficer:            0x05,
		MsgYell:               0x06,
		MsgWhisper:            0x07,
		MsgWhisperForeign:     0x08,
		MsgWhisperInform:      0x09,
		MsgEmote:              0x0A,
		MsgTextEmote:          0x0B,
		MsgCreatureSay:        0x0C,
		MsgCreatureParty:      0x0D,
		MsgCreatureYell:       0x0E,
		MsgCreatureWhisper:    0x0F,
		MsgCreatureEmote:      0x10,
		MsgChannel:            0x11,
		MsgChannelJoin:        0x12,
		MsgChannelLeave:       0x13,
		MsgChannelList:        0x14,
		MsgChannelNotice:      0x15,
		MsgChannelNoticeUser:  0x16,
		MsgAFK:                0x17,
		MsgDND:                0x18,
		MsgIgnored:            0x19,
		MsgSkill:              0x1A,
		MsgLoot:               0x1B,
		MsgMoney:              0x1C,
		MsgOpening:            0x1D,
		MsgTradeSkills:        0x1E,
		MsgPetInfo:            0x1F,
		MsgCombatMiscInfo:     0x20,
		MsgCombatXPGain:       0x21,
		MsgCombatHonorGain:    0x22,
		MsgCombatFactionGain:  0x23,
		MsgBGSystemNeutral:    0x24,
		MsgBGSystemBlueTeam:   0x25,
		MsgBGSystemRedTeam:    0x26,
		MsgRaidLeader:         0x27,
		MsgRaidWarning:        0x28,
		MsgRaidBossEmote:      0x29,
		MsgRaidBossWhisper:    0x2A,
		MsgFiltered:           0x2B,
		MsgBattleground:       0x2C,
		MsgBattlegroundLeader: 0x2D,
		MsgRestricted:         0x2E,
		MsgBNet:               0x2F,
		MsgAchievement:        0x30,
		MsgGuildAchievement:   0x31,
		MsgArenaPoints:        0x32,
		MsgPartyLeader:        0x33,
	},
}

Functions

func ConvertMsgType

func ConvertMsgType(build vsn.Build, value MsgType) (uint32, error)

func DecodeChatString

func DecodeChatString(build vsn.Build, in *etc.Buffer) string

func EncodeChatString

func EncodeChatString(build vsn.Build, out *etc.Buffer, str string)

Types

type HyperlinkData

type HyperlinkData struct {
	Type   string
	Fields []string
}

func (HyperlinkData) String

func (h HyperlinkData) String() string

type Markup

type Markup struct {
	Type MarkupType
	Text string
	Data MarkupData
}

func ParseMarkup

func ParseMarkup(s string) (*Markup, error)

func (*Markup) ExtractHyperlinkData

func (m *Markup) ExtractHyperlinkData() (HyperlinkData, error)

func (*Markup) String

func (m *Markup) String() string

type MarkupData

type MarkupData interface {
	String() string
}

type MarkupType

type MarkupType uint8
const (
	Color     MarkupType = 'c'
	Hyperlink MarkupType = 'H'
)

type Message

type Message struct {
	Type        MsgType
	Language    uint32
	ChannelName string
	PlayerRank  uint32
	Name        string
	SenderGUID  guid.GUID
	TargetGUID  guid.GUID
	TargetName  string
	Body        string
	Tag         uint8
}

func UnmarshalClientMessage

func UnmarshalClientMessage(build vsn.Build, input []byte) (*Message, error)

func UnmarshalMessage

func UnmarshalMessage(build vsn.Build, input []byte) (*Message, error)

func (*Message) Packet

func (cm *Message) Packet(build vsn.Build) *packet.WorldPacket

type MsgType

type MsgType uint8

func ResolveMsgType

func ResolveMsgType(build vsn.Build, code uint32) (MsgType, error)

Jump to

Keyboard shortcuts

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