The Kalkin's strategy looks roughly like this:
{
name: 'VictoryDance-SHIGH' # by Samuel Kalkin
author: 'norkbes'
requires: ['Scout','Ironworks','Masquerade','Great Hall','Harem',"Pawn","Upgrade","Nobles","Bridge","Duke"]
gainPriority: (state, my) -> [
"Masquerade" if my.getAvailableMoney() < 4 and my.countInDeck("Masquerade") < 1
"Ironworks" if my.countInDeck("Ironworks") < 1
"Great Hall" if my.countInHand("Ironworks") > 0 and my.countInDeck("Silver") < 2 and my.countInDeck("Harem") < 1 and my.countInDeck("Scout") > 0
"Scout" if my.countInDeck("Scout") < 2
"Silver" if my.countInDeck("Silver") < 2
"Province"
"Harem"
"Great Hall"
"Duchy"
"Estate" if state.countInSupply("Great Hall") == 0
null
]
trashPriority: (state, my) -> [
"Curse"
"Pawn" if my.countInHand("Pawn") > 1
"Ironworks" if state.countInSupply("Great Hall") == 0
"Estate" if state.gainsToEndGame() > 5
"Copper" if my.getAvailableMoney() > 6 or state.countInSupply("Harem") == 0
null
]
playPriority: (state, my) -> [
"Scout"
"Great Hall"
"Ironworks"
"Masquerade"
]
putOnDeckPriority: (state, my) -> [
"Gold"
"Silver"
"Copper"
"Scout"
"Ironworks"
"Masquerade"
]
}
One difficulty with implementing it properly in Dominiate is that there are many things you need to take about, e.g. trash or not trash with Masquerade, if trash: choose Estate or Copper, etc. Another tricky thing is how to optimally choose non-victory cards put on deck by Scout.. Anyway, it looks that the strategy above basically corresponds what Samuel had in mind.
One sad thing is that while VictoryDance-SHIGH strategy wins with BigMoney, it fails to do so with VictoryDance-GH or VictoryDance-PUB. Anyway it was good/beneficial to me to see how naugty might be a naughty interplay between both Scouts and Harems.
To sum up, so far at least four strategies seems to work for this kingdom: big money, Ironworks-Duke-Duches, Duke-Duches-Pawn-Upgrade-Bridge, and so far the weakest but nonetheless promising (I guess you always can tweak it somehow) Kalkin's Scout-Harem-Great Hall-Ironworks.