Documentation ¶
Overview ¶
Package retro is a core library for Dofus Retro. It declares data types and provides constants and functions to work with the game. It also declares the Storer interface implemented in package retropg (https://github.com/kralamoure/retropg).
Index ¶
- Variables
- func DecodeItemEffect(s string) (effect retrotyp.Effect, err error)
- func DecodeItemEffects(sli []string) (effects []retrotyp.Effect, err error)
- func EffectDiceParam(effect retrotyp.Effect) string
- func EncodeItemEffect(effect retrotyp.Effect) string
- func EncodeItemEffects(effects []retrotyp.Effect) []string
- type Character
- type CharacterItem
- type CharacterSpell
- type CharacterStats
- type Class
- type ClassBoostCost
- type ClassBoostCosts
- type EffectTemplate
- type GameMap
- type GameMapPath
- type GameServer
- type Item
- type ItemSet
- type ItemTemplate
- type Market
- type MarketItem
- type Mount
- type MountTemplate
- type NPC
- type NPCDialog
- type NPCResponse
- type NPCTemplate
- type Spell
- type Storer
- type Ticket
- type Trigger
- type WeaponEffects
Constants ¶
This section is empty.
Variables ¶
View Source
var CharacterHonorFloors = []int{500, 1500, 3000, 5000, 7500, 10000, 12500, 15000, 17500, 18000}
View Source
var CharacterXPFloors = []int{}/* 199 elements not displayed */
View Source
var ErrAlreadyExists = errors.New("already exists")
View Source
var ErrCharacterNameAndGameServerIdAlreadyExist = errors.New("character name and game server ID already exist")
View Source
var ErrGameServerHostAndPortAlreadyExist = errors.New("game server host and port already exist")
View Source
var ErrNotFound = errors.New("not found")
View Source
var ErrTicketAccountIdAlreadyExists = errors.New("ticket account ID already exist")
View Source
var MountCertificateIdByMountTemplateId = map[int]int{
3: 7808,
9: 7810,
10: 7811,
11: 7812,
12: 7813,
15: 7814,
16: 7815,
17: 7816,
18: 7817,
19: 7818,
20: 7819,
21: 7820,
22: 7821,
23: 7822,
33: 7823,
34: 7824,
35: 7825,
36: 7826,
37: 7827,
38: 7828,
39: 7829,
40: 7830,
41: 7831,
42: 7832,
43: 7833,
44: 7834,
45: 7835,
46: 7836,
47: 7837,
48: 7838,
49: 7839,
50: 7840,
51: 7841,
52: 7842,
53: 7843,
54: 7844,
55: 7845,
56: 7846,
57: 7847,
58: 7848,
59: 7849,
60: 7850,
61: 7851,
62: 7852,
63: 7853,
64: 7854,
65: 7855,
66: 7856,
67: 7857,
68: 7858,
69: 7859,
70: 7860,
71: 7861,
72: 7862,
73: 7863,
75: 7865,
76: 7866,
77: 7867,
78: 7868,
79: 7869,
80: 7870,
82: 7871,
83: 7872,
84: 7873,
85: 7874,
86: 7875,
87: 7876,
88: 9582,
}
View Source
var MountTemplateIdByMountCertificateId = map[int]int{
7808: 3,
7810: 9,
7811: 10,
7812: 11,
7813: 12,
7814: 15,
7815: 16,
7816: 17,
7817: 18,
7818: 19,
7819: 20,
7820: 21,
7821: 22,
7822: 23,
7823: 33,
7824: 34,
7825: 35,
7826: 36,
7827: 37,
7828: 38,
7829: 39,
7830: 40,
7831: 41,
7832: 42,
7833: 43,
7834: 44,
7835: 45,
7836: 46,
7837: 47,
7838: 48,
7839: 49,
7840: 50,
7841: 51,
7842: 52,
7843: 53,
7844: 54,
7845: 55,
7846: 56,
7847: 57,
7848: 58,
7849: 59,
7850: 60,
7851: 61,
7852: 62,
7853: 63,
7854: 64,
7855: 65,
7856: 66,
7857: 67,
7858: 68,
7859: 69,
7860: 70,
7861: 71,
7862: 72,
7863: 73,
7865: 75,
7866: 76,
7867: 77,
7868: 78,
7869: 79,
7870: 80,
7871: 82,
7872: 83,
7873: 84,
7874: 85,
7875: 86,
7876: 87,
9582: 88,
}
View Source
var MountXPFloors = []int{600, 1_750, 2_750, 4_000, 5_500, 7_250, 9_250, 11_500, 14_000, 16_750, 19_750, 23_000, 26_500,
30_250, 34_250, 38_500, 43_000, 47_750, 52_750, 58_000, 63_500, 69_250, 75_250, 81_500, 88_000, 94_750, 101_750,
109_000, 116_500, 124_250, 132_250, 140_500, 149_000, 157_750, 166_750, 176_000, 185_500, 195_250, 205_250, 215_500,
226_000, 236_750, 247_750, 259_000, 270_500, 282_250, 294_250, 306_500, 319_000, 331_750, 344_750, 358_000, 371_500,
385_250, 399_250, 413_500, 427_000, 441_750, 456_750, 473_000, 488_500, 504_250, 520_250, 536_500, 553_000, 569_750,
586_750, 604_000, 621_500, 639_250, 657_250, 675_500, 694_000, 712_750, 731_750, 751_000, 770_000, 790_250, 810_250,
830_500, 851_000, 871_750, 892_750, 914_000, 935_500, 957_250, 979_250, 1_001_500, 1_025_000, 1_046_750, 1_069_750,
1_093_000, 1_116_500, 1_140_250, 1_164_250, 1_188_500, 1_213_000, 1_237_750, 1_262_750,
}
Functions ¶
func DecodeItemEffects ¶
func EffectDiceParam ¶
func EncodeItemEffect ¶
func EncodeItemEffects ¶
Types ¶
type Character ¶
type Character struct { Id int AccountId string GameServerId int Name retrotyp.CharacterName Sex retrotyp.Sex ClassId retrotyp.ClassId Color1 retrotyp.Color Color2 retrotyp.Color Color3 retrotyp.Color Alignment retrotyp.Alignment AlignmentEnabled bool XP int Kamas int BonusPoints int BonusPointsSpell int Honor int Disgrace int Stats CharacterStats // TODO: validation (non-negative) GameMapId int Cell int Direction int // TODO: maybe a custom type Spells []CharacterSpell MountId int Mounting bool }
func (Character) Grade ¶
func (c Character) Grade() retrotyp.AlignmentGrade
type CharacterItem ¶
type CharacterItem struct { Item Position retrotyp.CharacterItemPosition CharacterId int }
type CharacterSpell ¶
type CharacterStats ¶
type ClassBoostCost ¶
type ClassBoostCosts ¶
type ClassBoostCosts struct { Vitality []ClassBoostCost Wisdom []ClassBoostCost Strength []ClassBoostCost Intelligence []ClassBoostCost Chance []ClassBoostCost Agility []ClassBoostCost }
type EffectTemplate ¶
type EffectTemplate struct { Id int Description string Dice bool Operator retrotyp.EffectOperator CharacteristicId retrotyp.CharacteristicId Element retrotyp.EffectElement }
type GameMap ¶
type GameMapPath ¶
type GameServer ¶
type GameServer struct { Id int Host string Port string State retrotyp.GameServerState Completion int }
func (GameServer) Validate ¶
func (a GameServer) Validate() error
type Item ¶
func (Item) DisplayEffects ¶
type ItemTemplate ¶
type ItemTemplate struct { Id int Name string Description string Type retrotyp.ItemType Enhanceable bool TwoHands bool Ethereal bool Hidden bool ItemSetId int CanUse bool CanTarget bool Level int GFX int Price int Weight int Cursed bool Conditions string // TODO Effects []retrotyp.Effect WeaponEffects WeaponEffects }
func (ItemTemplate) Validate ¶
func (t ItemTemplate) Validate() error
TODO: maybe should validate by iterating through effects
type MarketItem ¶
type Mount ¶
type MountTemplate ¶
type NPC ¶
type NPC struct { Id string GameServerId int MapId int CellId int Direction int TemplateId int Sex retrotyp.Sex GFX int ScaleX int ScaleY int Color1 retrotyp.Color Color2 retrotyp.Color Color3 retrotyp.Color Accessories string // TODO ExtraClip int // -1 for no extra clip. CustomArtwork int DialogId int MarketId string }
type NPCResponse ¶
type Spell ¶
type Spell struct { Id int Name string Description string Levels []retrotyp.SpellLevel }
type Storer ¶
type Storer interface { GameMaps(ctx context.Context) (map[int]GameMap, error) EffectTemplates(ctx context.Context) (map[int]EffectTemplate, error) ItemSets(ctx context.Context) (map[int]ItemSet, error) ItemTemplates(ctx context.Context) (map[int]ItemTemplate, error) NPCTemplates(ctx context.Context) (map[int]NPCTemplate, error) NPCDialogs(ctx context.Context) (map[int]NPCDialog, error) NPCResponses(ctx context.Context) (map[int]NPCResponse, error) Classes(ctx context.Context) (map[retrotyp.ClassId]Class, error) Spells(ctx context.Context) (map[int]Spell, error) MountTemplates(ctx context.Context) (map[int]MountTemplate, error) Triggers(ctx context.Context) (map[string]Trigger, error) TriggerByGameMapIdAndCellId(ctx context.Context, gameMapId, cellId int) (Trigger, error) CreateGameServer(ctx context.Context, gameServer GameServer) error GameServers(ctx context.Context) (map[int]GameServer, error) GameServer(ctx context.Context, id int) (GameServer, error) SetGameServerState(ctx context.Context, id int, state retrotyp.GameServerState) error CreateTicket(ctx context.Context, ticket Ticket) (string, error) DeleteTickets(ctx context.Context, before time.Time) (int, error) UseTicket(ctx context.Context, id string) (Ticket, error) Tickets(ctx context.Context) (map[string]Ticket, error) Ticket(ctx context.Context, id string) (Ticket, error) CreateCharacter(ctx context.Context, character Character) (int, error) UpdateCharacter(ctx context.Context, character Character) error DeleteCharacter(ctx context.Context, id int) error AllCharacters(ctx context.Context) (map[int]Character, error) AllCharactersByAccountId(ctx context.Context, accountId string) (map[int]Character, error) Characters(ctx context.Context, gameServerId int) (map[int]Character, error) CharactersByAccountId(ctx context.Context, gameServerId int, accountId string) (map[int]Character, error) CharactersByGameMapId(ctx context.Context, gameServerId int, gameMapId int) (map[int]Character, error) Character(ctx context.Context, id int) (Character, error) Markets(ctx context.Context, gameServerId int) (map[string]Market, error) CreateCharacterItem(ctx context.Context, item CharacterItem) (int, error) UpdateCharacterItem(ctx context.Context, item CharacterItem) error DeleteCharacterItem(ctx context.Context, id int) error CharacterItemsByCharacterId(ctx context.Context, characterId int) (map[int]CharacterItem, error) CharacterItem(ctx context.Context, id int) (CharacterItem, error) CreateMarketItem(ctx context.Context, item MarketItem) (int, error) DeleteMarketItem(ctx context.Context, id int) error MarketItems(ctx context.Context, gameServerId int) (map[int]MarketItem, error) MarketItemsByMarketId(ctx context.Context, marketId string) (map[int]MarketItem, error) MarketItem(ctx context.Context, id int) (MarketItem, error) NPCs(ctx context.Context, gameServerId int) (map[string]NPC, error) CreateMount(ctx context.Context, mount Mount) (int, error) UpdateMount(ctx context.Context, mount Mount) error DeleteMount(ctx context.Context, id int) error Mount(ctx context.Context, id int) (Mount, error) Mounts(ctx context.Context) (map[int]Mount, error) MountsByCharacterId(ctx context.Context, characterId int) (map[int]Mount, error) }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.