diff --git a/go-generate.go b/go-generate.go index c88210a..20f36a1 100644 --- a/go-generate.go +++ b/go-generate.go @@ -5,6 +5,7 @@ import "os" //go:generate go run ./horsegen //go:generate go generate ./horse/... //go:generate go fmt ./... +//go:generate go test ./... func main() { os.Stderr.WriteString("go generate, not go run\n") diff --git a/horse/global/skill.go b/horse/global/skill.go index 3ab08da..ba92694 100644 --- a/horse/global/skill.go +++ b/horse/global/skill.go @@ -12354,3 +12354,256 @@ var SkillNameToID = map[string]SkillID{ "Give Mummy a Hug ♡" + " (Inherited)": 910451, "Bountiful Harvest" + " (Inherited)": 910561, } + +var SkillGroups = map[int32][4]SkillID{ + 1007: {SkillWarningShot}, + 1008: {SkillXceleration}, + 1009: {SkillRedAce}, + 1011: {SkillFocusedMind}, + 1014: {SkillCorazónArdiente}, + 1018: {SkillEmpresssPride}, + 1024: {SkillFirstPlaceKiss}, + 1027: {SkillFeeltheBurn}, + 1032: {SkillIntroductiontoPhysiology}, + 1035: {SkillVIsforVictory}, + 1041: {SkillClassRepSpeedBakushin}, + 1045: {SkillClearHeart}, + 1052: {SkillSuperDuperStoked}, + 1056: {SkillLuckBewithMe}, + 1060: {SkillICanWinSometimesRight}, + 1061: {SkillCallMeKing}, + 10001: {SkillShootingStar, SkillShootingStarInherit}, + 10002: {SkillTheViewfromtheLeadIsMine, SkillTheViewfromtheLeadIsMineInherit}, + 10003: {SkillSkyHighTeioStep, SkillSkyHighTeioStepInherit}, + 10004: {SkillRedShiftLP1211M, SkillRedShiftLP1211MInherit}, + 10005: {SkillLightsofVaudeville, SkillLightsofVaudevilleInherit}, + 10006: {SkillTriumphantPulse, SkillTriumphantPulseInherit}, + 10007: {SkillAnchorsAweigh, SkillAnchorsAweighInherit}, + 10008: {SkillCutandDrive, SkillCutandDriveInherit}, + 10009: {SkillResplendentRedAce, SkillResplendentRedAceInherit}, + 10010: {SkillShootingforVictory, SkillShootingforVictoryInherit}, + 10011: {SkillWhereTheresaWillTheresaWay, SkillWhereTheresaWillTheresaWayInherit}, + 10012: {SkillYouandMeOneonOne, SkillYouandMeOneonOneInherit}, + 10013: {SkillTheDutyofDignityCalls, SkillTheDutyofDignityCallsInherit}, + 10014: {SkillVictoriaporplancha, SkillVictoriaporplanchaInherit}, + 10015: {SkillThisDanceIsforVittoria, SkillThisDanceIsforVittoriaInherit}, + 10016: {SkillShadowBreak, SkillShadowBreakInherit}, + 10017: {SkillBeholdThineEmperorsDivineMight, SkillBeholdThineEmperorsDivineMightInherit}, + 10018: {SkillBlazingPride, SkillBlazingPrideInherit}, + 10019: {SkillOMGTheFinalSprint, SkillOMGTheFinalSprintInherit}, + 10020: {SkillAnglingandScheming, SkillAnglingandSchemingInherit}, + 10022: {SkillFairyTale, SkillFairyTaleInherit}, + 10023: {SkillWinQED, SkillWinQEDInherit}, + 10024: {SkillFlashyLanding, SkillFlashyLandingInherit}, + 10025: {SkillChasingAfterYou, SkillChasingAfterYouInherit}, + 10026: {SkillG00FirstFInfinity, SkillG00FirstFInfinityInherit}, + 10027: {SkillLetsPumpSomeIron, SkillLetsPumpSomeIronInherit}, + 10028: {SkillYUMMYSPEED, SkillYUMMYSPEEDInherit}, + 10030: {SkillBlueRoseCloser, SkillBlueRoseCloserInherit}, + 10032: {SkillUma2, SkillUma2Inherit}, + 10035: {SkillOurTickettoWin, SkillOurTickettoWinInherit}, + 10037: {SkillSchwarzesSchwert, SkillSchwarzesSchwertInherit}, + 10038: {SkillLookatCurren, SkillLookatCurrenInherit}, + 10039: {SkillAPrincessMustSeizeVictory, SkillAPrincessMustSeizeVictoryInherit}, + 10040: {SkillKEEPITREAL, SkillKEEPITREALInherit}, + 10041: {SkillGeniusxBakushinVictory, SkillGeniusxBakushinVictoryInherit}, + 10045: {SkillPureHeart, SkillPureHeartInherit}, + 10046: {SkillSPARKLYSTARDOM, SkillSPARKLYSTARDOMInherit}, + 10048: {SkillPopAndPolish, SkillPopAndPolishInherit}, + 10050: {SkillNemesis, SkillNemesisInherit}, + 10052: {SkillSuperDuperClimax, SkillSuperDuperClimaxInherit}, + 10056: {SkillISeeVictoryinMyFuture, SkillISeeVictoryinMyFutureInherit}, + 10058: {SkillINeverGoofUp, SkillINeverGoofUpInherit}, + 10059: {SkillMovingPastandBeyond, SkillMovingPastandBeyondInherit}, + 10060: {SkillJustaLittleFarther, SkillJustaLittleFartherInherit}, + 10061: {SkillPridefulKing, SkillPridefulKingInherit}, + 11001: {SkillDazzlnDiver, SkillDazzlnDiverInherit}, + 11003: {SkillCertainVictory, SkillCertainVictoryInherit}, + 11004: {SkillAKissforCourage, SkillAKissforCourageInherit}, + 11006: {SkillFestiveMiracle, SkillFestiveMiracleInherit}, + 11011: {SkillSuperiorHeal, SkillSuperiorHealInherit}, + 11013: {SkillLegacyoftheStrong, SkillLegacyoftheStrongInherit}, + 11014: {SkillCondorsFury, SkillCondorsFuryInherit}, + 11017: {SkillArrowsWhistleShadowsDisperse, SkillArrowsWhistleShadowsDisperseInherit}, + 11018: {SkillEternalMoments, SkillEternalMomentsInherit}, + 11023: {SkillPresentsfromX, SkillPresentsfromXInherit}, + 11024: {SkillFloweryManeuver, SkillFloweryManeuverInherit}, + 11030: {SkillEveryRoseHasItsFangs, SkillEveryRoseHasItsFangsInherit}, + 11040: {SkillDancingintheLeaves, SkillDancingintheLeavesInherit}, + 11045: {SkillGiveMummyaHug, SkillGiveMummyaHugInherit}, + 11056: {SkillBountifulHarvest, SkillBountifulHarvestInherit}, + 20001: {SkillRightHandedLv2, SkillRightHanded, SkillRightHandedX}, + 20002: {SkillLeftHandedLv2, SkillLeftHanded, SkillLeftHandedX}, + 20003: {SkillTokyoRacecourseLv2, SkillTokyoRacecourse, SkillTokyoRacecourseX}, + 20004: {SkillNakayamaRacecourseLv2, SkillNakayamaRacecourse, SkillNakayamaRacecourseX}, + 20005: {SkillHanshinRacecourseLv2, SkillHanshinRacecourse, SkillHanshinRacecourseX}, + 20006: {SkillKyotoRacecourseLv2, SkillKyotoRacecourse, SkillKyotoRacecourseX, SkillYodoInvicta}, + 20007: {SkillChukyoRacecourseLv2, SkillChukyoRacecourse, SkillChukyoRacecourseX}, + 20008: {SkillSapporoRacecourseLv2, SkillSapporoRacecourse, SkillSapporoRacecourseX}, + 20009: {SkillHakodateRacecourseLv2, SkillHakodateRacecourse, SkillHakodateRacecourseX}, + 20010: {SkillFukushimaRacecourseLv2, SkillFukushimaRacecourse, SkillFukushimaRacecourseX}, + 20011: {SkillNiigataRacecourseLv2, SkillNiigataRacecourse, SkillNiigataRacecourseX}, + 20012: {SkillKokuraRacecourseLv2, SkillKokuraRacecourse, SkillKokuraRacecourseX}, + 20013: {SkillStandardDistanceLv2, SkillStandardDistance, SkillStandardDistanceX}, + 20014: {SkillNonStandardDistanceLv2, SkillNonStandardDistance, SkillNonStandardDistanceX}, + 20015: {SkillFirmConditionsLv2, SkillFirmConditions, SkillFirmConditionsX}, + 20016: {SkillWetConditionsLv2, SkillWetConditions, SkillWetConditionsX}, + 20017: {SkillSpringRunnerLv2, SkillSpringRunner, SkillSpringRunnerX}, + 20018: {SkillSummerRunnerLv2, SkillSummerRunner, SkillSummerRunnerX}, + 20019: {SkillFallRunnerLv2, SkillFallRunner, SkillFallRunnerX, SkillFallFrenzy}, + 20020: {SkillWinterRunnerLv2, SkillWinterRunner, SkillWinterRunnerX}, + 20021: {SkillSunnyDaysLv2, SkillSunnyDays}, + 20022: {SkillCloudyDaysLv2, SkillCloudyDays}, + 20023: {SkillRainyDaysLv2, SkillRainyDays, SkillRainyDaysX}, + 20024: {SkillSnowyDaysLv2, SkillSnowyDays}, + 20025: {SkillInnerPostProficiencyLv2, SkillInnerPostProficiency, SkillInnerPostAverseness}, + 20026: {SkillOuterPostProficiencyLv2, SkillOuterPostProficiency, SkillOuterPostAverseness}, + 20027: {SkillMaverickLv2, SkillMaverick}, + 20028: {SkillCompetitiveSpiritLv2, SkillCompetitiveSpirit, SkillWallflower}, + 20029: {SkillTargetinSightLv2, SkillTargetinSight}, + 20030: {SkillLongShotLv2, SkillLongShot}, + 20033: {SkillProfessorofCurvature, SkillCornerAdept, SkillCornerAdeptX}, + 20034: {SkillCornerConnoisseur, SkillCornerAcceleration, SkillCornerAccelerationX}, + 20035: {SkillSwingingMaestro, SkillCornerRecovery, SkillCornerRecoveryX}, + 20036: {SkillBeelineBurst, SkillStraightawayAdept}, + 20037: {SkillRushingGale, SkillStraightawayAcceleration}, + 20038: {SkillBreathofFreshAir, SkillStraightawayRecovery}, + 20043: {SkillConcentration, SkillFocus, SkillGatekept}, + 20044: {SkillIronWill, SkillLayLow}, + 20045: {SkillCenterStage, SkillPrudentPositioning}, + 20046: {SkillItsOn, SkillRampUp}, + 20047: {SkillIndomitable, SkillPaceStrategy}, + 20048: {SkillUnruffled, SkillCalminaCrowd}, + 20049: {SkillNoStoppingMe, SkillNimbleNavigator}, + 20050: {SkillLaneLegerdemain, SkillGowiththeFlow}, + 20051: {SkillInBodyandMind, SkillHomestretchHaste}, + 20053: {SkillTakingtheLead, SkillEarlyLead}, + 20054: {SkillEscapeArtist, SkillFastPaced}, + 20055: {SkillUnrestrained, SkillFinalPush}, + 20056: {SkillCalmandCollected, SkillStaminatoSpare}, + 20057: {SkillRacePlanner, SkillPreferredPosition}, + 20058: {SkillSpeedStar, SkillPreparedtoPass}, + 20059: {SkillFastAndFurious, SkillPositionPilfer}, + 20060: {SkillOnYourLeft, SkillSlickSurge}, + 20061: {SkillRisingDragon, SkillOuterSwell}, + 20062: {SkillSleepingLion, SkillStandingBy}, + 20063: {SkillSturmundDrang, SkillMasterfulGambit}, + 20064: {SkillEncroachingShadow, SkillStraightawaySpurt}, + 20065: {SkillTurboSprint, SkillSprintingGear}, + 20066: {SkillWaitandSee}, + 20067: {SkillBlindingFlash, SkillGapCloser}, + 20068: {SkillMileMaven, SkillProductivePlan}, + 20069: {SkillKeenEye, SkillWatchfulEye}, + 20070: {SkillFuriousFeat, SkillUpdrafters}, + 20071: {SkillTrackblazer, SkillRosyOutlook}, + 20072: {SkillKillerTunes, SkillUpTempo}, + 20073: {SkillUnyielding, SkillSteadfast}, + 20074: {SkillCooldown, SkillDeepBreaths}, + 20075: {SkillInnateExperience, SkillInsideScoop}, + 20076: {SkillAdrenalineRush, SkillExtraTank}, + 20077: {SkillTrickFront, SkillTantalizingTrick}, + 20078: {SkillTrickRear}, + 20079: {SkillFrenziedFrontRunners}, + 20080: {SkillFrenziedPaceChasers}, + 20081: {SkillFrenziedLateSurgers}, + 20082: {SkillFrenziedEndClosers}, + 20083: {SkillSubduedFrontRunners}, + 20084: {SkillFlusteredFrontRunners}, + 20085: {SkillHesitantFrontRunners}, + 20086: {SkillSubduedPaceChasers}, + 20087: {SkillFlusteredPaceChasers}, + 20088: {SkillHesitantPaceChasers}, + 20089: {SkillSubduedLateSurgers}, + 20090: {SkillFlusteredLateSurgers}, + 20091: {SkillHesitantLateSurgers}, + 20092: {SkillSubduedEndClosers}, + 20093: {SkillFlusteredEndClosers}, + 20094: {SkillHesitantEndClosers}, + 20095: {SkillOiRacecourseLv2, SkillOiRacecourse, SkillOiRacecourseX}, + 20096: {SkillSprintStraightawaysLv2, SkillSprintStraightaways}, + 20097: {SkillSprintCornersLv2, SkillSprintCorners}, + 20098: {SkillStaggeringLead, SkillHugeLead}, + 20099: {SkillPlanX, SkillCountermeasure}, + 20100: {SkillPerfectPrep, SkillMeticulousMeasures}, + 20101: {SkillAdoredbyAll, SkillIntimidate}, + 20102: {SkillYouveGotNoShot, SkillStopRightThere}, + 20103: {SkillMileStraightawaysLv2, SkillMileStraightaways}, + 20104: {SkillMileCornersLv2, SkillMileCorners}, + 20105: {SkillChangingGears, SkillShiftingGears}, + 20106: {SkillStepontheGas, SkillAcceleration}, + 20107: {SkillBigSisterly, SkillUnyieldingSpirit}, + 20108: {SkillGreedforSpeed, SkillSpeedEater}, + 20109: {SkillBattleFormation, SkillOpeningGambit}, + 20110: {SkillMediumStraightawaysLv2, SkillMediumStraightaways}, + 20111: {SkillMediumCornersLv2, SkillMediumCorners}, + 20112: {SkillClairvoyance, SkillHawkeye}, + 20113: {SkillLightningStep, SkillThunderboltStep}, + 20114: {SkillMiraculousStep, SkillSoftStep}, + 20115: {SkillDominator, SkillTether}, + 20116: {SkillMystifyingMurmur, SkillMurmur}, + 20117: {SkillLongStraightawaysLv2, SkillLongStraightaways}, + 20118: {SkillLongCornersLv2, SkillLongCorners}, + 20119: {SkillVanguardSpirit, SkillKeepingtheLead}, + 20120: {SkillVIPPass, SkillPassingPro}, + 20121: {SkillOverwhelmingPressure, SkillPressure}, + 20122: {SkillStaminaSiphon, SkillStaminaEater}, + 20123: {SkillIllusionist, SkillSmokeScreen}, + 20124: {SkillFrontRunnerStraightawaysLv2, SkillFrontRunnerStraightaways}, + 20125: {SkillFrontRunnerCornersLv2, SkillFrontRunnerCorners}, + 20126: {SkillSixthSense, SkillDodgingDanger}, + 20127: {SkillLeadersPride}, + 20128: {SkillRestless, SkillMoxie}, + 20129: {SkillReignition, SkillSecondWind}, + 20130: {SkillRestart}, + 20131: {SkillPaceChaserStraightawaysLv2, SkillPaceChaserStraightaways}, + 20132: {SkillPaceChaserCornersLv2, SkillPaceChaserCorners}, + 20133: {SkillTechnician, SkillShrewdStep}, + 20134: {SkillDeterminedDescent, SkillStraightDescent}, + 20135: {SkillGourmand, SkillHydrate}, + 20136: {SkillShatterproof, SkillTacticalTweak}, + 20137: {SkillDazzlingDisorientation, SkillDisorient}, + 20138: {SkillLateSurgerStraightawaysLv2, SkillLateSurgerStraightaways}, + 20139: {SkillLateSurgerCornersLv2, SkillLateSurgerCorners}, + 20140: {SkillHardWorker, SkillFighter}, + 20141: {SkillFifteenMillionCC, SkillOneMillionCC}, + 20142: {SkillRelax, SkillASmallBreather}, + 20143: {SkillTheBiggerPicture, SkillStudious}, + 20144: {SkillAllSeeingEyes, SkillSharpGaze}, + 20145: {SkillEndCloserStraightawaysLv2, SkillEndCloserStraightaways}, + 20146: {SkillEndCloserCornersLv2, SkillEndCloserCorners}, + 20147: {SkillTheCoastIsClear, SkillICanSeeRightThroughYou}, + 20148: {SkillGoHomeSpecialist, SkillAfterSchoolStroll}, + 20149: {SkillSerenity, SkillLevelheaded}, + 20150: {SkillCrusader, SkillStrategist}, + 20151: {SkillPetrifyingGaze, SkillIntenseGaze}, + 20152: {SkillFrontRunnerSavvyLv2, SkillFrontRunnerSavvy}, + 20153: {SkillPaceChaserSavvyLv2, SkillPaceChaserSavvy}, + 20154: {SkillLateSurgerSavvyLv2, SkillLateSurgerSavvy}, + 20155: {SkillEndCloserSavvyLv2, SkillEndCloserSavvy}, + 20156: {SkillSuperLuckySeven, SkillLuckySeven}, + 20157: {SkillTripleSevens}, + 20158: {SkillHighlander}, + 20159: {SkillUmaStan, SkillSuperstan}, + 20160: {SkillGroundwork}, + 20161: {SkillTailHeldHigh}, + 20162: {SkillShakeItOut}, + 20163: {SkillSympathy}, + 20164: {SkillLoneWolf}, + 20165: {SkillSlipstream}, + 20166: {SkillPlaytimesOver}, + 20167: {SkillTrendingintheCharts, SkillTopPick}, + 20168: {SkillLeadtheCharge, SkillForwardMarch}, + 20169: {SkillLieinWait, SkillBeStill}, + 20170: {SkillComeWhatMay, SkillAllIveGot}, + 20190: {SkillHeadOn}, + 20200: {SkillFamiliarGround}, + 20202: {SkillEarlyStart}, + 20203: {SkillRiskyBusiness}, + 21001: {SkillBurningSpiritSPD, SkillIgnitedSpiritSPD}, + 21002: {SkillBurningSpiritSTA, SkillIgnitedSpiritSTA}, + 21003: {SkillBurningSpiritPWR, SkillIgnitedSpiritPWR}, + 21004: {SkillBurningSpiritGUTS, SkillIgnitedSpiritGUTS}, + 21005: {SkillBurningSpiritWIT, SkillIgnitedSpiritWIT}, + 30001: {SkillUnquenchedThirst}, + 30002: {SkillUnchanging}, +} diff --git a/horsegen/skill.go.template b/horsegen/skill.go.template index 68a94a0..4cad757 100644 --- a/horsegen/skill.go.template +++ b/horsegen/skill.go.template @@ -52,4 +52,10 @@ var SkillNameToID = map[string]SkillID{ {{ printf "%q" $s.Name }}{{ if ne $s.InheritID 0 }} + " (Inherited)"{{ end }}: {{ $s.ID }}, {{- end }} } + +var SkillGroups = map[int32][4]SkillID{ + {{- range $g := $.Groups }} + {{ $g.ID }}: { {{- range $s := index $.Related $g.ID }}Skill{{ goenum $s.Name }}{{ if ne $s.InheritID 0 }}Inherit{{ end }}, {{ end -}} }, + {{- end }} +} {{ end }} \ No newline at end of file