kolmafia / kolmafia

Compare 25a87eb ... +0 ... 7004c1d

Coverage Reach
request/FightRequest.java request/UseItemRequest.java request/RelayRequest.java request/GenericRequest.java request/UseSkillRequest.java request/ClanLoungeRequest.java request/CharPaneRequest.java request/EquipmentRequest.java request/SpelunkyRequest.java request/CampgroundRequest.java request/DwarfFactoryRequest.java request/NPCPurchaseRequest.java request/CreateItemRequest.java request/ArcadeRequest.java request/BasementRequest.java request/AdventureRequest.java request/PlaceRequest.java request/EatItemRequest.java request/UneffectRequest.java request/DrinkItemRequest.java request/FamiliarRequest.java request/StorageRequest.java request/ClanRumpusRequest.java request/AscensionHistoryRequest.java request/MallSearchRequest.java request/CoinMasterRequest.java request/SpaaaceRequest.java request/BountyHunterHunterRequest.java request/TransferItemRequest.java request/CharSheetRequest.java request/ProfileRequest.java request/PandamoniumRequest.java request/AccountRequest.java request/DeckOfEveryCardRequest.java request/AfterLifeRequest.java request/MallPurchaseRequest.java request/BeachCombRequest.java request/FloristRequest.java request/LatteRequest.java request/HermitRequest.java request/ManageStoreRequest.java request/PeeVPeeRequest.java request/CargoCultistShortsRequest.java request/SewerRequest.java request/IslandRequest.java request/GuildRequest.java request/SushiRequest.java request/AutoSellRequest.java request/CampAwayRequest.java request/TavernRequest.java request/FamTeamRequest.java request/ClanLogRequest.java request/CakeArenaRequest.java request/ApiRequest.java request/ClosetRequest.java request/SkateParkRequest.java request/DwarfContraptionRequest.java request/ChateauRequest.java request/SpleenItemRequest.java request/QuestLogRequest.java request/PantogramRequest.java request/UntinkerRequest.java request/SwaggerShopRequest.java request/CafeRequest.java request/BigBrotherRequest.java request/KGBRequest.java request/PurchaseRequest.java request/Crimbo11Request.java request/ClanStashRequest.java request/FalloutShelterRequest.java request/ChezSnooteeRequest.java request/PottedTeaTreeRequest.java request/MicroBreweryRequest.java request/SingleUseRequest.java request/MomRequest.java request/ZapRequest.java request/DisplayCaseRequest.java request/SpinMasterLatheRequest.java request/MultiUseRequest.java request/PulverizeRequest.java request/AutoMallRequest.java request/StandardRequest.java request/SummoningChamberRequest.java request/BeerPongRequest.java request/HeyDezeRequest.java request/ClanMembersRequest.java request/MrStoreRequest.java request/ClanFortuneRequest.java request/VYKEARequest.java request/TravelingTraderRequest.java request/GenieRequest.java request/SendGiftRequest.java request/SweetSynthesisRequest.java request/LoginRequest.java request/TelescopeRequest.java request/Crimbo09Request.java request/CurseRequest.java request/ShrineRequest.java request/DreadsylvaniaRequest.java request/ClanLoungeSwimmingPoolRequest.java request/MailboxRequest.java request/TrendyRequest.java request/WildfireCampRequest.java request/PizzaCubeRequest.java request/FudgeWandRequest.java request/MerchTableRequest.java request/MummeryRequest.java request/JarlsbergRequest.java request/GameShoppeRequest.java request/ArmoryAndLeggeryRequest.java request/QuantumTerrariumRequest.java request/SuburbanDisRequest.java request/ClanWarRequest.java request/SausageOMaticRequest.java request/MushroomRequest.java request/RaffleRequest.java request/FunALogRequest.java request/CosmicRaysBazaarRequest.java request/GourdRequest.java request/MindControlRequest.java request/MemeShopRequest.java request/ScrapheapRequest.java request/NumberologyRequest.java request/BURTRequest.java request/VolcanoIslandRequest.java request/SendMailRequest.java request/OrcChasmRequest.java request/TerrifiedEagleInnRequest.java request/FriarRequest.java request/PhineasRequest.java request/CoinMasterPurchaseRequest.java request/NemesisRequest.java request/CraftRequest.java request/TicketCounterRequest.java request/ShoreGiftShopRequest.java request/EdBaseRequest.java request/DripArmoryRequest.java request/FDKOLRequest.java request/BlackMarketRequest.java request/AWOLQuartermasterRequest.java request/GotporkPDRequest.java request/Crimbo17Request.java request/TrophyRequest.java request/BatFabricatorRequest.java request/StarChartRequest.java request/ArtistRequest.java request/GotporkOrphanageRequest.java request/ChemiCorpRequest.java request/ChefStaffRequest.java request/CustomOutfitRequest.java request/PokemporiumRequest.java request/KnollRequest.java request/YeNeweSouvenirShoppeRequest.java request/NinjaStoreRequest.java request/PortalRequest.java request/Crimbo20FoodRequest.java request/ShoeRepairRequest.java request/TacoDanRequest.java request/NeandermallRequest.java request/Crimbo20BoozeRequest.java request/BarrelShrineRequest.java request/AppleStoreRequest.java request/Crimbo20CandyRequest.java request/VendingMachineRequest.java request/BrogurtRequest.java request/DimemasterRequest.java request/KOLHSRequest.java request/RichardRequest.java request/QuartersmasterRequest.java request/ClanBuffRequest.java request/DinseyCompanyStoreRequest.java request/YourCampfireRequest.java request/SpacegateFabricationRequest.java request/SHAWARMARequest.java request/ArmoryRequest.java request/CanteenRequest.java request/RubeeRequest.java request/TerminalExtrudeRequest.java request/CrimboCartelRequest.java request/WalMartRequest.java request/CrimboCafeRequest.java request/GuzzlrRequest.java request/SugarSheetRequest.java request/PlumberGearRequest.java request/DiscoGiftCoRequest.java request/PlumberItemRequest.java request/LocketRequest.java request/BuffJimmyRequest.java request/SpacegateEquipmentRequest.java request/CombineMeatRequest.java request/EdShopRequest.java request/VolcanoMazeRequest.java request/WarbearBoxRequest.java request/GMartRequest.java request/WaxGlobRequest.java request/FishboneryRequest.java request/BoutiqueRequest.java request/Crimbo14Request.java request/ThankShopRequest.java request/Crimbo10Request.java request/TrapperRequest.java request/GrandpaRequest.java request/GnomeTinkerRequest.java request/ToxicChemistryRequest.java request/NuggletCraftingRequest.java request/FiveDPrinterRequest.java request/LeafletRequest.java request/MeteoroidRequest.java request/TerminalRequest.java request/CRIMBCOGiftShopRequest.java request/PrecinctRequest.java request/LTTRequest.java request/ChannelColorsRequest.java request/Crimbo12Request.java request/BurningNewspaperRequest.java request/Crimbo07Request.java request/Crimbo21TreeRequest.java request/ChatRequest.java request/SeaMerkinRequest.java request/StillRequest.java request/FreeSnackRequest.java request/PixelRequest.java request/AltarOfLiteracyRequest.java request/SaberRequest.java request/DigRequest.java request/BatFellowRequest.java request/MonsterManuelRequest.java request/TrophyHutRequest.java request/Crimbo16Request.java request/JunkMagazineRequest.java request/SliemceRequest.java request/AirportRequest.java request/ClipArtRequest.java request/SpantRequest.java request/GrandmaRequest.java request/KringleRequest.java request/LunarLunchRequest.java request/BeerGardenRequest.java request/RumpleRequest.java request/WinterGardenRequest.java request/XOShopRequest.java request/LogoutRequest.java request/WitchessRequest.java request/UmbrellaRequest.java request/PasswordHashRequest.java request/MoonPhaseRequest.java request/AltarOfBonesRequest.java request/DollHawkerRequest.java request/IsotopeSmitheryRequest.java request/HellKitchenRequest.java request/PyramidRequest.java request/ContactListRequest.java request/FantasyRealmRequest.java request/DecorateTentRequest.java request/RabbitHoleRequest.java request/TutorialRequest.java request/Crimbo06Request.java request/ShowClanRequest.java request/ClanHallRequest.java request/Crimbo05Request.java request/PalmFrondRequest.java request/FloundryRequest.java request/CouncilRequest.java request/BarrelRequest.java request/InternalChatRequest.java session/ChoiceControl.java session/ChoiceAdventures.java session/QuestManager.java session/ResultProcessor.java session/EquipmentManager.java session/ChoiceManager.java session/InventoryManager.java session/BastilleBattalionManager.java session/RabbitHoleManager.java session/ResponseTextParser.java session/WumpusManager.java session/VolcanoMazeManager.java session/BatManager.java session/SorceressLairManager.java session/IslandManager.java session/BreakfastManager.java session/BuffBotManager.java session/YouRobotManager.java session/MushroomManager.java session/StoreManager.java session/ClanManager.java session/LeafletManager.java session/TurnCounter.java session/GreyYouManager.java session/MallPriceManager.java session/VioletFogManager.java session/BanishManager.java session/MonsterManuelManager.java session/EncounterManager.java session/HaciendaManager.java session/ValhallaManager.java session/RumpleManager.java session/TavernManager.java session/TowerDoorManager.java session/ConsequenceManager.java session/BeachManager.java session/Limitmode.java session/NemesisManager.java session/DreadScrollManager.java session/DvorakManager.java session/BadMoonManager.java session/DadManager.java session/GameproManager.java session/LouvreManager.java session/LoginManager.java session/CrystalBallManager.java session/GoalManager.java session/DisplayCaseManager.java session/PvpManager.java session/OceanManager.java session/BugbearManager.java session/ContactManager.java session/VampOutManager.java session/JourneyManager.java session/LocketManager.java session/HeistManager.java session/SpadingManager.java session/EventManager.java session/GuildUnlockManager.java session/MailManager.java session/UnusualConstructManager.java session/JuneCleaverManager.java session/LogoutManager.java session/FamiliarManager.java session/LightsOutManager.java session/MonorailManager.java session/SafetyShelterManager.java session/CursedMagnifyingGlassManager.java session/LostKeyManager.java session/NumberologyManager.java session/VotingBoothManager.java session/ActionBarManager.java session/EquipmentRequirement.java session/VoteMonsterManager.java session/GourdManager.java session/DaylightShavingsHelmetManager.java textui/command/TestCommand.java textui/command/CargoCultCommand.java textui/command/ShowDataCommand.java textui/command/ConditionsCommand.java textui/command/FoldItemCommand.java textui/command/RestaurantCommand.java textui/command/JourneyCommand.java textui/command/ShopCommand.java textui/command/TimeSpinnerCommand.java textui/command/ConditionalStatement.java textui/command/CheckDataCommand.java textui/command/SynthesizeCommand.java textui/command/UseItemCommand.java textui/command/PlayCommand.java textui/command/TCRSCommand.java textui/command/BeachCommand.java textui/command/EdServantCommand.java textui/command/CallScriptCommand.java textui/command/SVNCommand.java textui/command/StorageCommand.java textui/command/RecipeCommand.java textui/command/TerminalCommand.java textui/command/AsdonMartinCommand.java textui/command/BountyCommand.java textui/command/AccordionsCommand.java textui/command/AbsorptionsCommand.java textui/command/VolcanoCommand.java textui/command/CleanupJunkRequest.java textui/command/SpeculateCommand.java textui/command/JsRefCommand.java textui/command/FamiliarCommand.java textui/command/GongCommand.java textui/command/NumberologyCommand.java textui/command/PastaThrallCommand.java textui/command/AbstractCommand.java textui/command/GooSkillsCommand.java textui/command/CliRefCommand.java textui/command/WikiLookupCommand.java textui/command/EdPieceCommand.java textui/command/RetroCapeCommand.java textui/command/SendMessageCommand.java textui/command/PrefRefCommand.java textui/command/ModRefCommand.java textui/command/CoinmasterCommand.java textui/command/TaleOfDreadCommand.java textui/command/WumpusCommand.java textui/command/ComparisonShopCommand.java textui/command/PvpStealCommand.java textui/command/GuzzlrCommand.java textui/command/PillKeeperCommand.java textui/command/EudoraCommand.java textui/command/HeistCommand.java textui/command/GenieCommand.java textui/command/EnthroneCommand.java textui/command/BjornifyCommand.java textui/command/PvpAttackCommand.java textui/command/SetPreferencesCommand.java textui/command/EquipCommand.java textui/command/OlfactionCommand.java textui/command/QuarkCommand.java textui/command/DebugRequestCommand.java textui/command/AutoAttackCommand.java textui/command/BoomBoxCommand.java textui/command/TowerDoorCommand.java textui/command/PandaCommand.java textui/command/HermitCommand.java textui/command/MoodCommand.java textui/command/GardenCommand.java textui/command/UseSkillCommand.java textui/command/ClosetCommand.java textui/command/RefreshStatusCommand.java textui/command/BugbearsCommand.java textui/command/SpacegateCommand.java textui/command/SummonDemonCommand.java textui/command/EditMoodCommand.java textui/command/ChoiceCommand.java textui/command/HorseryCommand.java textui/command/BarrelPrayerCommand.java textui/command/KitchenCommand.java textui/command/FortuneCommand.java textui/command/SpoonCommand.java textui/command/UneffectCommand.java textui/command/BuyCommand.java textui/command/DwarfFactoryCommand.java textui/command/UmbrellaCommand.java textui/command/MayoMinderCommand.java textui/command/TelescopeCommand.java textui/command/RestoresCommand.java textui/command/SaberCommand.java textui/command/FlickerCommand.java textui/command/MushroomFieldCommand.java textui/command/ChangeCombatScriptCommand.java textui/command/BangPotionsCommand.java textui/command/EditCommand.java textui/command/GapCommand.java textui/command/PlayerSnapshotCommand.java textui/command/MummeryCommand.java textui/command/CrossStreamsCommand.java textui/command/SkeletonCommand.java textui/command/CountersCommand.java textui/command/AdventureCommand.java textui/command/CompleteQuestCommand.java textui/command/AbsorbCommand.java textui/command/SnowsuitCommand.java textui/command/DaycareCommand.java textui/command/MacroTestCommand.java textui/command/ExtendEffectCommand.java textui/command/FaxbotCommand.java textui/command/ItemTraceCommand.java textui/command/PrefTraceCommand.java textui/command/SnapperCommand.java textui/command/TeaTreeCommand.java textui/command/ChessCommand.java textui/command/BanishesCommand.java textui/command/BurnMpCommand.java textui/command/CampgroundCommand.java textui/command/RecoverCommand.java textui/command/HatterCommand.java textui/command/DisplayCaseCommand.java textui/command/OutfitCommand.java textui/command/FriarBlessingCommand.java textui/command/LatteCommand.java textui/command/NunneryCommand.java textui/command/PirateInsultsCommand.java textui/command/CreateItemCommand.java textui/command/AutoMallCommand.java textui/command/ClanStashCommand.java textui/command/GrimCommand.java textui/command/NemesisCommand.java textui/command/ThrowItemCommand.java textui/command/ChipsCommand.java textui/command/MomCommand.java textui/command/AshMultiLineCommand.java textui/command/PoolCommand.java textui/command/SubmitSpadeDataCommand.java textui/command/SpookyravenCommand.java textui/command/InternalRequestCommand.java textui/command/AshSingleLineCommand.java textui/command/FaxCommand.java textui/command/UnequipCommand.java textui/command/RaffleCommand.java textui/command/BackupCameraCommand.java textui/command/ReminisceCommand.java textui/command/TrainFamiliarCommand.java textui/command/SwimmingPoolCommand.java textui/command/HallOfLegendsCommand.java textui/command/StyxPixieCommand.java textui/command/NamespaceAddCommand.java textui/command/WindowOpenCommand.java textui/command/SlimeStackCommand.java textui/command/MirrorLogCommand.java textui/command/SkeeballCommand.java textui/command/MonsterDataCommand.java textui/command/AreaSummaryCommand.java textui/command/FakeAddItemCommand.java textui/command/NamespaceListCommand.java textui/command/CrimboTreeCommand.java textui/command/LoginCommand.java textui/command/TryStatement.java textui/command/UpdateDataCommand.java textui/command/FloristCommand.java textui/command/CacheCommand.java textui/command/AliasCommand.java textui/command/ZapCommand.java textui/command/LeafletCommand.java textui/command/JavaScriptCommand.java textui/command/MayosoakCommand.java textui/command/WaitCommand.java textui/command/WitchessCommand.java textui/command/DebugCreateCommand.java textui/command/ConcertCommand.java textui/command/WinGameCommand.java textui/command/ToggleCommand.java textui/command/UntinkerCommand.java textui/command/JukeboxCommand.java textui/command/AcquireCommand.java textui/command/ShowerCommand.java textui/command/ModifierTraceCommand.java textui/command/OutfitCheckpointCommand.java textui/command/VisitURLCommand.java textui/command/ModifierListCommand.java textui/command/SearchMallCommand.java textui/command/EchoCommand.java textui/command/LogEchoCommand.java textui/command/WhileStatement.java textui/command/ColorEchoCommand.java textui/command/StickersCommand.java textui/command/RepeatLineCommand.java textui/command/ElseIfStatement.java textui/command/ModifierMaximizeCommand.java textui/command/RegisterAdventureCommand.java textui/command/ClanCommand.java textui/command/EnableCommand.java textui/command/FullEchoCommand.java textui/command/ElseStatement.java textui/command/DemonNamesCommand.java textui/command/IfStatement.java textui/command/CouncilCommand.java textui/command/BacktraceCommand.java textui/command/SkateParkCommand.java textui/command/DadCommand.java textui/command/BudgetCommand.java textui/command/MonsterLevelCommand.java textui/command/ClanSofaCommand.java textui/command/MonorailCommand.java textui/command/DustyBottlesCommand.java textui/command/AutoSellCommand.java textui/command/GrayGUICommand.java textui/command/EventsCommand.java textui/command/RelayBrowserCommand.java textui/command/MallRepriceCommand.java textui/command/NewEffectCommand.java textui/command/CommandAlias.java textui/command/PulverizeCommand.java textui/command/PripheaCommand.java textui/command/FakeRemoveItemCommand.java textui/command/DreadscrollCommand.java textui/command/BuffbotCommand.java textui/command/SetHolidayCommand.java textui/command/AbortCommand.java textui/command/ManaRestoreCountCommand.java textui/command/WikiMafiaSearchCommand.java textui/command/SaveAsMoodCommand.java textui/command/WikiSearchCommand.java textui/command/HotTubCommand.java textui/command/LogoutCommand.java textui/command/BasementCommand.java textui/command/ClearBufferCommand.java textui/command/GarbageCollectCommand.java textui/command/MallSellCommand.java textui/command/PoolskillCommand.java textui/command/ExitCommand.java textui/command/HeapDumpCommand.java textui/command/AshRefCommand.java textui/command/ForumCommand.java textui/command/MoleRefCommand.java textui/command/VersionCommand.java textui/command/FlowerHuntCommand.java textui/command/BallPitCommand.java textui/command/UnaliasCommand.java textui/command/MemoryCleanupCommand.java textui/command/BadMoonCommand.java textui/command/BreakfastCommand.java textui/command/CondRefCommand.java textui/command/GrandpaCommand.java textui/RuntimeLibrary.java textui/parsetree/ProxyRecordValue.java textui/parsetree/Operator.java textui/parsetree/Type.java textui/parsetree/Value.java textui/parsetree/BasicScope.java textui/parsetree/Function.java textui/parsetree/CompositeReference.java textui/parsetree/ArrayValue.java textui/parsetree/RecordValue.java textui/parsetree/ForLoop.java textui/parsetree/ForEachLoop.java textui/parsetree/RecordType.java textui/parsetree/JavaForLoop.java textui/parsetree/FunctionCall.java textui/parsetree/Switch.java textui/parsetree/SortBy.java textui/parsetree/AggregateType.java textui/parsetree/MapValue.java textui/parsetree/TernaryExpression.java textui/parsetree/CompositeValue.java textui/parsetree/SwitchScope.java textui/parsetree/Variable.java textui/parsetree/Concatenate.java textui/parsetree/UserDefinedFunction.java textui/parsetree/Assignment.java textui/parsetree/Try.java textui/parsetree/IncDec.java textui/parsetree/FunctionReturn.java textui/parsetree/LibraryFunction.java textui/parsetree/If.java textui/parsetree/FunctionInvocation.java textui/parsetree/WhileLoop.java textui/parsetree/RecordInitializer.java textui/parsetree/RepeatUntilLoop.java textui/parsetree/Operation.java textui/parsetree/Catch.java textui/parsetree/Conditional.java textui/parsetree/VariableReference.java textui/parsetree/Scope.java textui/parsetree/ArrayLiteral.java textui/parsetree/PluralValue.java textui/parsetree/ScriptState.java textui/parsetree/Else.java textui/parsetree/MapLiteral.java textui/parsetree/Loop.java textui/parsetree/TypeDef.java textui/parsetree/Symbol.java textui/parsetree/TypeList.java textui/parsetree/VariableList.java textui/parsetree/Evaluable.java textui/parsetree/FunctionList.java textui/parsetree/VarArgType.java textui/parsetree/AggregateLiteral.java textui/parsetree/ElseIf.java textui/parsetree/Expression.java textui/parsetree/BasicScript.java textui/parsetree/Command.java textui/parsetree/TypeInitializer.java textui/parsetree/StaticScope.java textui/parsetree/ScriptExit.java textui/parsetree/CompositeType.java textui/parsetree/AggregateValue.java textui/parsetree/LoopBreak.java textui/parsetree/LoopContinue.java textui/parsetree/ParseTreeNode.java textui/Parser.java textui/javascript/JavascriptRuntime.java textui/javascript/ValueConverter.java textui/javascript/EnumeratedWrapper.java textui/javascript/EnumeratedWrapperPrototype.java textui/javascript/AshStub.java textui/javascript/SafeRequire.java textui/javascript/LibraryFunctionStub.java textui/javascript/ProxyRecordMethodWrapper.java textui/javascript/MainWarningScript.java textui/javascript/UserDefinedFunctionStub.java textui/javascript/ObservingContextFactory.java textui/DataTypes.java textui/langserver/StateCheckWrappers.java textui/langserver/Script.java textui/langserver/FilesMonitor.java textui/langserver/AshLanguageServer.java textui/langserver/textdocumentservice/AshTextDocumentService.java textui/langserver/workspaceservice/AshWorkspaceService.java textui/AshRuntime.java textui/DataFileCache.java textui/Line.java textui/renderer/AnsiSerializer.java textui/Profiler.java textui/AbstractRuntime.java textui/NamespaceInterpreter.java textui/ScriptRuntime.java textui/ScriptException.java swingui/panel/DailyDeedsPanel.java swingui/panel/CompactSidePane.java swingui/panel/ChoiceOptionsPanel.java swingui/panel/UseItemEnqueuePanel.java swingui/panel/SynthesizePanel.java swingui/panel/ItemManagePanel.java swingui/panel/AddCustomDeedsPanel.java swingui/panel/CustomCombatPanel.java swingui/panel/AdventureSelectPanel.java swingui/panel/PulverizePanel.java swingui/panel/GenericPanel.java swingui/panel/RestoreOptionsPanel.java swingui/panel/MushroomScriptPanel.java swingui/panel/MushroomPlotPanel.java swingui/panel/MoodOptionsPanel.java swingui/panel/CreateSpecialPanel.java swingui/panel/UseItemDequeuePanel.java swingui/panel/InventoryPanel.java swingui/panel/CardLayoutSelectorPanel.java swingui/panel/CommandDisplayPanel.java swingui/panel/CreateItemPanel.java swingui/panel/OptionsPanel.java swingui/panel/ScrollablePanel.java swingui/panel/MeatTransferPanel.java swingui/panel/UseItemPanel.java swingui/panel/RestorativeItemPanel.java swingui/panel/StatusEffectPanel.java swingui/panel/OverlapPanel.java swingui/panel/ItemTableManagePanel.java swingui/panel/VersionDataPanel.java swingui/panel/ItemListManagePanel.java swingui/panel/LabeledPanel.java swingui/panel/ScrollableFilteredPanel.java swingui/panel/StatusPanel.java swingui/widget/ShowDescriptionTable.java swingui/widget/ListCellRendererFactory.java swingui/widget/ShowDescriptionList.java swingui/widget/TableCellFactory.java swingui/widget/AutoFilterTextField.java swingui/widget/ColorFactory.java swingui/widget/AutoFilterComboBox.java swingui/widget/InterruptableDialog.java swingui/widget/RequestPane.java swingui/widget/DisabledItemsComboBox.java swingui/widget/CollapsibleTextArea.java swingui/widget/EditableAutoFilterComboBox.java swingui/widget/AutoHighlightSpinner.java swingui/widget/PossibleSelection.java swingui/widget/GenericScrollPane.java swingui/widget/ColorChooser.java swingui/widget/AutoHighlightTextField.java swingui/widget/CreationSettingCheckBox.java swingui/widget/UnanimatedLabel.java swingui/OptionsFrame.java swingui/FamiliarTrainingFrame.java swingui/CoinmastersFrame.java swingui/GearChangeFrame.java swingui/menu/GlobalMenuBar.java swingui/menu/LootHunterMenuItem.java swingui/menu/ScriptMRUList.java swingui/menu/MenuItemList.java swingui/menu/PartialMRUList.java swingui/menu/ScriptMenu.java swingui/menu/LoadScriptMenuItem.java swingui/menu/LootHermitMenuItem.java swingui/menu/MonsterLevelMenuItem.java swingui/menu/UntinkerMenuItem.java swingui/menu/LootTrapperMenuItem.java swingui/menu/RestCampgroundMenuItem.java swingui/menu/DebugLogMenuItem.java swingui/menu/BookmarkMenu.java swingui/menu/WindowMenu.java swingui/menu/DebugLogNoteMenuItem.java swingui/menu/WandZapMenuItem.java swingui/menu/RestClanSofaMenuItem.java swingui/menu/RestChateauMenuItem.java swingui/menu/ThreadedMenuItem.java swingui/menu/InvocationMenuItem.java swingui/menu/RelayBrowserMenuItem.java swingui/menu/DisplayFrameMenuItem.java swingui/StoreManageFrame.java swingui/GenericFrame.java swingui/ItemManageFrame.java swingui/listener/ThreadedListener.java swingui/listener/HyperlinkAdapter.java swingui/listener/DefaultComponentFocusTraversalPolicy.java swingui/listener/QuickAccessListener.java swingui/listener/DisplayFrameListener.java swingui/listener/WorldPeaceListener.java swingui/listener/TableButtonListener.java swingui/listener/StickyListener.java swingui/listener/InvocationListener.java swingui/listener/LicenseDisplayListener.java swingui/listener/TabFocusingListener.java swingui/listener/RelayBrowserListener.java swingui/listener/RefreshSessionListener.java swingui/ClanManageFrame.java swingui/MaximizerFrame.java swingui/LoginFrame.java swingui/ChatFrame.java swingui/CalendarFrame.java swingui/TrophyFrame.java swingui/RequestFrame.java swingui/BuffRequestFrame.java swingui/FaxRequestFrame.java swingui/MallSearchFrame.java swingui/SkillBuffFrame.java swingui/ScriptManageFrame.java swingui/SendMessageFrame.java swingui/MuseumFrame.java swingui/BuffBotFrame.java swingui/table/ListWrapperTableModel.java swingui/table/TransparentTable.java swingui/table/IntegerRenderer.java swingui/table/IntegerEditor.java swingui/table/ButtonRenderer.java swingui/CharSheetFrame.java swingui/CakeArenaFrame.java swingui/button/ThreadedButton.java swingui/button/InvocationButton.java swingui/button/DisplayPanelFrameButton.java swingui/button/RequestButton.java swingui/button/LoadScriptButton.java swingui/button/RelayBrowserButton.java swingui/button/DisplayFrameButton.java swingui/AdventureFrame.java swingui/SystemTrayFrame.java swingui/DatabaseFrame.java swingui/CommandDisplayFrame.java swingui/ContactListFrame.java swingui/TabbedChatFrame.java swingui/MonsterDescriptionFrame.java swingui/MeatManageFrame.java swingui/DescriptionFrame.java swingui/CouncilFrame.java swingui/RequestSynchFrame.java swingui/ProfileFrame.java swingui/GenericPanelFrame.java swingui/MushroomFrame.java swingui/SynthesizeFrame.java persistence/DebugDatabase.java persistence/ConcoctionDatabase.java persistence/ItemDatabase.java persistence/QuestDatabase.java persistence/SkillDatabase.java persistence/ConsumablesDatabase.java persistence/TCRSDatabase.java persistence/FamiliarDatabase.java persistence/EquipmentDatabase.java persistence/MonsterDatabase.java persistence/PocketDatabase.java persistence/HolidayDatabase.java persistence/AdventureDatabase.java persistence/ProfileSnapshot.java persistence/EffectDatabase.java persistence/AscensionSnapshot.java persistence/NPCStoreDatabase.java persistence/ItemFinder.java persistence/CandyDatabase.java persistence/RestoresDatabase.java persistence/FaxBotDatabase.java persistence/BuffBotDatabase.java persistence/AdventureQueueDatabase.java persistence/MallPriceDatabase.java persistence/BountyDatabase.java persistence/AdventureSpentDatabase.java persistence/CoinmastersDatabase.java persistence/ScriptManager.java persistence/DailyLimitDatabase.java persistence/Aliases.java persistence/FlaggedItems.java persistence/CafeDatabase.java persistence/Script.java persistence/InstalledScript.java webui/UseLinkDecorator.java webui/CharPaneDecorator.java webui/ValhallaDecorator.java webui/StationaryButtonDecorator.java webui/DiscoCombatHelper.java webui/BasementDecorator.java webui/RelayAgent.java webui/IslandDecorator.java webui/FightDecorator.java webui/BarrelDecorator.java webui/TopMenuDecorator.java webui/RelayServer.java webui/NemesisDecorator.java webui/MineDecorator.java webui/RelayLoader.java webui/UseItemDecorator.java webui/HobopolisDecorator.java webui/VillainLairDecorator.java webui/ClanFortuneDecorator.java webui/MemoriesDecorator.java webui/BeerPongDecorator.java maximizer/Evaluator.java maximizer/Maximizer.java maximizer/MaximizerSpeculation.java maximizer/CheckedItem.java maximizer/Boost.java maximizer/LetterBonus.java maximizer/MaximizerInterruptedException.java maximizer/MaximizerExceededException.java maximizer/MaximizerLimitException.java KoLCharacter.java utilities/StringUtilities.java utilities/ChoiceUtilities.java utilities/FileUtilities.java utilities/InputFieldUtilities.java utilities/ColorParser.java utilities/WikiUtilities.java utilities/CharacterEntities.java utilities/SortedList.java utilities/HTMLParserUtils.java utilities/ByteBufferUtilities.java utilities/LogStream.java utilities/KoLDatabase.java utilities/PHPMTRandom.java utilities/LockableListFactory.java utilities/LowerCaseEntry.java utilities/PHPRandom.java utilities/NullStream.java utilities/PauseObject.java utilities/PrefixMap.java utilities/IntegerArray.java utilities/StringArray.java utilities/HTMLListEntry.java utilities/RollingLinkedList.java utilities/ResettingHttpClient.java utilities/SwinglessUIUtils.java utilities/HashMultimap.java utilities/ByteArrayStream.java utilities/HttpUtilities.java utilities/IntWrapper.java Modifiers.java moods/MoodManager.java moods/RecoveryManager.java moods/HPRestoreItemList.java moods/MoodTrigger.java moods/MPRestoreItemList.java moods/ManaBurnManager.java moods/Mood.java moods/RestoreItem.java moods/ManaBurn.java chat/ChatManager.java chat/ChatPoller.java chat/ChatSender.java chat/ChatFormatter.java chat/ChatParser.java chat/HugglerMessage.java chat/StyledChatBuffer.java chat/ChatMessage.java chat/SentMessageEntry.java chat/HistoryEntry.java chat/EventMessage.java chat/ModeratorMessage.java chat/EnableMessage.java chat/DisableMessage.java chat/WhoMessage.java chat/InternalMessage.java chat/SystemMessage.java RequestEditorKit.java MonsterData.java combat/Macrofier.java combat/CombatActionManager.java combat/MonsterStatusTracker.java combat/CustomCombatLookup.java combat/CustomCombatStrategy.java combat/CombatEncounterKey.java combat/CustomCombatAction.java combat/CombatUtilities.java AreaCombatData.java RequestLogger.java svn/SVNManager.java svn/UpdateEventHandler.java svn/UpdateRunnable.java svn/CheckStatusRunnable.java svn/InfoHandler.java svn/CheckoutRunnable.java svn/WCEventHandler.java svn/CleanupRunnable.java svn/StatusHandler.java svn/SVNFileEvent.java KoLmafia.java KoLAdventure.java objectpool/Concoction.java objectpool/ItemPool.java objectpool/ConcoctionPool.java objectpool/EffectPool.java KoLmafiaCLI.java FamiliarData.java AdventureResult.java preferences/Preferences.java preferences/PreferenceListenerCheckBox.java Expression.java StaticEntity.java SpecialOutfit.java KoLConstants.java VYKEACompanionData.java Speculation.java EdServantData.java CoinmasterData.java listener/ListenerRegistry.java listener/CharacterListenerRegistry.java listener/PreferenceListenerRegistry.java listener/ItemListenerRegistry.java listener/NamedListenerRegistry.java listener/CharacterListener.java PastaThrallData.java RequestThread.java KoLDesktop.java KoLmafiaASH.java PokefamData.java KoLmafiaGUI.java CreateFrameRunnable.java DebugModifiers.java BuffBotHome.java AscensionPath.java AscensionClass.java KoLGUIConstants.java CakeArenaManager.java modifiers/DoubleModifier.java modifiers/BooleanModifier.java modifiers/StringModifier.java modifiers/BitmapModifier.java modifiers/DerivedModifier.java ModifierExpression.java FamiliarTool.java KoLMailMessage.java CoinmasterRegistry.java MonsterExpression.java ZodiacSign.java pages/PageRegistry.java pages/chatlaunch.java pages/charpane.java pages/Page.java RestoreExpression.java KoLmafiaTUI.java ImageCachingEditorKit.java

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.


@@ -33,7 +33,7 @@
Loading
33 33
  // engages in a combat with another castle in order to accumulate cheese.
34 34
  //
35 35
  // A Game has up to five Battles. You play until you are defeated or until
36 -
  // your fifth battle. Your score is the total cheese you gained.
36 +
  // you win the fifth battle. Your score is the total cheese you gained.
37 37
  //
38 38
  // Each Battle has two turns of preparation, where you attempt to improve
39 39
  // stats and/or gather cheese, and one round of combat.
@@ -44,28 +44,81 @@
Loading
44 44
  //
45 45
  // You can play up to 5 games per day.
46 46
  //
47 -
  // This module is intended to track the state over the course of a game:
48 -
  // initial stats, changes as you train them, cheese accumulated, and so
49 -
  // on. These will be made available in properties so that scripts can use
50 -
  // them without having to parse the response text for themselves. These
51 -
  // properties will be reset at the beginning of each game and will only be
52 -
  // valid while a game is underway.
47 +
  // This module tracks the state over the course of a game:
48 +
  // stats, changes as you train them, cheese accumulated, and so on.
53 49
  //
54 -
  // Additionally, it is intended to record the results of games in other
55 -
  // properties, which will persist until rollover, in other scripts wish to
56 -
  // analyze them.
50 +
  // These are made available in properties so that scripts can use them
51 +
  // without having to parse the response text for themselves. The properties
52 +
  // reset at the beginning of a game and are valid while a game is underway.
53 +
  //
54 +
  // This module records the results of games in other properties, which will
55 +
  // persist until rollover, in other scripts wish to analyze them.
56 +
  //
57 +
  // If the user opts in (via property), the results of all battles and all
58 +
  // cheese acquisitions are recorded in files in the "data" directory for
59 +
  // later analysis by ASH programs.
60 +
61 +
  // *** Ongoing research:
62 +
  //
63 +
  // Stats:
64 +
  //
65 +
  // - We know stat bonuses offered by style sets as displayed by
66 +
  //   "needles". Is it possible to determine actual stat values?
67 +
  //   Maybe: 12 cheese encounters scale (positively or negatively) according
68 +
  //   to one of the 6 stats. We collect data based on stat bonuses - and the
69 +
  //   yield is linear, with randomizing fuzz. Look at the x-intercepts?
70 +
  // - Is there a randomizing factor in player stats per game? One hopes not.
71 +
  // - How do the potions affect your stats during battles? They do not
72 +
  //   register on the "needles" as stat bonuses, and they do not affect
73 +
  //   cheese yields that scale by stat. But you can definitely win against
74 +
  //   tougher castles if you have them in effect than if you do not.
75 +
  //
76 +
  // Castles:
77 +
  //
78 +
  // - What are initial stats for the six castles?
79 +
  //   (Conjecture is that each is "better" at one of the six stats.)
80 +
  // - Is there a randomizing factor per game or battle?
81 +
  // - How do they scale as fight # increases?
82 +
  // - When comparing castle and player stats, one is always "higher" or
83 +
  //   "lower" than the other. Really? Perhaps equal stats have a 50% chance of
84 +
  //   winning or losing the toss?
85 +
  //
86 +
  // Battles:
87 +
  //
88 +
  // - It "feels" like you sometimes just can't win against what are normally
89 +
  //   easy opponents. Can we use statistics to confirm or deny the "feeling"?
90 +
  //   If there is a randomizing factor, which has fuzz? Player stats or castle
91 +
  //   stats? KoL "monsters" have such for attack/defense - not the player.
92 +
  //
93 +
  // Cheese:
94 +
  //
95 +
  // - What are the linear formulae for the 12 stat-scaling cheese encounters?
96 +
97 +
  // *** Solved research:
98 +
  //
99 +
  // Cheese:
100 +
  //
101 +
  // - The yields of the 3 non-scaling encounters (20, 50, 100)
102 +
  // - The yields from defeated castles (45 * castle level)
103 +
  // - The wishing well succeeds 1/3 of the time with a yield of 300.
104 +
  // - Potions that affect stats do not affect stat-scaling yields
105 +
  //
106 +
  // Stances:
107 +
  //
108 +
  // - offensive is 80% aggressor, 20% defender
109 +
  // - waiting is 50% aggressor, 50% defender
110 +
  // - defensive is 20% aggressor, 80% defender
57 111
58 112
  private BastilleBattalionManager() {}
59 113
60 114
  // *** Stats
61 115
62 -
  // We don't actually know what your stats start at,
116 +
  // We don't know what your (internal to KoL) stats start at,
63 117
  //
64 -
  // Each of the four castle Upgrades will provide bonuses to one or more
65 -
  // stats.
118 +
  // Each of the four castle Upgrades provides bonuses to one or more stats.
66 119
  //
67 120
  // There are three potions which are rewards you can get from your first game
68 -
  // (won or lost) of the day which affect your stats.
121 +
  // (won or lost) of the day which affect your stats (for combats only).
69 122
  //
70 123
  // sharkfin gumbo grants 1 turn of Shark Tooth Grin
71 124
  //    Boosts military attack and defense in Bastille Battalion.
@@ -74,16 +127,16 @@
Loading
74 127
  // interrogative elixir grants 1 turn of Enhanced Interrogation
75 128
  //    Boosts psychological attack and defense in Bastille Battalion.
76 129
  //
77 -
  // The image of the rig has six indicators ("needles") at the bottom
78 -
  // which show your upgrade-granted boosts to your six stats. The potions are
79 -
  // not accounted for in those.
130 +
  // The image of the rig has six indicators ("needles") at the bottom which
131 +
  // show your upgrade-granted boosts to your six stats. The potions do not
132 +
  // affect that display.
80 133
  //
81 134
  // The "needles" each have a horizontal location (measured in pixels) which
82 135
  // can be used to determine the current level of boostage.
83 136
  //
84 137
  // (Ezandora's relay script displays that pixel value as the value of your
85 138
  // stats. That's pretty funny; they do show how your stats compare to each
86 -
  // other, but I am sure the stats are not internally measured in pixels.
139 +
  // other, but I am sure the stats are not internally measured in pixels.)
87 140
88 141
  private static Map<String, Stat> enumNameToStat = new HashMap<>();
89 142
@@ -248,15 +301,10 @@
Loading
248 301
  //
249 302
  //     Avant-Garde - higher psychological defense?
250 303
  //     Imposing Citadel - higher psychological attack
251 -
  //     Generic - higher military defense??
304 +
  //     Generic - higher military defense?
252 305
  //     Military Fortress - higher military attack
253 306
  //     Fortified Stronghold - higher castle defense?
254 307
  //     Sprawling Chateau - higher castle attack?
255 -
  //
256 -
  // Observations:
257 -
  //
258 -
  // "shieldmaster" - the Fortified Stronghold - will never attack, even if you
259 -
  // selected a defensive Stance
260 308
261 309
  private static Map<String, Castle> imageToCastle = new HashMap<>();
262 310
  private static Map<String, Castle> descriptionToCastle = new HashMap<>();
@@ -295,10 +343,10 @@
Loading
295 343
296 344
  // You can upgrade four areas of your castle
297 345
  //
298 -
  // Each upgrade provides a reward at the end of your first game, depending on
299 -
  // the style you selected for the upgrade.
346 +
  // Each upgrade provides a reward at the end of your first game of the day,
347 +
  // depending on the style you selected for the upgrade.
300 348
  //
301 -
  // Each upgrade/style also provides a boost to specific attack/defense game stats
349 +
  // Each upgrade/style also provides a boost to specific attack/defense stats
302 350
  //
303 351
  // The Barbican is the fortified gateway.
304 352
  //    The reward is {Muscle, Mysticality, Moxie} substats
@@ -410,9 +458,9 @@
Loading
410 458
  // I experimented a lot transitioning between one upgrade and another and observing
411 459
  // how my stat bonuses changed.
412 460
  //
413 -
  // It turns out that those values depend on what the other upgrades happen to be;
414 -
  // the same upgrade swap might grant +1 or +2 Castle Attack, say, depending on which
415 -
  // other upgrades are in place.
461 +
  // It turns out that those values are not independent; the same upgrade swap
462 +
  // might grant +1 or +2 Castle Attack, say, depending on which other upgrades
463 +
  // are in place.
416 464
  //
417 465
  // There are three Styles for each of four Upgrades, so there are a total of 81 = (3 ^ 4)
418 466
  // configurations.
@@ -471,10 +519,11 @@
Loading
471 519
        int key = StringUtilities.parseInt(data[0]) - 1;
472 520
473 521
        if (styleSetToStats.containsKey(key)) {
522 +
          // Should be impossible.
474 523
          continue;
475 524
        }
476 525
477 -
        // Ignore the style names; they are for human use
526 +
        // Ignore the style names; they are for humans to read
478 527
        // String styleName1 = data[1];
479 528
        // String styleName2 = data[2];
480 529
        // String styleName3 = data[3];
@@ -498,7 +547,7 @@
Loading
498 547
    }
499 548
  }
500 549
501 -
  // Write data file: only for testing. Or for generating it the first time.
550 +
  // Write data file: for testing or for generating the first time.
502 551
503 552
  private static String generateStyleSetFields(int key) {
504 553
    Collection<Style> styleSet = keyToStyleSet(key);
@@ -536,8 +585,7 @@
Loading
536 585
    assert styleSetToStats.size() == 81;
537 586
  }
538 587
539 -
  // *** Cached state. This resets when you visit the Bastille Battalion
540 -
  // *** control rig
588 +
  // *** Cached state. Resets when you visit the Bastille Battalion control rig
541 589
542 590
  private static final Map<Upgrade, Style> currentStyles = new TreeMap<>();
543 591
  private static Stats currentStats = new Stats();
@@ -546,18 +594,19 @@
Loading
546 594
547 595
  // *** Cheese
548 596
549 -
  // When you are in choice 1315, you can focus on offense, defense, or to seek
550 -
  // cheese.
597 +
  // When you are in choice 1314 - Bastille Battalion (Master of None) - you
598 +
  // can focus on offense or defense, or choose to seek cheese.
551 599
  //
552 600
  // If you select Cheese Seeking Behavior (choice 1319), you will be presented
553 -
  // with 3 different options out of a pool of 16 possibilities. You will have
554 -
  // a chance to do this twice before entering into a Battle with the
555 -
  // approaching castle, and the choices do not appear to recur - until the
556 -
  // next castle.
601 +
  // with 3 different options out of a pool of 16 possibilities. You can take
602 +
  // each option only once per game. Since you have 2 rounds of preparation and
603 +
  // up to 5 castles per game, if you do nothing except look for cheese, your
604 +
  // first prep round will offer 3 out of 16, the second, 3 out of 15, until
605 +
  // the 10th, which will offer 3 out of 7 options.
557 606
  //
558 607
  // The Wishing Well is useless if it occurs on the very first turn, since you
559 -
  // will not have the 10 cheese required to activate it. It may occur later
560 -
  // during the same turn, at most once.
608 +
  // will not have the 10 cheese required to activate it. If you skip it, like
609 +
  // all untaken options, it may be offered again later in the same game.
561 610
  //
562 611
  // The 16 possible Cheese Seeking encounters include these:
563 612
  //
@@ -570,9 +619,8 @@
Loading
570 619
  //
571 620
  // 3 that are not affected by a stat
572 621
  //
573 -
  // The Wishing Well does not appear to be affected by a stat, but either
574 -
  // gives you no cheese or about 300 cheese. This may be random or may be
575 -
  // affected by something I do not know about.
622 +
  // The Wishing Well is not affected by a stat, but either gives you no cheese
623 +
  // (2/3 chance) or about 300 cheese (1/3 chance).
576 624
  //
577 625
  // Other sources of cheese:
578 626
  //
@@ -661,23 +709,27 @@
Loading
661 709
662 710
  // *** Battle
663 711
664 -
  // One of the reasons I started this project was to collect data that could be analyzed to
665 -
  // understand how to do well at this game. The already released improved logging has made the game
666 -
  // play much more enjoyable, but I have been manually making observations and taking notes that
667 -
  // could much more usefully be recorded automatically.
712 +
  // One of the reasons I started this project was to collect data that could
713 +
  // be analyzed to understand how to do well at this game. The improved
714 +
  // logging makes the game play much more enjoyable, but the collected data
715 +
  // makes automated data analysis possible without manual data entry.
668 716
  //
669 -
  // Some observations so far:
717 +
  // Observations so far:
670 718
  //
671 -
  // Each kind of castle has particular strengths and weaknesses. There are six kinds of castle. I
672 -
  // believe that each is stronger in one of the six stats.
719 +
  // Each kind of castle has particular strengths and weaknesses. There are six
720 +
  // kinds of castle. Each appears to be stronger in one of the six stats.
673 721
  //
674 -
  // A "game" has 5 rounds. Your foes increase in power depending on which round you encounter them.
675 -
  // For example, if I attack castle type A on round one, my attack vs. his defense may be 3:0, but
676 -
  // on rounds 2 - 5, attack vs. defense may decrease to 2:1, 1:2, and eventually 0:3. Your rewards
677 -
  // for beating a foe go up correspondingly to the difficulty.
722 +
  // A "game" has 5 rounds. Your foes increase in power depending on which
723 +
  // round you encounter them.  For example, if I attack castle type A on round
724 +
  // one, my attack vs. his defense may be 3:0, but on rounds 2 - 5, attack
725 +
  // vs. defense may decrease to 2:1, 1:2, and eventually 0:3. Your cheese
726 +
  // reward for beating a foe go up correspondingly to the difficulty.
678 727
  //
679 -
  // The role of "stance" is unclear: none of offense, bide, and defense guarantees that you will be
680 -
  // the aggressor or the defender.
728 +
  // Depending on your stat configuration, you will have to depend on offense
729 +
  // or defense (i.e., which stance you select) to even have a chance against
730 +
  // higher difficulty castles. For a given stat configuration, some castles
731 +
  // will be unbeatable at higher levels - and to get the highest scores, you
732 +
  // have to be lucky enough to get one of the castles you CAN beat.
681 733
682 734
  // *** Stances
683 735
@@ -689,6 +741,19 @@
Loading
689 741
  //
690 742
  // In a battle, either (all of) your Attack stats are compared to your foe's
691 743
  // Defense stats, or vice versa.
744 +
  //
745 +
  // Observations collected from 4308 battles as of 2022/06/20:
746 +
  //
747 +
  // "offensive" stance (901): 80% aggressor/20% defender
748 +
  // "waiting" stance (1586): 50% aggressor/50% defender
749 +
  // "defensive" stance (1821): 20% aggressor/80% defender
750 +
  //
751 +
  // With an "offensive" stance (80% of the time):
752 +
  // You charge toward your enemy.
753 +
  //
754 +
  // With a "defensive" stance (20% of the time):
755 +
  // You squat and wait for the attack, but it never comes. You sigh, uproot yourself, and attack
756 +
  // them.
692 757
693 758
  private static final Map<Integer, Stance> optionToStance = new HashMap<>();
694 759
@@ -712,9 +777,9 @@
Loading
712 777
713 778
  // *** Results
714 779
715 -
  // Your Stance may indicate your desire to attack vs. defend, but it's not entirely up to you.
716 -
  // Even if you charge in, your foe may attack first. Even if you try to defend, you may end up
717 -
  // attacking first.
780 +
  // Your Stance indicates your desire to attack vs. defend, but it's not
781 +
  // entirely up to you.  Even if you charge in, your foe may attack
782 +
  // first. Even if you try to defend, you may end up attacking first.
718 783
  //
719 784
  // The aggressor's attacks are compared against the defender's defense.
720 785
  // You can win from 0 to 3 of these comparisons.
@@ -1357,9 +1422,9 @@
Loading
1357 1422
      case 1316: // GAME OVER
1358 1423
        return;
1359 1424
1360 -
      case 1319: // Cheese Seeking Behavior
1361 1425
      case 1317: // A Hello to Arms (Battalion)
1362 1426
      case 1318: // Defensive Posturing
1427 +
      case 1319: // Cheese Seeking Behavior
1363 1428
        collectCheese(text);
1364 1429
        if (!parseTurn(text)) {
1365 1430
          nextTurn();
@@ -1454,7 +1519,7 @@
Loading
1454 1519
  // data to be automatically saved to a file in a format which can be read by
1455 1520
  // an analysis script via file_to_map().
1456 1521
  //
1457 -
  // This is the proposed format.
1522 +
  // This is the format.
1458 1523
  //
1459 1524
  // The file is a tab delimited file in "data" named Bastille.battles.txt
1460 1525
  //
@@ -1470,8 +1535,8 @@
Loading
1470 1535
  //     int number;         // Affects strength of enemy
1471 1536
  //     int [6] stats;      // MA/MD/CA/CD/PA/PD
1472 1537
  //     string boosts;      // MCP
1473 -
  //     string enemy;       // frenchcastle,masterofnone,bigcastle,
1474 -
  //                         // berserker,shieldmaster,barracks
1538 +
  //     string enemy;       // {frenchcastle,masterofnone,bigcastle,
1539 +
  //                         // berserker,shieldmaster,barracks}
1475 1540
  //     string stance;      // {offensive,waiting,defensive}
1476 1541
  //     boolean aggressor;  // as opposed to defender
1477 1542
  //     boolean military;   // true if won

Learn more Showing 2 files with coverage changes found.

Changes in src/net/sourceforge/kolmafia/textui/langserver/Script.java
-3
+1
+2
Loading file...
Changes in src/net/sourceforge/kolmafia/persistence/HolidayDatabase.java
New
Loading file...
Files Complexity Coverage
src/net/sourceforge/kolmafia 20.33% -<.01% 25.44%
Project Totals (1019 files) 20.33% 25.44%
Loading