summaryrefslogtreecommitdiff
path: root/model/save.go
blob: 4127828f2ffe1fc6ce649336e11e54b013e352fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package model

type PlayerStat struct {
	CurrentGold int `json:"current_gold"`
	CurrentHp   int `json:"current_hp"`
	DamageTaken int `json:"damage_taken"`
	GoldGained  int `json:"gold_gained"`
	GoldLost    int `json:"gold_lost"`
	GoldSpent   int `json:"gold_spent"`
	GoldStolen  int `json:"gold_stolen"`
	HpHealed    int `json:"hp_healed"`
	MaxHp       int `json:"max_hp"`
	MaxHpGained int `json:"max_hp_gained"`
	MaxHpLost   int `json:"max_hp_lost"`
	PlayerID    int `json:"player_id"`
}

type RunSave struct {
	Acts              []string `json:"acts"`
	Ascension         int      `json:"ascension"`
	BuildID           string   `json:"build_id"`
	GameMode          string   `json:"game_mode"`
	KilledByEncounter string   `json:"killed_by_encounter"`
	KilledByEvent     string   `json:"killed_by_event"`
	MapPointHistory   [][]struct {
		MapPointType string `json:"map_point_type"`
		PlayerStats  []struct {
			PlayerStat
			CardChoices []struct {
				Card struct {
					Id                  string `json:"id"`
					CurrentUpgradeLevel int    `json:"current_upgrade_level"`
				}
				WasPicked bool `json:"was_picked"`
			} `json:"card_choices"`
			AncientChoice []struct {
				TextKey string `json:"TextKey"`
				Title   struct {
					Key   string `json:"key"`
					Table string `json:"table"`
				} `json:"title"`
				WasChosen bool `json:"was_chosen"`
			} `json:"ancient_choice"`
			CardsTransformed []struct {
				FinalCard struct {
					FloorAddedToDeck int    `json:"floor_added_to_deck"`
					ID               string `json:"id"`
				} `json:"final_card"`
				OriginalCard struct {
					FloorAddedToDeck int    `json:"floor_added_to_deck"`
					ID               string `json:"id"`
				} `json:"original_card"`
			} `json:"cards_transformed"`
			EventChoices []struct {
				Title struct {
					Key   string `json:"key"`
					Table string `json:"table"`
				} `json:"title"`
			} `json:"event_choices"`
			GoldGained   int `json:"gold_gained"`
			GoldLost     int `json:"gold_lost"`
			GoldSpent    int `json:"gold_spent"`
			GoldStolen   int `json:"gold_stolen"`
			HpHealed     int `json:"hp_healed"`
			MaxHp        int `json:"max_hp"`
			MaxHpGained  int `json:"max_hp_gained"`
			MaxHpLost    int `json:"max_hp_lost"`
			PlayerID     int `json:"player_id"`
			RelicChoices []struct {
				Choice    string `json:"choice"`
				WasPicked bool   `json:"was_picked"`
			} `json:"relic_choices"`
		} `json:"player_stats"`
		Rooms []struct {
			ModelID    string `json:"model_id"`
			RoomType   string `json:"room_type"`
			TurnsTaken int    `json:"turns_taken"`
		} `json:"rooms"`
	} `json:"map_point_history"`
	Modifiers    []interface{} `json:"modifiers"`
	PlatformType string        `json:"platform_type"`
	Players      []struct {
		Character string `json:"character"`
		Deck      []struct {
			FloorAddedToDeck int    `json:"floor_added_to_deck"`
			ID               string `json:"id"`
			Enchantment      struct {
				Amount int    `json:"amount"`
				ID     string `json:"id"`
			} `json:"enchantment,omitempty"`
		} `json:"deck"`
		ID                 int           `json:"id"`
		MaxPotionSlotCount int           `json:"max_potion_slot_count"`
		Potions            []interface{} `json:"potions"`
		Relics             []struct {
			FloorAddedToDeck int    `json:"floor_added_to_deck"`
			ID               string `json:"id"`
		} `json:"relics"`
	} `json:"players"`
	RunTime       int    `json:"run_time"`
	SchemaVersion int    `json:"schema_version"`
	Seed          string `json:"seed"`
	StartTime     int    `json:"start_time"`
	WasAbandoned  bool   `json:"was_abandoned"`
	Win           bool   `json:"win"`
}