<script>
// import declarations
import Building from './Building.svelte';
import Upgrade from './Upgrade.svelte';
import { money, proofs, firstDerivativeNum, firstDerivativeBoughtNum, secondDerivativeNum, secondDerivativeBoughtNum, combinatoricsNum, combinatoricsBoughtNum, probabilityNum, probabilityBoughtNum, firstRowUpgradeBoughtNum, secondRowUpgradeBoughtNum } from './store.js';
import { currencyToString } from './utils.js';
// variable declarations
let firstTierUpgradeBonusPerBuilding = 0.25;
let secondTierUpgradeBonusPerBuilding = 1;
// reactive declarations
$: firstTierBuildingBought = $firstDerivativeBoughtNum + $combinatoricsBoughtNum;
$: secondTierBuildingBought = $secondDerivativeBoughtNum + $probabilityBoughtNum;
$: firstTierBuildingUpgradeBonus = (firstTierBuildingBought * firstTierUpgradeBonusPerBuilding) * $firstRowUpgradeBoughtNum;
$: secondTierBuildingUpgradeBonus = (secondTierBuildingBought * secondTierUpgradeBonusPerBuilding) * $secondRowUpgradeBoughtNum;
// function declarations
// lifecycle functions
</script>
<style>
</style>
<h1>You have {$money}{currencyToString(money)} and {$proofs}{currencyToString(proofs)}!</h1>
<div>
<Building name="1th Derivative" numberOfBuilding={firstDerivativeNum} numberOfBuildingBought={firstDerivativeBoughtNum} upgradeBonus={firstTierBuildingUpgradeBonus}></Building>
<Building name="Combinatorics" currencyProduced={proofs} numberOfBuilding={combinatoricsNum} numberOfBuildingBought={combinatoricsBoughtNum} upgradeBonus={firstTierBuildingUpgradeBonus}></Building>
</div>
<div>
<Building name="2nde Derivative" currencyProduced={firstDerivativeNum} numberOfBuilding={secondDerivativeNum} numberOfBuildingBought={secondDerivativeBoughtNum} upgradeBonus={secondTierBuildingUpgradeBonus}></Building>
<Building name="Probability" currencyProduced={combinatoricsNum} numberOfBuilding={probabilityNum} numberOfBuildingBought={probabilityBoughtNum} upgradeBonus={secondTierBuildingUpgradeBonus}></Building>
</div>