pangya

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2023 License: Apache-2.0, BSD-3-Clause, ISC Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var RankExperience = map[Rank]int{
	RookieF:         30,
	RookieE:         40,
	RookieD:         50,
	RookieC:         60,
	RookieB:         70,
	RookieA:         140,
	BeginnerE:       105,
	BeginnerD:       125,
	BeginnerC:       145,
	BeginnerB:       165,
	BeginnerA:       330,
	JuniorE:         248,
	JuniorD:         278,
	JuniorC:         308,
	JuniorB:         338,
	JuniorA:         675,
	SeniorE:         506,
	SeniorD:         546,
	SeniorC:         586,
	SeniorB:         626,
	SeniorA:         1253,
	AmateurE:        1002,
	AmateurD:        1052,
	AmateurC:        1102,
	AmateurB:        1152,
	AmateurA:        2304,
	SemiProE:        1843,
	SemiProD:        1903,
	SemiProC:        1963,
	SemiProB:        2023,
	SemiProA:        4046,
	ProE:            3237,
	ProD:            3307,
	ProC:            3377,
	ProB:            3447,
	ProA:            6894,
	NationalProE:    5515,
	NationalProD:    5595,
	NationalProC:    5675,
	NationalProB:    5755,
	NationalProA:    11511,
	WorldProE:       8058,
	WorldProD:       8148,
	WorldProC:       8238,
	WorldProB:       8328,
	WorldProA:       16655,
	MasterE:         8328,
	MasterD:         8428,
	MasterC:         8528,
	MasterB:         8628,
	MasterA:         17255,
	TopMasterE:      9490,
	TopMasterD:      9690,
	TopMasterC:      9890,
	TopMasterB:      10090,
	TopMasterA:      20181,
	WorldMasterE:    20181,
	WorldMasterD:    20481,
	WorldMasterC:    20781,
	WorldMasterB:    21081,
	WorldMasterA:    42161,
	LegendE:         37945,
	LegendD:         68301,
	LegendC:         122942,
	LegendB:         221296,
	LegendA:         442592,
	InfinityLegendE: 663887,
	InfinityLegendD: 995831,
	InfinityLegendC: 1493747,
	InfinityLegendB: 2240620,
	InfinityLegendA: -1,
}

RankExperience contains the experience points needed to level up from each rank. TODO: need to ensure this does not differ by version/etc.

Functions

This section is empty.

Types

type ChannelEntry

type ChannelEntry struct {
	ChannelName string `struct:"[64]byte"`
	MaxUsers    uint16
	NumUsers    uint16
	Unknown1    uint16
	Unknown2    uint16
	Unknown3    [5]byte
}

type ClubStats

type ClubStats struct {
	UpgradeStats [5]uint16
}

type GuildData added in v0.0.3

type GuildData struct {
	// TODO: This structure is 100% untested, modified based on Pangya TH.
	// It is absolutely not going to be right.
	Unknown          uint32
	GuildName        string `struct:"[17]byte"`
	Pang             uint32
	Point            uint32
	NumMembers       uint32
	Unknown2         [16]byte
	Description      [105]byte
	LeaderUserID     uint32
	LeaderNickname   string `struct:"[22]byte"`
	GuildEmblemImage string `struct:"[24]byte"`
}

type MacroData

type MacroData struct {
	Text string `struct:"[64]byte"`
}

type MacroList

type MacroList struct {
	Macros [8]MacroData
}

type PlayerCaddieData

type PlayerCaddieData struct {
	Item    PlayerItem
	Unknown [17]byte
}

type PlayerCharacterData

type PlayerCharacterData struct {
	CharTypeID  uint32
	ID          uint32
	HairColor   uint8
	Shirt       uint8
	Unknown1    byte
	Unknown2    byte
	PartTypeIDs [24]uint32
	PartIDs     [24]uint32
	Unknown3    [216]byte
	AuxParts    [5]uint32
	CutInID     uint32
	Unknown4    [12]byte
	Stats       [5]byte
	Mastery     uint32
	CardChar    [4]uint32
	CardCaddie  [4]uint32
	CardNPC     [4]uint32
}

type PlayerClubData

type PlayerClubData struct {
	Item    PlayerItem
	Unknown [10]byte
	Stats   ClubStats
}

type PlayerCourseData added in v0.0.2

type PlayerCourseData struct {
	CourseID     uint8
	TotalStrokes uint32
	TotalPutts   uint32
	NumHoles     uint32
	Unknown      uint32
	Unknown2     uint32
	Unknown3     uint32
	TotalScore   uint32
	BestScore    int8
	BestPang     uint32
	Unknown4     uint32
	CharTypeID   uint32
	Unknown5     int8
}

type PlayerData

type PlayerData struct {
	UserInfo          PlayerInfo
	PlayerStats       PlayerStats
	Trophy            [13][3]uint16
	EquippedItems     PlayerEquipment
	SeasonHistory     PlayerSeasonHistory
	EquippedCharacter PlayerCharacterData
	EquippedCaddie    PlayerCaddieData
	EquippedClub      PlayerClubData
	EquippedMascot    PlayerMascotData
}

type PlayerEquipment

type PlayerEquipment struct {
	CaddieID    uint32
	CharacterID uint32
	ClubSetID   uint32
	CometTypeID uint32

	Items PlayerEquippedItems

	BackgroundID uint32
	FrameID      uint32
	StickerID    uint32
	SlotID       uint32
	CutInID      uint32
	TitleID      uint32

	BackgroundTypeID uint32
	FrameTypeID      uint32
	StickerTypeID    uint32
	SlotTypeID       uint32
	CutInTypeID      uint32
	TitleTypeID      uint32

	MascotID uint32
	PosterID [2]uint32
}

type PlayerEquippedItems

type PlayerEquippedItems struct {
	ItemIDs [10]uint32
}

type PlayerInfo added in v0.0.2

type PlayerInfo struct {
	Username         string `struct:"[22]byte"`
	Nickname         string `struct:"[22]byte"`
	GuildName        string `struct:"[17]byte"`
	GuildEmblemImage string `struct:"[24]byte"`
	ConnID           uint32
	Unknown          [12]byte
	Unknown2         uint32
	Unknown3         uint32
	Unknown4         uint16
	Unknown5         [6]byte
	Unknown6         [16]byte
	GlobalID         string `struct:"[128]byte"`
	PlayerID         uint32
}

type PlayerItem

type PlayerItem struct {
	ID     uint32
	TypeID uint32
}

type PlayerMascotData

type PlayerMascotData struct {
	Item     PlayerItem
	Unknown  [5]byte
	Text     string `struct:"[16]byte"`
	Unknown2 [33]byte
}

type PlayerSeasonData added in v0.0.2

type PlayerSeasonData struct {
	Courses [21]PlayerCourseData
}

type PlayerSeasonHistory added in v0.0.2

type PlayerSeasonHistory struct {
	Seasons [12]PlayerSeasonData
}

type PlayerStats

type PlayerStats struct {
	TotalStrokes      uint32
	TotalPutts        uint32
	Time              uint32
	TimeHitting       uint32
	LongestDrive      float32
	PangyaHits        uint32
	Timeouts          uint32
	OBs               uint32
	TotalDistance     uint32
	TotalHoles        uint32
	HoleUnfinished    uint32 //Holes that you don't end up putting/chipping in due to mode; e.g. match play
	TotalHIO          uint32
	BunkersHit        uint16
	FairwaysHit       uint32
	TotalAlbatross    uint32
	Warnings          uint32
	PuttIns           uint32
	LongestPutt       float32
	LongestChip       float32
	TotalXP           uint32
	Rank              byte
	Pang              uint64
	TotalScore        int32
	DifficultyScore   [5]uint8
	UnknownFlag       uint8 //possibly total?
	BestPang          [5]uint64
	BestPangTotal     uint64
	GamesPlayed       uint32
	TeamHole          uint32
	TeamWin           uint32
	TeamGame          uint32
	LadderMMR         uint32
	LadderHoles       uint32
	LadderWins        uint32
	LadderLosses      uint32
	LadderDraws       uint32
	ComboNum          uint32
	ComboDenom        uint32
	Quits             uint32
	PangBattleTotal   int32
	PangBattleWins    uint32
	PangBattleLosses  uint32
	PangBattleAllIn   uint32
	PangBattleCombo   uint32
	PangBattleUnknown uint32   //could be first medal - there are 6
	Unknown24         [10]byte //other 5 medals?  However, this also could be school related stuff according to jp
	GameCountSeason   uint32
	Unknown26         [8]byte //
}

type Rank

type Rank byte

Rank represents an in-game rank.

const (
	RookieF         Rank = 0x00
	RookieE         Rank = 0x01
	RookieD         Rank = 0x02
	RookieC         Rank = 0x03
	RookieB         Rank = 0x04
	RookieA         Rank = 0x05
	BeginnerE       Rank = 0x06
	BeginnerD       Rank = 0x07
	BeginnerC       Rank = 0x08
	BeginnerB       Rank = 0x09
	BeginnerA       Rank = 0x0A
	JuniorE         Rank = 0x0B
	JuniorD         Rank = 0x0C
	JuniorC         Rank = 0x0D
	JuniorB         Rank = 0x0E
	JuniorA         Rank = 0x0F
	SeniorE         Rank = 0x10
	SeniorD         Rank = 0x11
	SeniorC         Rank = 0x12
	SeniorB         Rank = 0x13
	SeniorA         Rank = 0x14
	AmateurE        Rank = 0x15
	AmateurD        Rank = 0x16
	AmateurC        Rank = 0x17
	AmateurB        Rank = 0x18
	AmateurA        Rank = 0x19
	SemiProE        Rank = 0x1A
	SemiProD        Rank = 0x1B
	SemiProC        Rank = 0x1C
	SemiProB        Rank = 0x1D
	SemiProA        Rank = 0x1E
	ProE            Rank = 0x1F
	ProD            Rank = 0x20
	ProC            Rank = 0x21
	ProB            Rank = 0x22
	ProA            Rank = 0x23
	NationalProE    Rank = 0x24
	NationalProD    Rank = 0x25
	NationalProC    Rank = 0x26
	NationalProB    Rank = 0x27
	NationalProA    Rank = 0x28
	WorldProE       Rank = 0x29
	WorldProD       Rank = 0x2A
	WorldProC       Rank = 0x2B
	WorldProB       Rank = 0x2C
	WorldProA       Rank = 0x2D
	MasterE         Rank = 0x2E
	MasterD         Rank = 0x2F
	MasterC         Rank = 0x30
	MasterB         Rank = 0x31
	MasterA         Rank = 0x32
	TopMasterE      Rank = 0x33
	TopMasterD      Rank = 0x34
	TopMasterC      Rank = 0x35
	TopMasterB      Rank = 0x36
	TopMasterA      Rank = 0x37
	WorldMasterE    Rank = 0x38
	WorldMasterD    Rank = 0x39
	WorldMasterC    Rank = 0x3A
	WorldMasterB    Rank = 0x3B
	WorldMasterA    Rank = 0x3C
	LegendE         Rank = 0x3D
	LegendD         Rank = 0x3E
	LegendC         Rank = 0x3F
	LegendB         Rank = 0x40
	LegendA         Rank = 0x41
	InfinityLegendE Rank = 0x42
	InfinityLegendD Rank = 0x43
	InfinityLegendC Rank = 0x44
	InfinityLegendB Rank = 0x45
	InfinityLegendA Rank = 0x46
)

These are the known possible in-game rank values.

func AddExperience added in v0.0.3

func AddExperience(rank Rank, current, amount int) (newRank Rank, newExp int)

type ServerEntry

type ServerEntry struct {
	ServerName string `struct:"[40]byte"`
	ServerID   uint32
	MaxUsers   uint32
	NumUsers   uint32
	IPAddress  string `struct:"[18]byte"`
	Port       uint16
	Unknown3   uint16
	Flags      uint16
	Unknown4   [16]byte

	Count    byte `struct:"sizeof=Channels"`
	Channels []ChannelEntry
}

ServerEntry represents a server in a ServerListMessage.

type SystemTime

type SystemTime struct {
	Year, Month, DayOfWeek, Day        uint16
	Hour, Minute, Second, Milliseconds uint16
}

func NewSystemTime added in v0.0.2

func NewSystemTime(t time.Time) SystemTime

func (SystemTime) IsValid added in v0.0.2

func (s SystemTime) IsValid() bool

func (SystemTime) IsZero added in v0.0.2

func (s SystemTime) IsZero() bool

func (SystemTime) Time added in v0.0.2

func (s SystemTime) Time() time.Time

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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