ffxiv

package
v0.0.0-...-d27e07b Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EU = &PhysicalDatacenter{
	Name:         "Europe",
	Abbreviation: "EU",
	LogicalDatacenters: map[string]*LogicalDatacenter{
		"Chaos": {
			Name: "Chaos",
			Worlds: map[string]*World{
				"Cerberus":    {Name: "Cerberus"},
				"Louisoix":    {Name: "Louisoix"},
				"Moogle":      {Name: "Moogle"},
				"Omega":       {Name: "Omega"},
				"Phantom":     {Name: "Phantom"},
				"Ragnarok":    {Name: "Ragnarok"},
				"Sagittarius": {Name: "Sagittarius"},
				"Spriggan":    {Name: "Spriggan"},
			},
		},
		"Light": {
			Name: "Light",
			Worlds: map[string]*World{
				"Alpha":     {Name: "Alpha"},
				"Lich":      {Name: "Lich"},
				"Odin":      {Name: "Odin"},
				"Phoenix":   {Name: "Phoenix"},
				"Raiden":    {Name: "Raiden"},
				"Shiva":     {Name: "Shiva"},
				"Twintania": {Name: "Twintania"},
				"Zodiark":   {Name: "Zodiark"},
			},
		},
	},
}
View Source
var JP = &PhysicalDatacenter{
	Name:         "Japan",
	Abbreviation: "JP",
	LogicalDatacenters: map[string]*LogicalDatacenter{
		"Elemental": {
			Name: "Elemental",
			Worlds: map[string]*World{
				"Aegis":     {Name: "Aegis"},
				"Atomos":    {Name: "Atomos"},
				"Carbuncle": {Name: "Carbuncle"},
				"Garuda":    {Name: "Garuda"},
				"Gungnir":   {Name: "Gungnir"},
				"Kujata":    {Name: "Kujata"},
				"Tonberry":  {Name: "Tonberry"},
				"Typhon":    {Name: "Typhon"},
			},
		},
		"Gaia": {
			Name: "Gaia",
			Worlds: map[string]*World{
				"Alexander": {Name: "Alexander"},
				"Bahamut":   {Name: "Bahamut"},
				"Durandal":  {Name: "Durandal"},
				"Fenrir":    {Name: "Fenrir"},
				"Ifrit":     {Name: "Ifrit"},
				"Ridill":    {Name: "Ridill"},
				"Tiamat":    {Name: "Tiamat"},
				"Ultima":    {Name: "Ultima"},
			},
		},
		"Mana": {
			Name: "Mana",
			Worlds: map[string]*World{
				"Anima":        {Name: "Anima"},
				"Asura":        {Name: "Asura"},
				"Chocobo":      {Name: "Chocobo"},
				"Hades":        {Name: "Hades"},
				"Ixion":        {Name: "Ixion"},
				"Masamune":     {Name: "Masamune"},
				"Pandaemonium": {Name: "Pandaemonium"},
				"Titan":        {Name: "Titan"},
			},
		},
		"Meteor": {
			Name: "Meteor",
			Worlds: map[string]*World{
				"Belias":     {Name: "Belias"},
				"Mandragora": {Name: "Mandragora"},
				"Ramuh":      {Name: "Ramuh"},
				"Shinryu":    {Name: "Shinryu"},
				"Unicorn":    {Name: "Unicorn"},
				"Valefor":    {Name: "Valefor"},
				"Yojimbo":    {Name: "Yojimbo"},
				"Zeromus":    {Name: "Zeromus"},
			},
		},
	},
}
View Source
var Jobs = map[string]*Job{
	"Gunbreaker":  {FullName: "Gunbreaker", Abbreviation: "GNB"},
	"Paladin":     {FullName: "Paladin", Abbreviation: "PLD"},
	"Gladiator":   {FullName: "Gladiator", Abbreviation: "GLD"},
	"DarkKnight":  {FullName: "Dark Knight", Abbreviation: "DRK"},
	"Warrior":     {FullName: "Warrior", Abbreviation: "WAR"},
	"Marauder":    {FullName: "Marauder", Abbreviation: "MRD"},
	"Scholar":     {FullName: "Scholar", Abbreviation: "SCH"},
	"Arcanist":    {FullName: "Arcanist", Abbreviation: "ACN"},
	"Sage":        {FullName: "Sage", Abbreviation: "SGE"},
	"Astrologian": {FullName: "Astrologian", Abbreviation: "AST"},
	"WhiteMage":   {FullName: "White Mage", Abbreviation: "WHM"},
	"Conjurer":    {FullName: "Conjurer", Abbreviation: "CNJ"},
	"Samurai":     {FullName: "Samurai", Abbreviation: "SAM"},
	"Dragoon":     {FullName: "Dragoon", Abbreviation: "DRG"},
	"Ninja":       {FullName: "Ninja", Abbreviation: "NIN"},
	"Monk":        {FullName: "Monk", Abbreviation: "MNK"},
	"Reaper":      {FullName: "Reaper", Abbreviation: "RPR"},
	"Bard":        {FullName: "Bard", Abbreviation: "BRD"},
	"Machinist":   {FullName: "Machinist", Abbreviation: "MCH"},
	"Dancer":      {FullName: "Dancer", Abbreviation: "DNC"},
	"BlackMage":   {FullName: "Black Mage", Abbreviation: "BLM"},
	"BlueMage":    {FullName: "Blue Mage", Abbreviation: "BLU"},
	"Summoner":    {FullName: "Summoner", Abbreviation: "SMN"},
	"RedMage":     {FullName: "Red Mage", Abbreviation: "RDM"},
	"Lancer":      {FullName: "Lancer", Abbreviation: "LNC"},
	"Pugilist":    {FullName: "Puligist", Abbreviation: "PUG"},
	"Rogue":       {FullName: "Rogue", Abbreviation: "ROG"},
	"Thaumaturge": {FullName: "Thaumaturge", Abbreviation: "THM"},
	"Archer":      {FullName: "Archer", Abbreviation: "ARC"},
	"Pictomancer": {FullName: "Pictomancer", Abbreviation: "PCT"},
	"Viper":       {FullName: "Viper", Abbreviation: "VPR"},
	"Any":         {FullName: "Any", Abbreviation: "ANY"},
}
View Source
var NA = &PhysicalDatacenter{
	Name:         "North America",
	Abbreviation: "NA",
	LogicalDatacenters: map[string]*LogicalDatacenter{
		"Aether": {
			Name:  "Aether",
			Color: 0x71368a,
			Worlds: map[string]*World{
				"Adamantoise":  {Name: "Adamantoise"},
				"Cactuar":      {Name: "Cactuar"},
				"Faerie":       {Name: "Faerie"},
				"Gilgamesh":    {Name: "Gilgamesh"},
				"Jenova":       {Name: "Jenova"},
				"Midgardsormr": {Name: "Midgardsormr"},
				"Sargatanas":   {Name: "Sargatanas"},
				"Siren":        {Name: "Siren"},
			},
		},
		"Crystal": {
			Name:  "Crystal",
			Color: 0x206694,
			Worlds: map[string]*World{
				"Balmung":   {Name: "Balmung"},
				"Brynhildr": {Name: "Brynhildr"},
				"Coeurl":    {Name: "Coeurl"},
				"Diabolos":  {Name: "Diabolos"},
				"Goblin":    {Name: "Goblin"},
				"Malboro":   {Name: "Malboro"},
				"Mateus":    {Name: "Mateus"},
				"Zalera":    {Name: "Zalera"},
			},
		},
		"Primal": {
			Name:  "Primal",
			Color: 0x992d22,
			Worlds: map[string]*World{
				"Behemoth":  {Name: "Behemoth"},
				"Excalibur": {Name: "Excalibur"},
				"Exodus":    {Name: "Exodus"},
				"Famfrit":   {Name: "Famfrit"},
				"Hyperion":  {Name: "Hyperion"},
				"Lamia":     {Name: "Lamia"},
				"Leviathan": {Name: "Leviathan"},
				"Ultros":    {Name: "Ultros"},
			},
		},
		"Dynamis": {
			Name:  "Dynamis",
			Color: 0xEAC645,
			Worlds: map[string]*World{
				"Cuchulainn":    {Name: "Cuchulainn"},
				"Golen":         {Name: "Golem"},
				"Halicarnassus": {Name: "Halicarnassus"},
				"Kraken":        {Name: "Kraken"},
				"Maduin":        {Name: "Maduin"},
				"Marilith":      {Name: "Marilith"},
				"Rafflesia":     {Name: "Rafflesia"},
				"Seraph":        {Name: "Seraph"},
			},
		},
	},
}
View Source
var OC = &PhysicalDatacenter{
	Name:         "Oceania",
	Abbreviation: "OC",
	LogicalDatacenters: map[string]*LogicalDatacenter{
		"Materia": {
			Name: "Materia",
			Worlds: map[string]*World{
				"Bismarck": {Name: "Bismarck"},
				"Ravana":   {Name: "Ravana"},
				"Sephirot": {Name: "Sephirot"},
				"Sophia":   {Name: "Sophia"},
				"Zurvan":   {Name: "Zurvan"},
			},
		},
	},
}

Functions

func AllWorlds

func AllWorlds() []string

func IsWorld

func IsWorld(w string) bool

func WorldsForLogicalDatacenter

func WorldsForLogicalDatacenter(logicalDatacenter string) (map[string]*World, error)

Types

type Character

type Character struct {
	World          string
	FirstName      string
	LastName       string
	LodestoneID    int
	LastUpdateTime time.Time
}

func (*Character) LodestoneSlug

func (c *Character) LodestoneSlug(discordId string) string

func (*Character) Name

func (c *Character) Name() string

func (*Character) PhysicalDatacenter

func (c *Character) PhysicalDatacenter() *PhysicalDatacenter

func (*Character) UpdatedRecently

func (c *Character) UpdatedRecently() bool

type Characters

type Characters struct {
	Characters map[string]*Character
}

func (*Characters) Init

func (cs *Characters) Init(world, firstName, lastName string) (*Character, error)

type Job

type Job struct {
	FullName     string
	Abbreviation string
}

func (*Job) IsHealer

func (j *Job) IsHealer() bool

type LogicalDatacenter

type LogicalDatacenter struct {
	Name   string
	Color  int
	Worlds map[string]*World
}

type PhysicalDatacenter

type PhysicalDatacenter struct {
	Name               string
	Abbreviation       string
	LogicalDatacenters map[string]*LogicalDatacenter
}

func AllPhysicalDatacenters

func AllPhysicalDatacenters() []*PhysicalDatacenter

func PhysicalDatacenterForAbbreviation

func PhysicalDatacenterForAbbreviation(name string) *PhysicalDatacenter

func PhysicalDatacenterForWorld

func PhysicalDatacenterForWorld(name string) *PhysicalDatacenter

type World

type World struct {
	Name string
}