+124
@@ -0,0 +1,124 @@
|
||||
package horse
|
||||
|
||||
type SupportCardID int32
|
||||
|
||||
type SupportCard struct {
|
||||
ID SupportCardID `json:"id"`
|
||||
Name string `json:"name"`
|
||||
CharacterID CharacterID `json:"chara_id"`
|
||||
CharaName string `json:"chara_name"`
|
||||
Rarity SupportCardRarity `json:"rarity"`
|
||||
Specialty SupportCardSpecialty `json:"specialty"`
|
||||
Type SupportCardType `json:"type"`
|
||||
Effects [11][]SupportCardEffect `json:"effects"`
|
||||
UniqueEffect *UniqueEffect `json:"unique_effect,omitzero"`
|
||||
Hints []Hint `json:"hints"`
|
||||
Outings int32 `json:"outings,omitzero"`
|
||||
}
|
||||
|
||||
type SupportCardRarity int8
|
||||
|
||||
//go:generate go run golang.org/x/tools/cmd/stringer@v0.41.0 -type SupportCardRarity
|
||||
const (
|
||||
R SupportCardRarity = 1
|
||||
SR SupportCardRarity = 2
|
||||
SSR SupportCardRarity = 3
|
||||
)
|
||||
|
||||
type SupportCardSpecialty int8
|
||||
|
||||
//go:generate go run golang.org/x/tools/cmd/stringer@v0.41.0 -type SupportCardSpecialty -trimprefix SupportCard
|
||||
const (
|
||||
SupportCardNone SupportCardSpecialty = 0
|
||||
SupportCardSpeed SupportCardSpecialty = 101
|
||||
SupportCardPower SupportCardSpecialty = 102
|
||||
SupportCardGuts SupportCardSpecialty = 103
|
||||
SupportCardStamina SupportCardSpecialty = 105
|
||||
SupportCardWit SupportCardSpecialty = 106
|
||||
)
|
||||
|
||||
type SupportCardType int8
|
||||
|
||||
const (
|
||||
SupportCardNormal SupportCardType = 1
|
||||
SupportCardPal SupportCardType = 2
|
||||
SupportCardGroup SupportCardType = 3
|
||||
)
|
||||
|
||||
type SupportCardEffectType int8
|
||||
|
||||
//go:generate go run golang.org/x/tools/cmd/stringer@v0.41.0 -type SupportCardEffectType -linecomment
|
||||
const (
|
||||
SupportCardFriendshipBonus SupportCardEffectType = 1 // Friendship Bonus
|
||||
SupportCardMoodEffect SupportCardEffectType = 2 // Mood Effect
|
||||
SupportCardSpeedBonus SupportCardEffectType = 3 // Speed Bonus
|
||||
SupportCardStaminaBonus SupportCardEffectType = 4 // Stamina Bonus
|
||||
SupportCardPowerBonus SupportCardEffectType = 5 // Power Bonus
|
||||
SupportCardGutsBonus SupportCardEffectType = 6 // Guts Bonus
|
||||
SupportCardWitBonus SupportCardEffectType = 7 // Wit Bonus
|
||||
SupportCardTrainingEffectiveness SupportCardEffectType = 8 // Training Effectiveness
|
||||
SupportCardInitialSpeed SupportCardEffectType = 9 // Initial Speed
|
||||
SupportCardInitialStamina SupportCardEffectType = 10 // Initial Stamina
|
||||
SupportCardInitialPower SupportCardEffectType = 11 // Initial Power
|
||||
SupportCardInitialGuts SupportCardEffectType = 12 // Initial Guts
|
||||
SupportCardInitialWit SupportCardEffectType = 13 // Initial Wit
|
||||
SupportCardInitialFriendship SupportCardEffectType = 14 // Initial Friendship Gauge
|
||||
SupportCardRaceBonus SupportCardEffectType = 15 // Race Bonus
|
||||
SupportCardFanBonus SupportCardEffectType = 16 // Fan Bonus
|
||||
SupportCardHintLevels SupportCardEffectType = 17 // Hint Levels
|
||||
SupportCardHintFrequency SupportCardEffectType = 18 // Hint Frequency
|
||||
SupportCardSpecialtyPriority SupportCardEffectType = 19 // Specialty Priority
|
||||
SupportCardMaxSpeed SupportCardEffectType = 20 // Max Speed
|
||||
SupportCardMaxStamina SupportCardEffectType = 21 // Max Stamina
|
||||
SupportCardMaxPower SupportCardEffectType = 22 // Max Power
|
||||
SupportCardMaxGuts SupportCardEffectType = 23 // Max Guts
|
||||
SupportCardMaxWit SupportCardEffectType = 24 // Max Wit
|
||||
SupportCardEventRecovery SupportCardEffectType = 25 // Event Recovery
|
||||
SupportCardEventEffectiveness SupportCardEffectType = 26 // Event Effectiveness
|
||||
SupportCardFailureProtection SupportCardEffectType = 27 // Failure Protection
|
||||
SupportCardEnergyCostReduction SupportCardEffectType = 28 // Energy Cost Reduction
|
||||
SupportCardMinigameEffectiveness SupportCardEffectType = 29 // Minigame Effectiveness
|
||||
SupportCardSkillPointBonus SupportCardEffectType = 30 // Skill Point Bonus
|
||||
SupportCardWitFriendshipRecovery SupportCardEffectType = 31 // Wit Friendship Recovery
|
||||
|
||||
// Unique effect types
|
||||
SupportCardUniqueFriendshipThreshold SupportCardEffectType = 101 // Friendship Gauge threshold
|
||||
SupportCardUniqueOffSpecialty SupportCardEffectType = 102 // Friendship Gauge threshold and off specialty
|
||||
SupportCardUniqueColorThresholdTrainingEffectiveness SupportCardEffectType = 103 // Training Effectiveness with multicolor deck
|
||||
SupportCardUniqueFanScalingTrainingEffectiveness SupportCardEffectType = 104 // Training Effectiveness scaling with fans
|
||||
SupportCardUniqueColorInitialStats SupportCardEffectType = 105 // Initial Stats for each card
|
||||
SupportCardUniqueRainbowStack SupportCardEffectType = 106 // stacking bonus per Friendship Training
|
||||
SupportCardUniqueLowEnergyScaling SupportCardEffectType = 107 // scaling as Energy decreases
|
||||
SupportCardUniqueMaxEnergyScaling SupportCardEffectType = 108 // scaling with Max Energy
|
||||
SupportCardUniqueTotalFriendship SupportCardEffectType = 109 // scaling with total Friendship
|
||||
SupportCardUniqueCardCount SupportCardEffectType = 110 // scaling with the number of supports at the training
|
||||
SupportCardUniqueFacilityLevel SupportCardEffectType = 111 // scaling with the training facility level
|
||||
SupportCardUniqueDisableFailure SupportCardEffectType = 112 // chance to disable failure chance
|
||||
SupportCardUniqueFriendshipTrainingAdditionalEffect SupportCardEffectType = 113 // additional effect active on Friendship Training
|
||||
)
|
||||
|
||||
type SupportCardEffect struct {
|
||||
Type SupportCardEffectType `json:"type"`
|
||||
Value int32 `json:"value"`
|
||||
}
|
||||
|
||||
type UniqueEffect struct {
|
||||
Name string `json:"name"`
|
||||
Desc string `json:"description"`
|
||||
CardLevel int32 `json:"card_level"`
|
||||
Type SupportCardEffectType `json:"type"`
|
||||
Args []int32 `json:"args"`
|
||||
Type2 SupportCardEffectType `json:"type2,omitzero"`
|
||||
Args2 []int32 `json:"args2,omitempty"`
|
||||
IdleSubRate int32 `json:"idle_mode_sub_rate"`
|
||||
}
|
||||
|
||||
type Hint struct {
|
||||
SkillID SkillID `json:"skill_id,omitzero"`
|
||||
Speed int8 `json:"speed,omitzero"`
|
||||
Stamina int8 `json:"stamina,omitzero"`
|
||||
Power int8 `json:"power,omitzero"`
|
||||
Guts int8 `json:"guts,omitzero"`
|
||||
Wit int8 `json:"wit,omitzero"`
|
||||
SP int8 `json:"sp,omitzero"`
|
||||
}
|
||||
Reference in New Issue
Block a user