test: extend coverage of run
This commit is contained in:
1 parent
8d0fb81ba9
commit
6127e3c377
1 file changed
+173
+173
@@ -14747,6 +14747,179 @@ local order = {
|
|||||||
"gameScavengeCorpseCarvesTheMatchingHerbAndClearsTheCorpse",
|
"gameScavengeCorpseCarvesTheMatchingHerbAndClearsTheCorpse",
|
||||||
"gameScavengeCorpseFailsWithoutACorpseUnderfoot",
|
"gameScavengeCorpseFailsWithoutACorpseUnderfoot",
|
||||||
"gameScavengeCorpseFailsOnARottenCorpse",
|
"gameScavengeCorpseFailsOnARottenCorpse",
|
||||||
|
"gameScavengeCorpseFailsForASpeciesWithNoKnownHerb",
|
||||||
|
"reanimationFieldsSurviveSerialization",
|
||||||
|
"herbItemsSurviveSerialization",
|
||||||
|
"potionOfFortificationAppliesAShield", "usingAFortifyPotionAppliesShieldAndConsumesIt",
|
||||||
|
"potionOfLevitationAppliesTheLevitateStatus", "usingAPotionOfLevitationAppliesLevitateAndConsumesIt",
|
||||||
|
"companionSummonPlacesItAdjacentToThePlayer", "companionSummonRejectsAnUnknownSpecies",
|
||||||
|
"companionSummonReplacesAnEarlierBond", "companionAttacksAdjacentHostileMonsterAndCanKillIt",
|
||||||
|
"companionAttacksADiagonallyAdjacentHostileMonsterJustLikeACardinalOne",
|
||||||
|
"companionAdvancesOnAVisibleMonsterItCannotYetReach", "companionIgnoresAMonsterBeyondItsSightRadius",
|
||||||
|
"companionActBlindedCompanionOnlyDetectsAnAdjacentHostileNotOneWithinItsSightRadius",
|
||||||
|
"companionActAttackingAnAdjacentMonsterEmitsNoiseThatCanStirADormantBystander",
|
||||||
|
"companionFollowsThePlayerWhenNoMonsterIsVisible",
|
||||||
|
"companionActConfusedCompanionSometimesStumblesInsteadOfFightingAnAdjacentHostile",
|
||||||
|
"companionActConfusedCompanionNeverAttacksThePlayerEvenIfTheStumbleAimsAtItsCell",
|
||||||
|
"hearthSpriteMendsThePlayerWhenIdle",
|
||||||
|
"useItemOnACharmBondsACompanionAndConsumesIt", "takeMonsterTurnRoutesACompanionThroughCompanionsAct",
|
||||||
|
"gameTakeMonsterTurnTicksAnInfectedCompanionsDiseaseExactlyLikeThePlayersOwnEndOfTurnDoes",
|
||||||
|
"aFallenCompanionIsLoggedAndSweptWithoutAwardingXp", "builderOccasionallyPlacesACharmFromDepthThree",
|
||||||
|
"charmsStayOffTheShallowestFloors", "companionFieldsSurviveSerialization",
|
||||||
|
"companionGainXpBelowFirstThresholdBanksXpWithoutEvolving",
|
||||||
|
"companionGainXpAtFirstThresholdEvolvesRenamesAndGrowsStats",
|
||||||
|
"companionGainXpCrossingBothThresholdsAtOnceAppliesBothStagesCumulatively",
|
||||||
|
"companionGainXpNeverReappliesAnAlreadyCrossedStage",
|
||||||
|
"companionGainXpAtMaxLevelJustBanksFurtherXpWithNoFurtherEvolution",
|
||||||
|
"companionGainXpIgnoresAZeroOrNegativeAmount",
|
||||||
|
"companionActCreditsItsOwnKillWithXpOnTopOfThePlayers",
|
||||||
|
"companionEvolutionBoostsAHearthSpriteHealingOnTopOfItsStaticRate",
|
||||||
|
"companionLevelXpAndHealBonusSurviveSerialization",
|
||||||
|
"artifactsCreateBuildsTheCatalogedItemShape", "lifestealWeaponHealsThePlayerOnAHit",
|
||||||
|
"thornedArmorReflectsDamageBackAtAMeleeAttacker", "thornedArmorCanKillAWeakAttacker",
|
||||||
|
"thornedArmorRespectsAFireImmuneAttacker", "thornedArmorIsHalvedAgainstAFireResistantAttacker",
|
||||||
|
"ringOfTheTideRegeneratesHpEachTurn", "piercingBowIgnoresPartOfTargetDefense",
|
||||||
|
"builderOccasionallyPlacesAnArtifactFromDepthFive", "artifactsStayOffFloorsAboveDepthFive",
|
||||||
|
"artifactFieldsSurviveSerialization",
|
||||||
|
"useItemOnAKitPlantsAHiddenTrapOnThePlayersTile", "plantingATrapWhereOneAlreadyExistsFails",
|
||||||
|
"aMonsterSteppingOntoAPlayerSetTrapSpringsIt",
|
||||||
|
"checkTrapForSkipsAndLeavesUndetectedForALevitatingMonster",
|
||||||
|
"movePlayerSkipsTheInlineTrapTriggerForALevitatingPlayer",
|
||||||
|
"aLethalTrapKillsAWeakMonsterAndCreditsThePlayer",
|
||||||
|
"aTeleportTrapRelocatesTheMonsterThatSpringsIt", "builderOccasionallyPlacesATrapKitFromDepthTwo",
|
||||||
|
"kitsStayOffTheEntranceFloor", "plantedTrapFieldsSurviveSerialization",
|
||||||
|
"bossCreateBuildsAFreshUnenragedBoss", "bossAtFullHealthDoesNotEnrage",
|
||||||
|
"bossEnragesOncePastItsHalfHpThresholdAndOnlyOnce", "bossLootMatchesItsCatalogEntry",
|
||||||
|
"bossOnlyArtifactsAreExcludedFromTheRandomBuilderRoll",
|
||||||
|
"builderOccasionallyPlacesABossFromDepthSix", "bossesStayOffFloorsAboveDepthSix",
|
||||||
|
"takeMonsterTurnEnragesABloodiedBossBeforeItsAiActs",
|
||||||
|
"defeatingABossGrantsBossXpAndDropsItsGuaranteedArtifact", "bossFieldsSurviveSerialization",
|
||||||
|
"questGenerateProducesACullBounty", "questGenerateProducesAHoardBounty",
|
||||||
|
"questGenerateProducesADepthBountyClampedToMaxDepth",
|
||||||
|
"questAcceptBindsThePlayerAndClaimsTheBoard", "questAcceptFailsWhenAlreadyHoldingOne",
|
||||||
|
"questAcceptFailsOnAnAlreadyClaimedBoard",
|
||||||
|
"questRegisterKillIncrementsOnlyMatchingSpeciesWhileActive",
|
||||||
|
"questResolvedDetectsEachKindsCompletion",
|
||||||
|
"gameResolveQuestPaysOutAndClearsAFulfilledBounty", "gameResolveQuestIsANoOpOnAnUnmetBounty",
|
||||||
|
"gameTryAcceptQuestBindsAndLogsWhenStandingOnAnUnclaimedBoard",
|
||||||
|
"autopilotAcceptsAnUnclaimedBountyForFreeWithoutSkippingItsTurn",
|
||||||
|
"autopilotSkipsAnAlreadyClaimedBoard", "autopilotDoesNotStackASecondBountyWhileOneIsActive",
|
||||||
|
"questBoardRendersItsGlyphAndFlipsOnceClaimed", "questFieldsSurviveSerialization",
|
||||||
|
"builderOccasionallyPlacesAQuestBoardFromDepthTwo", "questBoardsStayOffTheEntranceFloor",
|
||||||
|
"metaFreshStateHasNoRenownRunsOrAchievements",
|
||||||
|
"metaRenownForScalesWithDepthBossesAndQuestsAndAddsAWinBonus",
|
||||||
|
"metaRecordRunBanksRenownAndAdvancesTallies",
|
||||||
|
"metaRecordRunUnlocksMatchingAchievementsOnlyOnce",
|
||||||
|
"metaPurchaseSpendsRenownAndMarksThePerkOwned", "metaPurchaseFailsWithoutEnoughRenown",
|
||||||
|
"metaPurchaseFailsForAnAlreadyOwnedPerk", "metaPurchaseFailsForAnUnknownPerk",
|
||||||
|
"metaApplyAllAppliesEveryOwnedPerkToAFreshPlayer", "metaAppliedPerksLandBeneathAClassDelta",
|
||||||
|
"metaLoadReturnsFreshStateForAMissingFile", "metaSaveLoadRoundTrip",
|
||||||
|
"gameAwardKillTracksKillsAndBossKillsForMetaStats",
|
||||||
|
"gameResolveQuestTracksQuestsCompletedForMetaStats",
|
||||||
|
"gamePickupTracksArtifactsFoundForMetaStats", "gameDescendTracksDeepestDepthEvenAfterAscending",
|
||||||
|
"gameMetaStatsFieldsSurviveSerialization",
|
||||||
|
"resistancesDefaultTierPassesDamageThroughUnchanged", "resistancesResistHalvesAndFloors",
|
||||||
|
"resistancesWeakAmplifies", "resistancesImmuneZeroesEvenAHugeHit",
|
||||||
|
"resistancesEquipmentGrantsATierOnTopOfABaseProfile",
|
||||||
|
"resistancesInnateWeaknessIsMaskedByAResistantItem",
|
||||||
|
"combatDefenderResistanceHalvesTheFinalBlow",
|
||||||
|
"combatWeaponElementOverridesPhysicalAndCanBeFullyImmune",
|
||||||
|
"statusPoisonAndBurningTicksRespectResistance",
|
||||||
|
"statusPoisonShrugAndRegenKnitMessagesAddressThePlayerInSecondPerson",
|
||||||
|
"hazardsAfflictAppliesTargetResistance",
|
||||||
|
"spellMissileAndFireballRespectTargetResistance", "throwingAndRangedDamageRespectResistance",
|
||||||
|
"equippingCinderplateAndFrostbandGrantsTheirResist",
|
||||||
|
"disenchantingAnElementalAffixClearsItsDamageType",
|
||||||
|
"bossBreathDamageTypeMatchesTheMonsterAndCanBeShruggedOff",
|
||||||
|
"resistFieldsSurviveEntitySerialization",
|
||||||
|
"factionsTierBoundariesReflectReputationScore",
|
||||||
|
"factionsAdjustAccumulatesAndClampsToTheHundredBounds",
|
||||||
|
"factionsRegisterKillSoursOnlyTheFallensFaction",
|
||||||
|
"factionsRegisterKillPenalizesABossFarMoreThanARegularKill",
|
||||||
|
"factionsRegisterKillIgnoresAFactionlessTarget",
|
||||||
|
"factionsPriceMultiplierScalesFromHostileToHonored",
|
||||||
|
"factionsIsWaryTrueForAFreshGoblinoidAndFalseOnceProvoked",
|
||||||
|
"factionsIsWaryIsFalseForNonTribalFactionsAndOnceTheTribeGoesHostile",
|
||||||
|
"factionsAppeaseSpendsGoldAndRaisesReputationOrFailsWithoutFunds",
|
||||||
|
"factionsAppeaseCostsMoreTheDeeperTheGrudge",
|
||||||
|
"factionsAppeaseFailsOnceAFactionIsAlreadyMaxedOut",
|
||||||
|
"factionAndProvokedFieldsSurviveEntitySerialization",
|
||||||
|
"gameTakeMonsterTurnLeavesAWaryGoblinoidAloneUntilProvoked",
|
||||||
|
"gamePlayerAttackProvokesAWaryGoblinoidSoItFightsBackNextTurn",
|
||||||
|
"gameAwardKillSoursFactionReputationWithTheFallensFaction",
|
||||||
|
"shopBuyIsMarkedUpWhenMerchantsAreHostile", "shopBuyIsDiscountedWhenMerchantsAreHonored",
|
||||||
|
"shopSellValueRisesWithMerchantStanding", "stealingFromShopAlsoSoursMerchantReputation",
|
||||||
|
"resolveQuestNudgesMerchantReputationUpward", "gameAppeaseFactionSpendsGoldAndLogsTheOutcome",
|
||||||
|
"playerReputationSurvivesGameSaveLoadRoundTrip",
|
||||||
|
"encumbranceItemWeightScalesWithGearPower", "encumbranceAmmoWeightScalesWithStackCount",
|
||||||
|
"encumbranceCapacityGrowsWithLevel", "encumbranceEquippedGearCountsTowardCarriedWeight",
|
||||||
|
"encumbranceLightLoadHasNoPenalty", "encumbranceBurdenedSlowsMovementButNotDefense",
|
||||||
|
"encumbranceOverloadedSlowsMovementAndWeakensDefense",
|
||||||
|
"gameDropItemReturnsItemToTheFloorAndFreesCapacity",
|
||||||
|
"gamePickupWarnsWhenNewWeightTipsIntoOverloaded",
|
||||||
|
"gamePickupWarnsWithALighterMessageWhenOnlyTippingIntoBurdened",
|
||||||
|
"autopilotDropsCheapestJunkWhenOverloadedAndSafe",
|
||||||
|
"encumbranceTierIsDerivedAcrossASaveLoadRoundTrip",
|
||||||
|
"renderPanelShowsCarriedLoad",
|
||||||
|
"tilesClassifyVolatileTerrain",
|
||||||
|
"terrainAfflictLavaDoesNothingOffLava", "terrainLavaRespectsFireResistanceAndImmunity",
|
||||||
|
"terrainAfflictLavaUnharmedMessageAddressesThePlayerInSecondPerson",
|
||||||
|
"terrainLavaBurnsAndIgnitesAPlayerWhoStepsOnIt", "terrainLavaCanKillAWeakMonsterAndCreditsThePlayer",
|
||||||
|
"terrainChasmDropsThePlayerToTheFloorBelowWithFallDamage",
|
||||||
|
"terrainChasmSwallowsAMonsterAndCreditsTheKill",
|
||||||
|
"terrainIceSlidesATravellerUntilSomethingStopsIt", "terrainIceSlideStopsBeforeAWall",
|
||||||
|
"terrainIceSlideStopsAtAnOccupiedCell",
|
||||||
|
"checkTerrainForSkipsLavaDamageAndIgnitionForALevitatingPlayer",
|
||||||
|
"checkTerrainForSkipsTheChasmFallForALevitatingPlayer",
|
||||||
|
"checkTerrainForSkipsTheIceSlideForALevitatingPlayer",
|
||||||
|
"checkTerrainForSkipsLavaForALevitatingMonsterToo",
|
||||||
|
"terrainGlyphsSurviveMapSerialization",
|
||||||
|
"chasmFallFieldsSurviveGameSaveLoad", "lavaChasmAndIceStayOffTheShallowFloors",
|
||||||
|
"builderOccasionallyPlacesLavaChasmAndIceFromDepthFour", "chasmNeverAppearsOnTheFinalFloor",
|
||||||
|
"eliteNeverPromotesBelowMinDepth", "eliteEligibleExcludesBossesAndTheShopkeeper",
|
||||||
|
"eliteArmoredAffixAddsFlatDefenseAndPrefixesTheName",
|
||||||
|
"eliteChampionTierAtDeepDepthRollsTwoDistinctAffixes", "eliteFieldsSurviveSerialization",
|
||||||
|
"monstersCreateNeverAliasesTheSpeciesCatalogsInnateResistTable",
|
||||||
|
"builderOccasionallyPromotesAMonsterToEliteFromDepthThree",
|
||||||
|
"elitesNeverAppearOnTheShallowestTwoFloors",
|
||||||
|
"eliteVampiricMonsterDrainsHpFromThePlayerOnAMeleeHit",
|
||||||
|
"eliteChillingMonsterSlowsThePlayerOnAMeleeHit",
|
||||||
|
"eliteVolatileMonsterExplodesOnDeathDamagingAnAdjacentPlayer",
|
||||||
|
"eliteVolatileMonsterDoesNotBurstAnythingBeyondItsBlastRadius",
|
||||||
|
"eliteKillGrantsBonusXpOverThePlainSpeciesReward",
|
||||||
|
"vaultsPullThrowsALeverAndOpensASingleLeverVaultImmediately",
|
||||||
|
"vaultsPullOpensTheDoorOnlyOnceEveryLeverIsThrown",
|
||||||
|
"vaultsTreasureRollsAGuaranteedAffixOnABaseStrongerThanAnyFloorDrop",
|
||||||
|
"gamePullLeverOpensASingleLeverVaultAndTracksTheStat",
|
||||||
|
"gamePullLeverOnATwoLeverVaultWaitsForTheSecondPull",
|
||||||
|
"pullingAnAlreadyThrownLeverAgainDoesNotInflateTheVaultTally",
|
||||||
|
"movePlayerAutoPullsALeverItStepsOnto",
|
||||||
|
"vaultDoorBlocksMovementUntilItsLeversOpenIt",
|
||||||
|
"builderOccasionallyPlacesAVaultFromDepthFive",
|
||||||
|
"vaultsStayOffFloorsAboveDepthFive",
|
||||||
|
"builderOnlyEverPlacesASolvableVaultPuzzle",
|
||||||
|
"vaultFieldsSurviveSerialization",
|
||||||
|
"gameVaultsOpenedStatSurvivesSaveLoad",
|
||||||
|
"metaRenownForScalesWithVaultsOpened",
|
||||||
|
"metaRecordRunUnlocksVaultBreakerOnceAVaultOpens",
|
||||||
|
"runewordsSocketAppendsToTheChainInOrderAndCapsAtMaxRunes",
|
||||||
|
"runewordsSocketRefusesAnythingThatIsNotWeaponOrArmor",
|
||||||
|
"runewordsActiveWordMatchesOnlyAnExactChain",
|
||||||
|
"runewordsAttackAndDefenseBonusReadTheWielderSGearLive",
|
||||||
|
"gameSocketRuneAppliesItsRunewordBonusInActualCombat",
|
||||||
|
"gameSocketRuneFailsOnAnUnknownTargetOrANonRuneItem",
|
||||||
|
"builderOccasionallyPlacesARuneFromDepthThree",
|
||||||
|
"runesStayOffTheShallowestTwoFloors",
|
||||||
|
"runeChainFieldsSurviveSerialization",
|
||||||
|
"atmosphereHooksAreZeroForAnyConditionTheyDoNotGovern",
|
||||||
|
"atmosphereFoggyShrinksSightRadiusButNeverBelowOne",
|
||||||
|
"atmosphereConsecratedRegeneratesThePlayerEachTurn",
|
||||||
|
"atmosphereConsecratedNeverRegeneratesPastMaxHp",
|
||||||
|
"builderOccasionallyDrawsEachWeatherConditionFromDepthTwo",
|
||||||
|
"weatherNeverAppearsOnTheEntranceFloor",
|
||||||
|
"weatherFieldSurvivesSerialization",
|
||||||
|
"renderPanelReportsTheFloorSWeatherWhenPresent",
|
||||||
|
"biomesForDepthCyclesThroughTheCatalogInOrder", "biomesDescribeNamesTheBiomeAndItsAmbientText",
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, name in ipairs(order) do
|
for _, name in ipairs(order) do
|
||||||
|
|||||||
Reference in new issue
Block a user