Skip to content

Commit 049ecec

Browse files
committed
support customizing relative priorities of army presets used for farming
In case the settings prompt contains multiple instances of `farm-army-preset-pattern`, order the selected army presets in the same order.
1 parent 4a204b2 commit 049ecec

File tree

1 file changed

+12
-9
lines changed
  • implement/applications/tribal-wars-2/tribal-wars-2-farmbot

1 file changed

+12
-9
lines changed

implement/applications/tribal-wars-2/tribal-wars-2-farmbot/Bot.elm

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{- Tribal Wars 2 farmbot version 2025-05-27
1+
{- Tribal Wars 2 farmbot version 2025-05-28
22
33
This bot farms barbarian villages in Tribal Wars 2.
44
It automatically detects barbarian villages, available troops and configured army presets to attack.
@@ -166,7 +166,9 @@ parseBotSettings =
166166
, valueParser =
167167
PromptParser.valueTypeString
168168
(\presetPattern settings ->
169-
{ settings | farmArmyPresetPatterns = presetPattern :: settings.farmArmyPresetPatterns }
169+
{ settings
170+
| farmArmyPresetPatterns = List.concat [ settings.farmArmyPresetPatterns, [ presetPattern ] ]
171+
}
170172
)
171173
}
172174
)
@@ -1924,16 +1926,17 @@ pickBestMatchingArmyPresetForVillage settings presets ( villageId, villageDetail
19241926

19251927
matchingFarmPresets : List ArmyPreset
19261928
matchingFarmPresets =
1927-
presets
1928-
|> List.filter
1929-
(\preset ->
1930-
farmArmyPresetPatterns
1931-
|> List.any
1932-
(\presetFilter ->
1929+
farmArmyPresetPatterns
1930+
|> List.concatMap
1931+
(\presetFilter ->
1932+
presets
1933+
|> List.filter
1934+
(\preset ->
19331935
stringContainsIgnoringCase presetFilter preset.name
19341936
)
1937+
|> List.sortBy (.name >> String.toLower)
19351938
)
1936-
|> List.sortBy (.name >> String.toLower)
1939+
|> Common.Basics.listUnique
19371940
in
19381941
case matchingFarmPresets of
19391942
[] ->

0 commit comments

Comments
 (0)