menuentryswapper: Prefer last-destination on Zanaris fairy ring

This commit is contained in:
Jordan Atwood
2020-07-29 21:05:00 -07:00
committed by Adam
parent 1ec38b8906
commit c9ef18b55e
2 changed files with 32 additions and 1 deletions

View File

@@ -232,12 +232,14 @@ public class MenuEntrySwapperPlugin extends Plugin
swap("view", "add-house", () -> config.swapHouseAdvertisement() == HouseAdvertisementMode.ADD_HOUSE);
swap("view", "visit-last", () -> config.swapHouseAdvertisement() == HouseAdvertisementMode.VISIT_LAST);
for (String option : new String[]{"zanaris", "configure", "tree"})
for (String option : new String[]{"zanaris", "tree"})
{
swapContains(option, alwaysTrue(), "last-destination", () -> config.swapFairyRing() == FairyRingMode.LAST_DESTINATION);
swapContains(option, alwaysTrue(), "configure", () -> config.swapFairyRing() == FairyRingMode.CONFIGURE);
}
swapContains("configure", alwaysTrue(), "last-destination", () ->
config.swapFairyRing() == FairyRingMode.LAST_DESTINATION || config.swapFairyRing() == FairyRingMode.ZANARIS);
swapContains("tree", alwaysTrue(), "zanaris", () -> config.swapFairyRing() == FairyRingMode.ZANARIS);
swap("check", "reset", config::swapBoxTrap);

View File

@@ -398,4 +398,33 @@ public class MenuEntrySwapperPluginTest
menu("Empty", "Redwood birdhouse", MenuAction.GAME_OBJECT_THIRD_OPTION),
}, argumentCaptor.getValue());
}
@Test
public void testZanarisFairyRing()
{
when(config.swapFairyRing()).thenReturn(FairyRingMode.ZANARIS);
entries = new MenuEntry[]{
menu("Cancel", "", MenuAction.CANCEL),
menu("Examine", "Fairy ring", MenuAction.EXAMINE_OBJECT),
menu("Walk here", "", MenuAction.WALK),
menu("Last-destination (AIQ)", "Fairy ring", MenuAction.GAME_OBJECT_SECOND_OPTION),
menu("Configure", "Fairy ring", MenuAction.GAME_OBJECT_FIRST_OPTION),
};
menuEntrySwapperPlugin.onClientTick(new ClientTick());
ArgumentCaptor<MenuEntry[]> argumentCaptor = ArgumentCaptor.forClass(MenuEntry[].class);
verify(client).setMenuEntries(argumentCaptor.capture());
assertArrayEquals(new MenuEntry[]{
menu("Cancel", "", MenuAction.CANCEL),
menu("Examine", "Fairy ring", MenuAction.EXAMINE_OBJECT),
menu("Walk here", "", MenuAction.WALK),
menu("Configure", "Fairy ring", MenuAction.GAME_OBJECT_FIRST_OPTION),
menu("Last-destination (AIQ)", "Fairy ring", MenuAction.GAME_OBJECT_SECOND_OPTION),
}, argumentCaptor.getValue());
}
}