Simulator script for Caravan/Loan/Oasis/Expand that is 'competitive' with treasure based scripts.
<player name="Caravan/loan"
author="DG"
description="">
<type name="TwoPlayer"/>
<type name="Province"/>
<type name="UserCreated"/>
<type name="Bot"/>
<buy name="Expand">
<condition>
<left type="countCardsInDeck" attribute="Expand"/>
<operator type="equalTo" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Province">
<condition>
<left type="countCardsInDeck" attribute="Province"/>
<operator type="greaterThan" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Province">
<condition>
<left type="countCardsInDeck" attribute="Gold"/>
<operator type="greaterThan" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Duchy">
<condition>
<left type="countCardsInSupply" attribute="Province"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="5.0"/>
</condition>
</buy>
<buy name="Estate">
<condition>
<left type="countCardsInSupply" attribute="Province"/>
<operator type="smallerOrEqualThan" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Gold"/>
<buy name="Duchy">
<condition>
<left type="isActionPhase"/>
<operator type="equalTo" />
<right type="constant" attribute="1.0"/>
</condition>
<condition>
<left type="countCardsInDeck" attribute="Estate"/>
<operator type="smallerThan" />
<right type="constant" attribute="2.0"/>
</condition>
</buy>
<buy name="Oasis">
<condition>
<left type="countCardsInDeck" attribute="Oasis"/>
<operator type="smallerThan" />
<right type="constant" attribute="2.0"/>
</condition>
<condition>
<left type="countCardsInDeck" attribute="Caravan"/>
<operator type="greaterThan" />
<right type="constant" attribute="2.0"/>
</condition>
<condition>
<left type="countCardsInDeck" attribute="Gold"/>
<operator type="equalTo" />
<right type="constant" attribute="0.0"/>
</condition>
</buy>
<buy name="Silver">
<condition>
<left type="getTotalMoney"/>
<operator type="smallerThan" />
<right type="constant" attribute="6.0"/>
</condition>
</buy>
<buy name="Caravan"/>
<buy name="Loan">
<condition>
<left type="countCardsInDeck" attribute="Loan"/>
<operator type="equalTo" />
<right type="constant" attribute="0.0"/>
</condition>
<condition>
<left type="countCardsInDeck" attribute="Copper"/>
<operator type="greaterThan" />
<right type="constant" attribute="3.0"/>
</condition>
</buy>
<buy name="Oasis">
<condition>
<left type="countCardsInDeck" attribute="Oasis"/>
<operator type="smallerThan" />
<right type="constant" attribute="3.0"/>
</condition>
</buy>
<buy name="Silver"/>
</player>